直接访问login.action报错,求解

来源:5-3 创建自定义拦截器及拦截器栈实现权限校验

慕粉15160033427

2016-07-24 12:23

为什么写完之后,访问auth没问题,login.jsp也没问题,登陆也正常,就是单独访问login.action的时候报错,这是为什么呢? 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;

//需要实现sessionAware接口!!!!!

private Map<String, Object> session;//直接定义session,用来存放信息,使用put方法

/**

* 实现了sessionAware接口之后,要实现它的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;

}

}




}


写回答 关注

2回答

  • 慕桂英8054818
    2016-10-09 17:10:22

    你直接在login.action后面加上?username="admin"&&password="123",给他用户名密码就可以登录了。因为我们写login.action的时候是和类里面的login方法联系的,login需要俩参数,所以你调用login.action的时候就要给这俩个参数。

  • MrZ3285967
    2016-07-25 10:51:36

    是不是空指针?login.action需要穿参数的,定义了set和get方法,需要给login.action传两个参数才可以访问,你试试在login.action后面加上?username="admin"&&password="123"试试

Struts2拦截器浅析

本视频教程将代领大家了解Struts2拦截器的工作原理及配置

37975 学习 · 121 问题

查看课程

相似问题