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;
}
}
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;
}
}
request不能这么定义的。..这样
request.getSession();
肯定报nullpointexpection
把HttpServletRequest request 作为一个参数这样写
public boolean check_login(HttpServletRequest request){
很明显,没有,request是jsp的九大内置对象之一,你在jsp页面当中可以使用
在你自己的bean里边,没有传递HttpServletRequest接口的对象,所以是不正确的。ok
才能用,
这个我也知道,个如果
public boolean check_login(HttpServletRequest request){ ..这样写的话boolean check_login就返回不了值了。我想把用户数据在登入的时候保存在SESSION中,遇到了这个问题。
或者你在前面jsp页面中使用sesion来保存