我在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)
这个错误令我感到困惑,因为它只在部署后出现。专家可以帮我调试哪里?提前致谢。
答案 0 :(得分:0)
使用:
<%@ page language="java" import="java.util.*,java.sql.*,com.sp.model.*" pageEncoding="ISO-8859-1"%>
问候;
答案 1 :(得分:0)
MyEclipse中的编辑器通常会为每种类型创建单独的import语句,如果你允许的话。也就是说,在您的情况下,将添加以下语句:
&lt;%page import =“com.sp.model.UserBeanCL”&gt;
我不确定这会有什么帮助,因为我无法复制您的问题,但如果您的控制台中的消息多于您发布的消息,则可能会有所帮助,因为主要原因可能是某些解析问题,这会显示在早期的控制台消息中。