Struts2拦截器的配置

来源:互联网 发布:魔兽争霸数据查看器 编辑:程序博客网 时间:2024/06/07 16:15

实现了在没登录的情况下对查询数据action的拦截

Interceptor.java

public class Interceptor extends MethodFilterInterceptor {    @Override    protected String doIntercept(ActionInvocation invocation) throws Exception {    //获取session        Object user = ServletActionContext.getRequest().getSession().getAttribute("user");        if (user == null) {            return "login";//如果session为空,去登陆界面        }        return invocation.invoke();    }}

配置struts.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"    "http://struts.apache.org/dtds/struts-2.5.dtd"><struts>    <package name="user" namespace="/user" extends="struts-default">        <interceptors>            <interceptor name="myInterceptor" class="com.zmj.struts.interceptor.Interceptor"></interceptor>            <interceptor-stack name="selectStack">                <interceptor-ref name="myInterceptor">                    <param name="excludeMethod">厉害了我的哥</param>                </interceptor-ref>            </interceptor-stack>        </interceptors>        <!--登陆  -->        <action name="loginAction" class="com.zmj.struts.action.UserAction" method="login">            <result name="success">/success.jsp</result>            <result name="error">/index.jsp</result>        </action>        <!--查询  -->        <action name="selectAll" class="com.zmj.struts.action.UserAction" method="selectAll">            <!--过滤  -->            <interceptor-ref name="selectStack"></interceptor-ref>            <result name="success">/list.jsp</result>            <result name="login">/index.jsp</result>        </action>    </package></struts>

UserAction.java

public class UserAction implements ModelDriven<User> {    private User user;    private HashMap<String, User> map = new HashMap<String, User>();    public HashMap<String, User> getMap() {        return map;    }    public void setMap(HashMap<String, User> map) {        this.map = map;    }    public UserAction() {        map.put("1", new User("admin1", "1234"));        map.put("2", new User("admin2", "1234"));        map.put("3", new User("admin3", "1234"));        map.put("4", new User("admin4", "1234"));    }    public User getUser() {        return user;    }    public void setUser(User user) {        this.user = user;    }    @Override    public User getModel() {        return user;    }    public String login() {        if (user.getUserName().equals("admin") && user.getPassWord().equals("123")) {        //登陆成功,记录session            HttpSession session = ServletActionContext.getRequest().getSession();            session.setAttribute("user", user.getUserName());            return "success";        }        return "error";    }    public String selectAll() {        return "success";    }}
0 0
原创粉丝点击