我在 MyEclipse 中创建了一个 EE 项目。
我在“WebRoot”下有一个 jsp 文件,它包含以下几行:
<%@ page language="java" import="java.util.*,java.sql.*,com.sp.model.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
String username=request.getParameter("username");
String password=request.getParameter("passwd");
UserBeanCL ubc=new UserBeanCL();
%>
...
我还在 MyEclipse 的“src”下创建了一个名为 com.sp.model 的包。从上面 JSP 代码的第一行可以看出,我已经使用 import 语句导入了该包。UserBeanCL 只是一个普通的 JAVA 类坐在那个包裹下,没什么特别的。MyEclipse 中的一切看起来都不错。它确实找到了包和 UserBeanCL 类。
但是,在我将整个站点部署到 Tomcat 并尝试在浏览器中运行此 JSP 后,它总是会出错并抱怨以下行:
UserBeanCL ubc=new UserBeanCL();
错误类似于:“UserBeanCL 无法解析为类型”。堆栈跟踪是:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
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)
这个错误让我很困惑,因为它只在部署后出现。专家能帮我调试一下吗?提前致谢。