我的beanTest.jsp放在D:\apache-tomcat-6.0.16\webapps\webDemo\jspPrinciple目录下,内容如下:
<%@ page contentType="text/html;charset=gb2312" language="java" %>
<html>
<head>
<title>javaBean测试</title>
</head>
<body>
<jsp:useBean id="p1" class="lee.Person" scope="page"/>
<jsp:setProperty name="p1" property="name" value="wawa"/>
<jsp:setProperty name="p1" property="age" value="23"/>
<jsp:getProperty name="p1" property="name" />
<jsp:getProperty name="p1" property="age" />
</body>
</html>
Person类放在:D:\apache-tomcat-6.0.16\webapps\webDemo\WEB-INF\src目录下,内容如下:
public class Person {
private String name;
private int age;
public void setName(String name) {
this.name=name;
}
public void setAge(int age) {
this.age=age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Person.class放在D:\apache-tomcat-6.0.16\webapps\webDemo\WEB-INF\classes\lee目录下。
运行时出现错误,找不到Person.class,请问怎么解决呢?

解决方案 »

  1.   

    Person.class应该放在D:\apache-tomcat-6.0.16\webapps\webDemo\WEB-INF\classes这个目录下吧。怎么会在lee下
      

  2.   

    那这句话:<jsp:useBean id="p1" class="lee.Person" scope="page"/>中class应该写什么内容呢?
      

  3.   

    你是不是在beanTest.jsp没有导入lee包  应加入<%@ page import="lee" %>
      

  4.   

    Person这个类没有包的嘛,在引用的时候应该不用加包名哈……感觉你这个结构有点问题,你最好在IDE下写好……
      

  5.   

    你是说把<jsp:useBean id="p1" class="lee.Person" scope="page"/>中的class改成"Person"吗?但还是会报错呀...
      

  6.   

    他说的是在Person这个类的代码最前面加上"package lee;" 如果没有加 请加上后重新编译再试
      

  7.   


    如果你把useBean中的lee.Person改为了Person 
    class文件还要放在classes根目录下才可以如果在useBean中还用lee.Person
    请在Person.java代码第一行加入"package lee;"然后重新编译 把class文件放在classes/lee目录下面
      

  8.   

    你说的第二种可以,但第一种不行,出错。就是不要包,然后class文件放classes根目录下,会出错,请问为什么呢?
      

  9.   

    你的class还是要在包下面三,路径的问题……你是在什么下面写的代码哦?比如你的Person在lee下那么你的class也必须在对应class文件夹下的lee下。还有你第一次没有加package lee;所以你的编译文件class中没有,肯定是找不到的哦……写的时候有包名的话,用的时候就是包名.类名……
      

  10.   

    在classes下加个lee目录,然后把你的class放到下面试试
      

  11.   

    你直接用eclispe建立工程自动放到tomcat下面了,调用javaBean也很方便,测试起来简单多了。