一个很简单的登录的模块,用的框架是SSHLoginAction里有两个属性,一个账号,一个密码.
struts2中action里属性的作用域是request,只在两个页面之间有效,也就是说第一输入账号密码完以后,跳转到下一页页面的时候这个账号密码还在的,但是如果再跳一次这个账号密码的值就是空了。我的这个系统很奇怪,跳多少次都存在....只要按正常的程序登录过一次以后,直接访问http://127.0.0.1:8088/KaraokeSys/login.action这个地址就可以登录,甚至关了浏览器再访问这个地址也能登录,按理来说这样访问账号密码是空的,是不能访问的。我猜测有两种可能:
1。属性的作用域变成application.
2。action变成单利模式了.
往高手指点...
action里的代码: public String execute() throws Exception{
System.out.println("operatorUser:"+operatorUser+",operatorPwd:"+operatorPwd);
if(operatorUser != null && operatorPwd !=null){
if(loginService.validate(operatorUser, operatorPwd)){
TOperator toperator = loginService.getOperatorByUser(operatorUser);
HttpSession session = request.getSession();
System.out.println("开始将operator保存到session中...");
session.setAttribute("operator", toperator);
System.out.println("结束将operator保存到session中...");
return SUCCESS;
}
}
message = "账号或密码错误";
return ERROR;
}