HTTP 状态 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/21108105/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
提问by Fischmaster3001
I made a JSP-Project in Eclipse (with Tomcat 7) but when I run the page, i get an ClassnotFoundExcption.
我在 Eclipse(使用 Tomcat 7)中创建了一个 JSP 项目,但是当我运行该页面时,我得到一个 ClassnotFoundExcption。
in my Project i work with Controllers to bind Data to the JSp with , i have a Controller, a Service and a Data-Object -> dbChanges
在我的项目中,我使用控制器将数据绑定到 JSp,我有一个控制器、一个服务和一个数据对象 -> dbChanges
I hava already "google'd" my Question and didnt find anything.
我已经“谷歌”了我的问题,但没有找到任何东西。
PS: Sorry for bad English, i tried my best
PS:抱歉英语不好,我尽力了
HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
--------------------------------------------------------------------------------
type Exception report
message java.lang.ClassNotFoundException: org.apache.jsp.dbChanges.index_jsp
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.dbChanges.index_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.ClassNotFoundException: org.apache.jsp.dbChanges.index_jsp
java.net.URLClassLoader.run(URLClassLoader.java:366)
java.net.URLClassLoader.run(URLClassLoader.java:355)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:354)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.30 logs.
--------------------------------------------------------------------------------
Apache Tomcat/7.0.30
Apache Log
阿帕奇日志
Jan 14, 2014 11:33:07 AM org.apache.catalina.core.StandardWrapperValve invoke
Schwerwiegend: Servlet.service() for servlet [jsp] in context with path [/dbChanges] threw exception [java.lang.ClassNotFoundException: org.apache.jsp.index_jsp] with root cause
java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
at java.net.URLClassLoader.run(URLClassLoader.java:366)
at java.net.URLClassLoader.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132)
at org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
web.xml
网页.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>dbChanges</display-name>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
<jsp-config>
<taglib>
<taglib-uri>http://www.springframework.org/tags/form</taglib-uri>
<taglib-location>/META-INF/spring-form.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/META-INF/c.tld</taglib-location>
</taglib>
</jsp-config>
<context-param>
<param-name>enableSessionManager</param-name>
<param-value>false</param-value>
</context-param>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>403</error-code>
<location>/errors/403.html</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/errors/404.html</location>
</error-page>
<!-- <error-page>
<error-code>500</error-code>
<location>/errors/500.html</location>
</error-page> -->
</web-app>
If you need mor Informations (Files etc.), just say it.
如果您需要更多信息(文件等),请说出来。
I hope you can help me. Obsidianfarmer
我希望你能帮助我。黑曜石农夫
回答by ug_
I had this problem because in the eclipse configuration I had the JDK folder (jdk1.6.0_45
) set as the JRE location. Instead it should have been set to jre6
in my "Installed JREs" preferences.
我遇到这个问题是因为在 eclipse 配置中我将 JDK 文件夹 ( jdk1.6.0_45
) 设置为 JRE 位置。相反,它应该jre6
在我的“已安装的 JRE”首选项中设置为。
回答by rexxar
For Java-EE projects converted to Maven project with jstl dependencyin pom.xml
:
In my case, I needed to add Maven dependencies to the build path
对于Java-EE项目转化为Maven项目与JSTL依赖于pom.xml
:对我来说,我需要Maven依赖添加到构建路径
Walkthrough:
演练:
- right click the project in question
- open Properties
- click on Deployment Assembly
- click Add
- select Java Build Path Entries
- select Maven dependencies
- 右键单击有问题的项目
- 打开属性
- 单击部署程序集
- 点击添加
- 选择 Java 构建路径条目
- 选择 Maven 依赖项
Update: also check your Execution enviroment && Workspace JREare correctly setup.
更新:还要检查您的执行环境 && Workspace JRE是否正确设置。
回答by Hasan
1.Open command prompt using "Run as administrator" or using sudo in Linux
1.使用“以管理员身份运行”或在Linux中使用sudo打开命令提示符
- Go to the "bin" directory of Tomcat folder. for example: cd C:\Program Files\Apache Software Foundation\Apache Tomcat 8.0.15\bin
- 转到Tomcat文件夹的“bin”目录。例如:cd C:\Program Files\Apache Software Foundation\Apache Tomcat 8.0.15\bin
Note the version number and the accurate Location.
注意版本号和准确的位置。
Run 'startup.bat' and the Server should start
Open a web browser entered http://localhost:8080/
If the server runns without exceptions, this means that you must give eclipse administrative privileges.
运行“startup.bat”,服务器应该启动
打开网页浏览器输入http://localhost:8080/
如果服务器无异常地运行,这意味着您必须授予 eclipse 管理权限。
to do that you can visit: Windows 7 - Eclipse now needs me to run as administratoror https://askubuntu.com/questions/249098/how-do-i-run-eclipse-as-sudo
为此,您可以访问:Windows 7 - Eclipse 现在需要我以管理员身份运行或https://askubuntu.com/questions/249098/how-do-i-run-eclipse-as-sudo