使用struts2未登录,不能操作

1、定义拦截器类:

注意登录的action,登录成功在session存入标记(login)

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
/**
 * 拦截器
 * @author 周六刀
 */
public class LoginInterceptor extends MethodFilterInterceptor {
    private static final long serialVersionUID = 1L;
    @Override
    protected String doIntercept(ActionInvocation invoker) throws Exception {
        // TODO Auto-generated method stub
        // 通过获取session中是否有标记
        Object object = ActionContext.getContext().getSession().get("login");
        if (null == object) {
            // 返回登录页面
            return "loginfail";
        } else {
            invoker.invoke();
        }
        return null;
    }
}

 

 

  2、自定义拦截器

注意:如果其他package包需要使用拦截器,则继承该拦截器即可!!

拦截器的顺序一定要对(result-type、action、default-action-ref、default-class-ref、default-interceptor-ref、globel-exception-mappingis、globel-results)

<package name="interceptors" extends="struts-default" namespace="/">
        <!-- 自定义个人拦截器 -->
        <interceptors>
            <interceptor name="longinInterceptor"
                class="cn.empsystem.action.LoginInterceptor"></interceptor>
        <!--拦截器栈--> <interceptor-stack name="myStack">
          <!--默认拦截器--> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="longinInterceptor"> <!-- 过滤非拦截的action --> <param name="excludeMethods">stuLogin,schLogin,empLogin,checkEntRegister</param> </interceptor-ref> <!-- 引入默认拦截器 --> </interceptor-stack> </interceptors> <!-- 为当前所有的action配置默认拦截器 --> <default-interceptor-ref name="myStack"></default-interceptor-ref> <!-- 配置全局结果集 --> <global-results> <!-- 跳转到登录页面 --> <result name="loginfail">/index.jsp</result> </global-results> </package>

 

转载于:https://www.cnblogs.com/zzzyiren/p/10328364.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值