JavaBean:User
public class User { public String name;
public int age; User(){

} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
}
}servlet:UserControlimport java.io.IOException;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserControl extends HttpServlet { @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
User user = new User();
user.setAge(age);
user.setName(name);

req.setAttribute("user", user);
req.getRequestDispatcher("/showUserMsg.jsp").forward(req, resp);
}
}<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="go.do" method="post" >
username: <input type="text"" name = "name"/><br/>
userage: <input type="text" name="age"/><br/><input type="submit" name="submit"  value="go">
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="user" scope="request" class="User"></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head><body>
<%=user.getAge() %><br>
</body>
</html><?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>userControl</servlet-name>
<servlet-class>UserControl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userControl</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>报错exception org.apache.jasper.JasperException: /showUserMsg.jsp(3,0) The value for the useBean class attribute User is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
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)
userControl.doPost(userControl.java:24)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
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.20 logs.求大侠帮忙啊!!!

解决方案 »

  1.   

    org.apache.jasper.JasperException: /showUserMsg.jsp(3,0) The value for the useBean class attribute User is invalid.把User放在某个package里面,然后,再
    <jsp:useBean id="user" scope="request" class="User"></jsp:useBean>
    --》》
    <jsp:useBean id="user" scope="request" class="你的包名.User"></jsp:useBean>
      

  2.   

    我试了还是不行!还是谢谢你们
    2010-4-16 18:44:17 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet userControl threw exception
    org.apache.jasper.JasperException: /showUserMsg.jsp(3,0) The value for the useBean class attribute bean.User is invalid.
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)....今天本来是复习的,却被这个问题搞了我一下午的时间
      

  3.   

    哈哈 我发现了原因,1.加个包名;2.我那个user的构造方法是范围默认的,即不是public的,所以要加上public。运行就ok了。
    还有一种该法,就是构造方法范围还是默认的,把<jsp:useBean> 里的class改为type同样能访问。谢谢大家
      

  4.   

    改为type可以访问default域的方法吗?如果是真的,那让我学习了!
      

  5.   

    servlet不支持裸体类,必须要有包