Struts2 拦截器对例外Action的配置问题

1、一个应用管理系统中,对于Session过期的验证是否应该用拦截器实现?为什么不用过滤器?2、本人添加了一个拦截器,Struts.xml配置文件的内容如下:<inter... 1、一个应用管理系统中,对于Session过期的验证是否应该用拦截器实现?为什么不用过滤器?
2、本人添加了一个拦截器,Struts.xml配置文件的内容如下:
<interceptors>
<!-- Session过期验证拦截器 -->
<interceptor name="logininterceptor"
class="com.yzxt.login.action.LoginInterceptor">
</interceptor>
<!-- 配置拦截器栈 -->
<interceptor-stack name="myStack">
<interceptor-ref name="logininterceptor">
<param name="excludeMethods">execute</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 重新设置默认拦截器 -->
<default-interceptor-ref name="myStack"></default-interceptor-ref>
其中,<param name="excludeMethods">execute</param>是为了防止Action名称为login下的execute方法进入过滤器设置的,因为该方法的作用是登录时实现验证码,所以在登录前不能进行Session过期过滤;但是结果是:验证码可以正常显示,登陆到系统中后直接报错,未找到Login这个Action对应的类,求教是什么原因?请问过滤器对个别Action设置例外的配置应该怎么写?本人新手,虚心求教、、、、谢谢!
展开
 我来答
匿名用户
2013-10-30
展开全部
你写的的拦截器应该没有写错,那你对不是execute的方法做了怎样的处理?这应该是你登入不进去的原因才对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
RookiePHP
2013-10-30 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:130
采纳率:100%
帮助的人:102万
展开全部
首先第一个问题:判断session过期不用用拦截器,可以用监听器,我记得有一个是HttpSessionBindingListener,实现这个接口,重写里面的方法就行,类似的接口还有很多,你可以研究下监听器,
第二个问题:你声明了拦截器栈,应该把不需要这个拦截器的action排除在外,方法是在这个action中在声明一下默认的拦截器就是struts-default,这样这个action就不会被你声明的拦截器栈拦截,只继承默认拦截器
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式