这几天一直被JavaBean弄到头大,不得不上网来求助有经验的帮助我一下,谢谢~~
以下是我的设置JavaBean的流程,请帮忙看看哪里出错了。1.[JavaBean文件]
public class MyBean {
public String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}
2.编译生成MyBean.class文件,把它放到\webapps\myapp\WEB-INF\classes下
3.编写测试文件Test.jsp,放到\webapps\myapp下
<%@ page import="MyBean" %>
<html>
<body>
<%
MyBean mb=new MyBean();
mb.setName("TestBean");
%>
The JavaBean's name:<%=mb.getName()%>
</body>
</html>
4.启动Tomcat,输入http://127.0.0.1:8080/myapp/test.jsp
5.错误信息
org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
The import MyBean cannot be resolved

解决方案 »

  1.   

    首先,对于JAVABEAN的要求应该是一个PUBLIC 的类;应该位于一个包下,例如package com.bean;还应该有一个PUBLIC的无参构造方法(非必须)。编译的时候建议使用JCREATOR工具。
    其次,在JSP页面上应该使用<jsp:usebean id="bean0" class="com.bean.你的BEAN的类名" scope="request"/>
    调用这个BEAN这样才能利用JSP页面调用JAVABEAN。
      

  2.   

    请问wsguang
    以下这两点都是必须的?不可缺少?JavaBean规范规定的?
    1.JavaBean修饰符必须是public?
    2.必须位于包下?我对JSP才刚刚了解,所以麻烦请解释一下~~~谢谢你的回答~~~
      

  3.   

    javaBean的设计规范:
    一个javaBean类必须是一个公共类 
    一个javaBean类必须有一个空的构造函数 
    一个javaBean类不应有公共实例变量 
    持有值应该通过一组存取方法(getXxx和setXxx)来访问你主要是缺少一个显示的空的构造函数 public MyBean(){}这样你的MyBean mb=new MyBean();才能起作用,对javabean的系统不会缺省的认为你有一个空的构造函数,如果你这个类在一般使用而非是jsp调用的化是一个正常、合法的类的
      

  4.   

    The JavaBean's name:TestBean
    终于打印出来了,为了这一行,弄得三四天……
    还好有大家帮助,不然真不知道调试到什么时候~~~~
    JSP真的很难调试,出问题也不知道到底是出现在哪里,给的提示信息又不怎么定位清楚~~~
    大家平时做项目调试JSP的时候都是怎样做的?全靠经验吗?还有一个问题,我刚刚那个问题为什么要加上package test语句才可以执行,之前没有加这一句不管怎么调试都是出现The import MyBean cannot be resolved到错误。JavaBean规定一定要有包到存在吗?
    在此再次谢谢帮助我的人:wsguang(),powerman_lyj(刘瑜江) ,trumplet(检查),you_jia(午后绿茶)