我使用的是最新的TomCat版本,最近我安装了Eclipse版本,所以它也是最新版本。顺便说一句,我确实有JAVA (JDK)的最新版本。
这是我的课:
package jsp.demo;
public class ClassForJSP {
public static String lowerCase(String data) {
return data.toLowerCase();
}
}这是我非常简单的jsp代码:
<%@page import="jsp.demo.ClassForJSP"%>
<html>
<body>
Let's make THIS STATEMENT lower case: <%= ClassForJSP.lowerCase("THIS STATEMENT") %>
</body>
</html>我得到了一个错误:
类型异常报告 无法为JSP编译类的消息: 描述服务器遇到的意外情况,使其无法完成请求。 异常org.apache.jasper.JasperException:无法为JSP编译类: 生成的java文件:d:\ Projects.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jspdemo\org\apache\jsp\callJavaClass_jsp.java中的一行: 14出现了一个错误,只能导入一个类型。jsp.demo.ClassForJSP解析为包 在jsp文件中的一行:4处发生了一个错误:无法解析1:<%@page import="jsp.demo.ClassForJSP"%> 2: 3: 4:让我们把这个语句小写:<%= ClassForJSP.lowerCase("THIS语句“) %> 5: 6: Stacktrace: import= org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:473) org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 注意,根本原因的完整堆栈跟踪在服务器日志中可用。 Apache Tomcat/9.0.14
发布于 2019-01-24 03:30:45
这一信息表明:
Only a type can be imported. jsp.demo.ClassForJSP resolves to a packageJava类的源代码表明包是jsp.demo。但是在运行时,JSP编译器已经找到了一个包(即类路径上的一个目录),它的名称是jsp.demo.ClassForJSP。
很明显,类路径有问题.JSP编译器发出了一个红旗。
怎么会这样?
你需要自己看看所有这些可能性。
https://stackoverflow.com/questions/54338873
复制相似问题