为了账号安全,请及时绑定邮箱和手机立即绑定

Struts2拦截器浅析

难度中级
时长59分
学习人数
综合评分9.77
231人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.7 逻辑清晰
大浪淘沙。。老师辛苦了。
然后看老师的5-2、5-3的登录例子,如果是先执行拦截器来验证登录信息是否正确,那么拦截器得到的session里面的userName永远都是空的,因为action还没执行,还没保存用户名到session,而你拦截器就用了session,所以永远登录不了。
在action当中,应用了自定义的拦截器myStack,并且放在了action里面的最后一行,意味着,是先执行action代码,然后再执行拦截器mystack,通过的话就返回jsp页面;

但是如果把应用拦截器的代码放在了定义action代码里面的第一行的话,是执行拦截器mystack,然后再执行action的。
例如下面所示:
<action name="login" class="actions.loginAction" method="login">

<result name="success">/WEB-INF/page/manager.jsp</result>
<result name="error">/login.jsp</result>
<interceptor-ref name="myStack"></interceptor-ref>
</action>
老师您好,前天我看了您的视频,通过自己的实验,发现您有些地方讲错了
在第一讲中,讲到strut2框架执行流程的时候,讲到了拦截器的执行顺序。老师说的是先执行拦截器1->2->3,然后再执行action,就是这里应该是讲错了。我觉得对于自定义的拦截器,不是这样执行的,自定义拦截器执行的顺序应该是与在Struct.xml文件当中放在action标签里的位置有关。例如下面所示:
老师讲的不错,挺好的,简单易懂
有时不方便听声音,希望视频能加上字幕.
59分钟课程学了好几个小时
14:35有人说话 然后老师扭头了。
The content of element type "package" must match "(result-types?,interceptors?...
package里元素必须按照一定的顺序排列:

result-types
interceptors
default-interceptor-ref
default-action-ref
default-class-ref
global-results
global-exception-mappings
action*(所有action放到最后)
程序流程:访问auth时先通过AuthInterceptor拦截器判断是否有登录状态(判断session中是否存在loginInfo键值对)
如果存在则直接访问,不存在 则跳转至login登录界面,在登录界面输入正确的账号密码后,成功访问
并且在session中保存loginInfo键值对,下一次能够直接访问auth 如果输入不正确,则继续跳转login登录页面
并且在session中保存loginError键值对,让login页面获取并显示错误提示
这应该就是常见的获取某个资源前提醒要登陆的实现吧!
小伙伴?别跟我们套近乎。
课程须知
本课程主要讲解Struts2中的拦截器,小伙伴们需要对Struts2基本用法、 Action配置等相关知识有一定的基础。
老师告诉你能学到什么?
1、拦截器概念、作用 2、Struts2内建的拦截器 3、如何自定义拦截器 4、使用拦截器实现权限控制

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消