我是 JSP 新手。我正在尝试在 TOMCAT 服务器中运行 JSP 页面。
以下是我使用的步骤。
1).创建了以下 JSP 页面以显示当前日期。
<%@page contentType="text/html" import="java.util.*" %>
<html>
<body>
<p> </p>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing
="0" width="460" bgcolor="#EEFFCA">
<tr>
<td width="100%"><font size="6" color
="#008000"> Date Example</font></td>
</tr>
<tr>
<td width="100%"><b> Current Date
and time is: <font color="#FF0000">
<%= new java.util.Date() %>
</font></b></td>
</tr>
</table>
</center>
</div>
</body>
</html>
2) 在tomcat中的webapps(webapps/JSPSample/date.jsp)中以名称Date.jsp保存
3) 我还在 JSPSample 文件夹中创建了 WEB-INF 文件夹。在 WEB_INF 文件夹中,我使用以下代码放置了 web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>JSP test client</display-name>
<servlet>
<servlet-name>JSP Sample</servlet-name>
<display-name>JSP Sample</display-name>
<description>no description</description>
<jsp-file>/date.jsp</jsp-file>
</servlet>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
4) 文件夹结构如下
webapps
--JSPSample
----WEB-INF--web.xml
----date.jsp
5) 稍后,打开任何互联网浏览器并输入以下 URL
http://localhost:8080/JSPSample/date.jsp
尝试运行 JSP 文件时出现以下错误
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hp.sips.basic.container.impl.servlet.RestFilter.doFilter(RestFilter.java:67)
root cause
org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:620)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hp.sips.basic.container.impl.servlet.RestFilter.doFilter(RestFilter.java:67)
root cause
java.lang.ClassNotFoundException: org.apache.jsp.UIDesign_jsp
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:618)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hp.sips.basic.container.impl.servlet.RestFilter.doFilter(RestFilter.java:67)
刷新页面时也出现如下错误
exception
javax.servlet.ServletException: java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hp.sips.basic.container.impl.servlet.RestFilter.doFilter(RestFilter.java:67)
root cause
java.lang.NoSuchMethodError: org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/compiler/CategorizedProblem;
org.apache.jasper.compiler.JDTCompiler$2.acceptResult(JDTCompiler.java:370)
org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:335)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.hp.sips.basic.container.impl.servlet.RestFilter.doFilter(RestFilter.java:67)
最佳答案
我刚刚下载了 Tomcat 7 ,使用您的内容创建了文件 /webapps/JSPSample/date.jsp
和 /webapps/JSPSample/WEB-INF/web.xml
并且它刚刚工作。
这意味着问题出在您的环境(Tomcat 的安装方式、操作系统、IDE),而不是 Tomcat。
关于jsp - 在 Tomcat 服务器中运行 JSP 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8354586/