首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

The value for the useBean class attribute Register is invalid,该怎么解决

2013-09-11 
The value for the useBean class attribute Register is invalidRegister.java:package bookimport java

The value for the useBean class attribute Register is invalid
Register.java:
package book;

import java.sql.*;
public class Register
{ String logname,
realname,
password,
email,
phone,
address;
String message;
Connection con;
Statement sql;
ResultSet rs;
 Register()
{ // 加载桥接器:
try{Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){}
}
// 设置属性值、获取属性值的方法:
public void setLogname(String name)
{ logname=name;
}

public String getLogname()
{return logname;
}
public void setRealname(String name)
{ realname=name;
}
public String getRealname()
{return realname;
}
public void setPassword(String pw)
{ password=pw;
}
public String getPassword()
{return password;
}
public void setEmail(String em)
{ email=em;
}
public String getEmail()
{return email;
}
public void setPhone(String ph)
{ phone=ph;

}
public String getPhone()
{return phone;
}
public void setAddress(String ad)
{ address=ad;
}
public String getAddress()
{return address;
}
public String getMessage()
{return message;
}
// 添加记录到数据库的user 表:
public void addItem()
{try{
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:shop", "scott", "aaa");
sql=con.createStatement();
String s=
"'"+logname+"'"+","+"'"+realname+"'"+","+"'"+password+"'"+","+"'"+
email+"'"+","+"'"+phone+"'"+","+"'"+address+"'";
String condition="INSERT INTO users VALUES"+"("+s+")";
sql.executeUpdate(condition);

message=" 注册成功了";
con.close();
}
catch(SQLException e)
{message=" 你还没有注册,或该用户已经存在,请你更换一个名字";
}
}
}


useRegister.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="book.Register" %>
<%! //处理字符串的方法:
public String codeString(String s)
{ String str=s;
try{byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
return str;
}
catch(Exception e)
{ return str;
}
}
%>

<HTML>
<BODY ><Font size=5>
<%@ include file="head.jsp" %>
<Font size=5>
<%String str=response.encodeURL("userRegister.jsp");
%>
<P>输入您的信息,带*号项必须填写:
<FORM action="<%=str%>" Method="post">
<BR>登录名称<Input type=text name="logname">*
554
<BR>真实姓名<Input type=text name="realname">*
<BR>设置密码<Input type=password name="password">*
<BR>电子邮件<Input type=text name="email">*
<BR>联系电话<Input type=text name="phone">*
<BR>通信地址<Input type=text name="address">*
<BR><Input type=submit name="g" value="提交">
</Form>
<jsp:useBean id="login" class="book.Register" scope="request" >
</jsp:useBean>
<% // 提交信息后,进行注册操作:
String logname="",realname="",password="",email="",phone="",address="";
if(!(session.isNew()))
{ logname=request.getParameter("logname");
if(logname==null)
{logname="";
}
logname=codeString(logname);
realname=request.getParameter("realname");
if(realname==null)
{realname="";
}
realname=codeString(realname);
password=request.getParameter("password");



if(password==null)
{password="";
}
password=codeString(password);
email=request.getParameter("email");
if(email==null)
{email="";
}
email=codeString(email);
phone=request.getParameter("phone");
if(phone==null)
{phone="";
}
phone=codeString(phone);
address=request.getParameter("address");
if(address==null)
{address="";
}
address=codeString(address);
}
%>
<% // 为了以后处理汉字方便,我们采用了第1 种方式初始化beans
if(!(logname.equals(""))&&!(address.equals(""))&&!(phone.equals(""))

&&!(realname.equals(""))&&!(password.equals("")))
{%>
<jsp:setProperty name= "login" property="logname"
value="<%=logname%>" />
<jsp:setProperty name= "login" property="realname"
value="<%=realname%>" />
<jsp:setProperty name= "login" property="password"
value="<%=password%>" />
<jsp:setProperty name= "login" property="email" value="<%=email%>"
/>
<jsp:setProperty name= "login" property="phone"
value="<%=phone%>" />
<jsp:setProperty name= "login" property="address"
value="<%=address%>" />
<%
login.addItem();
}
else
{out.print(" 你还没有填写信息,或信息填写不完整");
}
%>
<% // 返回注册信息
if(!(session.isNew()))

{
%>
<jsp:getProperty name= "login" property="message" />
<%
}
%>
</Body>
</HTML>




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: /userRegister.jsp(33,0) The value for the useBean class attribute Register 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:1217)
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:3383)
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:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
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.24 logs.
百度了一下,没有解决问题,我的class文件是放在web工程web-inf 的classes里面的

------解决方案--------------------


1.在编译JSP时(不是运行时),指定的Bean 类没找到
2.Bean虽然找到了,但是它不是 public的,或者找到的class文件是interface或抽象类 
3.Bean类中没有public 的默认构造函数

[解决办法]
Public Register()
{ // 加载桥接器:
try{Class.forName("oracle.jdbc.driver.OracleDriver");
}
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

热点排行