jsp的一个登入的问题(高分求助)

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:47:33
我按书上,写了一个jsp登入的程序,但是就总是出错,具体就是每次确定之后就跳转到了error.jsp,不能正常的登陆,一下是javabean的代码:
package login;
import java.sql.*;
public class UserBean {
private String username;
private String password;

public void setUsername(String _username) {
this.username=_username;
}
public String getUsername(){
return this.username;
}
public void setPassword(String _password) {
this.password=_password;
}
public String getPassword(){
return this.password;
}

public boolean checklogin(){
boolean loginflag=false;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

try{
Class.forName("org.gjt.mm.mysql.Driver");
con=DriverManager.getConnection("jdbc.mysql://localhost:3306/login","root","709394");
stmt=con.createStatement();
String sql="select * from user where username='"+username+

一般SQL语句我都是这样写的:
String sql="select * from user where username='"+username+"' and password='"+password+"'";
如果结果集不为空证明验证成功,如果为空,验证失败。驱动一般载入"com.mysql.jdbc.Driver"。
另外采用这种方法的话经常会出现错误(在字符串的连接上),推荐使用PreparedStatement。

不建议把上面代码写在一起,可以分开来
set和get方法的写在 UserInfo.java
链接数据库判断那边写在 UserBean.java

UserBean.java 写个带参数的方法,把ID传递进去,你可以写个main方法调式一下,看能否运行,然后再到JSP页面去调用就可以了

在你的JSP页面中调用了UserBean这个类以后,调用checklogin()函数,不是有返回的吗?设置一个boolean变量.代码如下
<jsp:useBean id="userLogin" Class="***.class" scopre="session">
<%
boolean login=userLogin.checklogin();
if(login)
{
//跳转到登入以后的画面

}
else
{
//response.redirect("本页面名.jsp");

}

%>

String sql="select * from user where username='"+username+"' and password='"+password+"'";
这种