直接訪問(wèn)login.action報(bào)錯(cuò),求解
為什么寫(xiě)完之后,訪問(wèn)auth沒(méi)問(wèn)題,login.jsp也沒(méi)問(wèn)題,登陸也正常,就是單獨(dú)訪問(wèn)login.action的時(shí)候報(bào)錯(cuò),這是為什么呢? Struts Problem Report Struts has detected an unhandled exception: Messages: File: action/ManagerAction.java Line number: 50
代碼:
package action;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class ManagerAction extends ActionSupport implements SessionAware {
private String username;
private String password;
//需要實(shí)現(xiàn)sessionAware接口?。。。?!
private Map<String, Object> session;//直接定義session,用來(lái)存放信息,使用put方法
/**
* 實(shí)現(xiàn)了sessionAware接口之后,要實(shí)現(xiàn)它的setSession方法,this.session=session;
*/
@Override
public void setSession(Map<String, Object> session) {
this.session=session;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String login(){
if(username.equals("admin")&&password.equals("123")){
session.put("loginfo", username);
return SUCCESS;
}else{
session.put("loginError", "用戶名或密碼不正確");
return ERROR;
}
}
}
2016-10-09
你直接在login.action后面加上?username="admin"&&password="123",給他用戶名密碼就可以登錄了。因?yàn)槲覀儗?xiě)login.action的時(shí)候是和類里面的login方法聯(lián)系的,login需要倆參數(shù),所以你調(diào)用login.action的時(shí)候就要給這倆個(gè)參數(shù)。
2016-07-25
是不是空指針?login.action需要穿參數(shù)的,定義了set和get方法,需要給login.action傳兩個(gè)參數(shù)才可以訪問(wèn),你試試在login.action后面加上?username="admin"&&password="123"試試