org.apache.jasper.JasperException: /web002/WebRoot/check.jsp(17,3) The value for the useBean class attribute bean.UserBean1 is invalid.
登录jsp
</body>
<form action="check.jsp" method="post">
用户名 :<input type="text" name="name"><br>
登录密码:<input type="password" name="password1"><br>
确认密码:<input type="password" name="password2"><br>
<input type="submit" value="登录"><input type="reset" value="重置">
</form>
</body>
判断的jsp<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@page import="bean.CheckBean" %>
<%request.setCharacterEncoding("GB2312"); %>
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'check.jsp' starting page</title>
</head>
<body>
<jsp:useBean id="user" class="bean.UserBean1" scope="session"/>
<jsp:setProperty name="user" property="*"/>
<%
CheckBean cb=new CheckBean(user);
if(cb.f())
{
%>
<jsp:forward page="welcom.jsp"/>
<%}else{ %>
<jsp:forward page="relogin.jsp"/>
<%} %>
</body>
</html>
登录jsp
</body>
<form action="check.jsp" method="post">
用户名 :<input type="text" name="name"><br>
登录密码:<input type="password" name="password1"><br>
确认密码:<input type="password" name="password2"><br>
<input type="submit" value="登录"><input type="reset" value="重置">
</form>
</body>
判断的jsp<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@page import="bean.CheckBean" %>
<%request.setCharacterEncoding("GB2312"); %>
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'check.jsp' starting page</title>
</head>
<body>
<jsp:useBean id="user" class="bean.UserBean1" scope="session"/>
<jsp:setProperty name="user" property="*"/>
<%
CheckBean cb=new CheckBean(user);
if(cb.f())
{
%>
<jsp:forward page="welcom.jsp"/>
<%}else{ %>
<jsp:forward page="relogin.jsp"/>
<%} %>
</body>
</html>
用set方法就行了。
这是UseBean1的
package bean;
public class UserBean1{
public UserBean1() {
}
private String name;
private String password1;
private String password2;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword1() {
return password1;
}
public void setPassword1(String password1) {
this.password1 = password1;
}
public String getPassword2() {
return password2;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
}
这是CheckBean的
package bean;import java.sql.*;
public class CheckBean{ private UserBean1 user;
public CheckBean() {
}
public CheckBean(UserBean1 user) {
this.user = user;
}
public boolean f() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{
Connection conn=null;
Statement stat=null;
ResultSet rs=null;
boolean bo=false;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url="jdbc:odbc:j2ee";
conn=DriverManager.getConnection(url,"vma82\\stud","");
stat=conn.createStatement();
String sql="select * from userinfo;";
rs=stat.executeQuery(sql);
while(rs.next()){
String name=user.getName();
String password1=user.getPassword1();
String password2=user.getPassword2();
if(rs.getString("name").equals(name)&&(rs.getString("password").equals(password1)&&rs.getString("password").equals(password2)))
{
bo=true;
}
else
{
bo= false;
}
}
if(rs!=null)
rs.close();
if(stat!=null)
stat.close();
if(conn!=null)
conn.close();
return bo;
}public UserBean1 getUser() {
return user;
}public void setUser(UserBean1 user) {
this.user = user;
}}
<jsp:setProperty name="user" property="*"/>
直接用set方法
<jsp:useBean id="user" class="bean.UserBean1" scope="session"/>
<%
String name=request.getParameter("name");
String password1=request.getParameter("password1");
String password2=request.getParameter("password2");user.setName(name)
user.setPassword1(password1)
user.setPassword2(password2)
%>
还是出现这个错误....
这个跟用setProperty有什么区别吗?