【问题标题】:JSP file not getting loaded in TomcatJSP 文件未在 Tomcat 中加载
【发布时间】:2015-12-21 05:58:33
【问题描述】:

我有一个项目,在 pages 文件夹中包含一个 index.jsp 页面以及一些 javascript 库和代码。我将它们捆绑到一个 WAR 中并将其部署在 CentOS 系统中。但是当我尝试访问它时,我得到了错误。错误交替出现

HTTP Status 404 - /Project/pages/index.jsp
type: Status report
message: /Project/pages/index.jsp
description: The requested resource is not available.

HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.pages.index_jsp
type: Exception report
message: java.lang.ClassNotFoundException: org.apache.jsp.pages.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.pages.index_jsp
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause

java.lang.ClassNotFoundException: org.apache.jsp.pages.index_jsp
    java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    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:376)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

我在本地机器上部署它没有问题。

编辑:配置

Using CATALINA_BASE:   /usr/share/tomcat
Using CATALINA_HOME:   /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:    /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar

这是CentOS中tomcat的配置。 我的localmachine有同样的配置,除了Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home

【问题讨论】:

    标签: jsp tomcat tomcat7


    【解决方案1】:

    请重新检查以下步骤:

    1. tomcat 是否使用 JRE_HOME 设置为 JRE 文件夹,而不是 JDK 位置?
    2. 您的 tomcat 类路径是否包含 jsp-api.jar?

    如果上述步骤正确,请提供更多信息,您的项目使用什么样的框架等。

    【讨论】:

    • 我已经为问题添加了配置。是因为JRE_HOME 指向不同的东西吗?
    • @ak31 是的,您需要指定 jre_home,您可以在 setenv.sh 文件示例中指定 JRE_HOME=/usr/java/jdk1.7.0_03/jre
    • 您可以参考以下链接以更好地了解tomcat的JRE_HOME配置:stackoverflow.com/questions/11120279/…
    猜你喜欢
    • 2017-08-22
    • 1970-01-01
    • 2015-06-15
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多