JavaBean的奇怪问题
完全相同的一个JavaBean测试文件
useBean.jsp内容如下:
<%@ page contentType="text/html; charset=gb2312" import="test.SimpleBean" %>
<HTML>
<HEAD>
<TITLE>Reusing JavaBeans in JSP</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLE BORDER=1>
<TR><TH>在JSP页面中重用JavaBeans组件</th></tr></TABLE>
</CENTER>
<P>
<jsp:useBean id="test" class="test.SimpleBean"/>
<jsp:setProperty name="test" property="message" value="welcome to use JavaBeans com"/>
<jsp:getProperty name="test" property="message"/>
</BODY>
</HTML>
其中SimpleBean.java内容如下:
package test;
public class SimpleBean{
private String message;
public String getMessage(){
return message;
}
public void setMessage(String mess){
message = mess;
}
}
在tomcat的webapps下有两个文件夹myjsp 及JSP
方式一
myjsp\useBean.jsp
myjsp\WEB-INF\classes\test\SimpleBean.java
myjsp\WEB-INF\classes\test\SimpleBean.class
方式二
JSP\02\useBean.jsp
JSP\02\WEB-INF\classes\test\SimpleBean.java
JSP\02\WEB-INF\classes\test\SimpleBean.class
在IE7.0地址栏输入 http://localhost:8888/myjsp/usebean.jsp 运行正确;
在IE7.0地址栏输入 http://localhost:8888/JSP/02/usebean.jsp 运行错误;
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description: The server encountered an internal error () that prevented it from fulfilling this request.
exception
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)
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)
root cause
java.lang.ClassNotFoundException: org.apache.jsp._02.usebean_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)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
为什么这样,是否是因为路径问题?