自制了一个小系统,但是登陆后,修改密码却出现了问题。
使用修改后的密码会提示用户名或者密码错误,使用修改前的密码居然提示登录成功
但是无法进入主页..
数据库的密码是修改后的密码
修改后的密码重启tomcat都登录不了。。
登陆的AJAX代码
function login(){
var userid = document.getElementById("userid").value;
var password=document.getElementById("password").value;
if(userid==""){
document.getElementById("loginfailed").innerHTML = "<font color='red'>请填写用户ID</font>";
}
else if(password=="") {
document.getElementById("loginfailed").innerHTML = "<font color='red'>请填写密码</font>";
}
else{
var xhr = ajaxFunction();
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
if(xhr.status==200){
var data = xhr.responseText; //获取文本
if(userid!=""){
alert(data);
if(data=="1"){
document.getElementById("loginform").submit();
document.getElementById("loginfailed").innerHTML = "登录成功";
}else{
document.getElementById("loginfailed").innerHTML = "<font color='red'>用户名或者密码错误</font>";
}
}
}
}
}
xhr.open("get","userloginAction?userid="+userid+"&password="+password,true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send();
}
}`
action代码,里面的控制台输出一句都没执行,,但是,前台我alert的data值却改变了,,假如我输入的是修改后的密码就会是2,输入修改前的密码会是1
public String execute(){
try{
System.out.println("zhelasai");
String responseText="";
HttpServletRequest request=ServletActionContext.getRequest();
String userid=request.getParameter("userid");
String password=request.getParameter("password");
User u=new User();
u.setUserid(userid);
u.setPassword(password);
Userdao userdao=new Userdao();
System.out.println("zheli");
List<User> l = userdao.checks(u);
System.out.println(userid+"正在登录,密码为"+password);
if(l.size()==0){
System.out.println("然而登录失败了");
responseText="2";
}else{
System.out.println("登录成功了");
responseText="1";
}
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.print(responseText);
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
return null;
}
userdao.checks()的方法正常执行了。
。。。所以请教各位大神这个是什么问题
刚刚又测试了一下,发现可能是浏览器的问题?
我用火狐测试的话就没问题,用IE的话就会出现上述问题
火狐没问题,IE有问题那就考虑一下是不是缓存了或者兼容性的问题。先清理一下缓存试试。
那肯定就是缓存的问题了,ctrl + alt + delete,清理一下浏览器的缓存