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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-13 06:37:36  来源:igfitidea点击:

HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp

javaeclipsejsptomcat

提问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 jre6in 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打开命令提示符

  1. Go to the "bin" directory of Tomcat folder. for example: cd C:\Program Files\Apache Software Foundation\Apache Tomcat 8.0.15\bin
  1. 转到Tomcat文件夹的“bin”目录。例如:cd C:\Program Files\Apache Software Foundation\Apache Tomcat 8.0.15\bin

Note the version number and the accurate Location.

注意版本号和准确的位置。

  1. Run 'startup.bat' and the Server should start

  2. Open a web browser entered http://localhost:8080/

  3. If the server runns without exceptions, this means that you must give eclipse administrative privileges.

  1. 运行“startup.bat”,服务器应该启动

  2. 打开网页浏览器输入http://localhost:8080/

  3. 如果服务器无异常地运行,这意味着您必须授予 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