public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
String login_error = new String();
response.setContentType(CONTENT_TYPE);
String username = new String(ParameterUtils.getString(request,"UserName").getBytes("iso-8859-1"),"gbk");
String password = new String(ParameterUtils.getString(request,"Password").getBytes("iso-8859-1"),"gbk");
HttpSession httpsession = request.getSession();
SessionManager session = new SessionManager();
Factory factory = Factory.getInstance();
User user = factory.getUser();
UserFactory userfactory = factory.getUserFactory();
int state = userfactory.ChkUser(username,password);
if(state==1){
response.sendRedirect("index.jsp");
session.setSession(httpsession,"SignUp",user.getUsername());
}
else{
login_error = "<h3>请确认用户名和密码,T.T,<a href='login.jsp'><span>返回</span></a></h3>";
session.setSession(httpsession,"login_errors", login_error);
response.sendRedirect("login.jsp");
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doGet(request,response);
}-----------
方法
public int ChkUser(String username,String password){
int state = 0;
User user = Factory.getInstance().getUser();
user = this.List(username);
if(user != null){
if(password.equals(user.getPassword())){
state = 1;
}
else state = 0;
}else state = 0;
return state;
}没有报错,就是没有反应
String login_error = new String();
response.setContentType(CONTENT_TYPE);
String username = new String(ParameterUtils.getString(request,"UserName").getBytes("iso-8859-1"),"gbk");
String password = new String(ParameterUtils.getString(request,"Password").getBytes("iso-8859-1"),"gbk");
HttpSession httpsession = request.getSession();
SessionManager session = new SessionManager();
Factory factory = Factory.getInstance();
User user = factory.getUser();
UserFactory userfactory = factory.getUserFactory();
int state = userfactory.ChkUser(username,password);
if(state==1){
response.sendRedirect("index.jsp");
session.setSession(httpsession,"SignUp",user.getUsername());
}
else{
login_error = "<h3>请确认用户名和密码,T.T,<a href='login.jsp'><span>返回</span></a></h3>";
session.setSession(httpsession,"login_errors", login_error);
response.sendRedirect("login.jsp");
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
doGet(request,response);
}-----------
方法
public int ChkUser(String username,String password){
int state = 0;
User user = Factory.getInstance().getUser();
user = this.List(username);
if(user != null){
if(password.equals(user.getPassword())){
state = 1;
}
else state = 0;
}else state = 0;
return state;
}没有报错,就是没有反应
//判断是否提交到servlet
System.out.println("=============");
String login_error = new String();
response.setContentType(CONTENT_TYPE);
String username = new String(ParameterUtils.getString(request,"UserName").getBytes("iso-8859-1"),"gbk");
String password = new String(ParameterUtils.getString(request,"Password").getBytes("iso-8859-1"),"gbk");
HttpSession httpsession = request.getSession();
SessionManager session = new SessionManager();
sendRedirect方法,貌似,貌似代码里出现sendRedirect方法就直接跳转了
你用forward方法试试?
确定userFactory对象中有ChkUser方法
password.equals(user.getPassword())中的user.getPassword()取不到值。方法中的user = this.List(username)方法会检查一下用户是否存在,同时把值都封装起来。
public User List(String username) {
User user = Factory.getInstance().getUser();
String str ="select * from user_info where username ='"+username+"' ";
try{
DBConnect dbconnect = new DBConnect();
dbconnect.excuteQuery(str);
if(dbconnect.next()){
user = Factory.getInstance().getUser();
user.setUsername(dbconnect.getString(2));
user.setNickname(dbconnect.getString(3));
user.setSex(dbconnect.getString(4));
user.setPassword(dbconnect.getString(5));
user.setEmail(dbconnect.getString(6));
user.setQuestion(dbconnect.getString(7));
user.setAnswer(dbconnect.getString(8));
user.setRealname(dbconnect.getString(9));
user.setBirthday(dbconnect.getString(10));
user.setPhone(dbconnect.getString(11));
user.setAddress(dbconnect.getString(12));
user.setHomepage(dbconnect.getString(13));
user.setIdentity(dbconnect.getString(14));
user.setSelfshow(dbconnect.getString(16));
user.setIfAdmi(dbconnect.getInt(17));
}
dbconnect.close();
}catch(Exception e){e.printStackTrace();}
return user;
}user.getPassword()取不到值,什么问题?