海门新楼盘售价:使用JavaBean报错啦!(见问题补充)

来源:百度文库 编辑:高考问答 时间:2024/05/04 18:35:43
bean_test.jsp文件如下:
<jsp:useBean id="test" class="BeanTest"/>
<%
out.println(test.sayHello());
%>

BeanTest.java文件如下:
public class BeanTest
{
String message="Hello,world!";
public void BeanTest(){}
public String sayHello()
{
return message;
}
}

浏览器报错信息如下:
exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 0 in the jsp file: /bean_test.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\jsp\bean_test_jsp.java:41: cannot resolve symbol
symbol : class BeanTest
location: class org.apache.jsp.bean_test_jsp
BeanTest test = null;
^

An error occurred at line: 0 in the jsp file: /bean_test.jsp

Generated servlet error:
C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\jsp\bean_test_jsp.java:43: cannot resolve symbol
symbol : class BeanTest
location: class org.apache.jsp.bean_test_jsp
test = (BeanTest) pageContext.getAttribute("test", PageContext.PAGE_SCOPE);
^

An error occurred at line: 0 in the jsp file: /bean_test.jsp

Generated servlet error:
C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\jsp\bean_test_jsp.java:46: cannot resolve symbol
symbol : class BeanTest
location: class org.apache.jsp.bean_test_jsp
test = (BeanTest) java.beans.Beans.instantiate(this.getClass().getClassLoader(), "BeanTest");
^
3 errors

at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:248)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:315)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:427)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:142)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)

at 错误太长,未完!急啊!!
我已经放到web-inf\classes了,才报这样的错的。

BeanTest.java文件必须有一个包,在tomcat5.0以后必须建包才能用,
然后BeanTest.class放到web-inf\classes\'包名'\ 下,
然后在jsp页面下使用
<jsp:useBean id="test" class="'包名'.BeanTest"/>就可以了

把BeanTest.class放到web-inf\classes下

没找到bean,把BeanTest.class文件放到web-inf\classes下重启服务器就行了

没有<%@page import="BeanTest"%>

我认为你的BeanTest Bean写错了,应该把message设为private的!