package Bean;import java.sql.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;public class UserLogin{
private String username;
private String password;
private String user_username;
private String user_nickname;
        HttpServletRequest request;
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 check_login(){
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean loginflag = false;

try{
Class.forName(DBConfig.getInstance().getProperty("driver"));
con = DriverManager.getConnection(
DBConfig.getInstance().getProperty("url"),
DBConfig.getInstance().getProperty("username"),
DBConfig.getInstance().getProperty("password")
);
String sql = "select * from user_info where username = '"+username+"' ";
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
if(password.equals(rs.getString("password"))){
HttpSession session = request.getSession();
session.setAttribute(user_username,rs.getString("username"));
session.setAttribute(user_nickname,rs.getString("nickname"));
loginflag = true;
}
}
}catch(Exception sqlex1){
sqlex1.printStackTrace();
}finally{
if(con != null){
try{
rs.close();
stmt.close();
con.close();
}catch(Exception sqlex2){sqlex2.printStackTrace();}
}
}
return loginflag;
}

}

解决方案 »

  1.   

    HttpSession session = request.getSession(); 这里会报错,不知道这样写对不对.
      

  2.   

    HttpServletRequest request; 
    request不能这么定义的。..这样
    request.getSession(); 
    肯定报nullpointexpection
    把HttpServletRequest request 作为一个参数这样写
    public boolean check_login(HttpServletRequest request){ 
      

  3.   

    你的request这个对象,在哪,是通过传递参数,还是你的类里边的域?
    很明显,没有,request是jsp的九大内置对象之一,你在jsp页面当中可以使用
    在你自己的bean里边,没有传递HttpServletRequest接口的对象,所以是不正确的。ok
      

  4.   

    HttpSession session = request.getSession(true); 给个参数就行
      

  5.   

    要想用request和session 该类要继承自 HttpServlet
    才能用,
      

  6.   


    这个我也知道,个如果
    public boolean check_login(HttpServletRequest request){ ..这样写的话boolean check_login就返回不了值了。我想把用户数据在登入的时候保存在SESSION中,遇到了这个问题。
      

  7.   

    呵呵,对的,上面的朋友说的对或者你的类是继承HttpServlet
    或者你在前面jsp页面中使用sesion来保存