struts2怎么用拦截器完成登录的时候session的判断?有就打开,没有就返回输入去

请问我在action里面配置好一个拦截器栈<interceptors><!--定义权限检查拦截器--><interceptorname="authority"class=... 请问我在action里面配置好一个拦截器栈
<interceptors>
<!-- 定义权限检查拦截器 -->
<interceptor name="authority" class="lee.AuthorityInterceptor"/>
<!-- 定义一个包含权限检查的拦截器栈 -->
<interceptor-stack name="mydefault">
<!-- 定义拦截器栈包含default-stack拦截器栈 -->
<interceptor-ref name="default-stack"/>
<!-- 定义拦截器栈包含authority拦截器 -->
<interceptor-ref name=" authority"/>
</interceptor- stack >
</interceptors>

拦截器是在我用到这个action时起了作用,那么,当我打开一个页面,比如在地址栏敲了list.jsp页面,哪个action都没找到,这不就进到这个页面去了吗,拦截器也就没起作用吗?求高手指点,我理解的对不对,不对,请指出错误原因?
另外,我有一个注册页面,注册的数据,如email,年龄,生日,这些数据合法的校验怎么完成?在前台用js后,后台怎么完成校验,用拦截器怎么校验,不用怎么校验?
展开
 我来答
拿破仑哈哈
2011-09-08 · TA获得超过136个赞
知道小有建树答主
回答量:69
采纳率:0%
帮助的人:44.8万
展开全部
你的理解是正确的,struts的拦截器只能对action进行拦截,对于jsp以及其他的资源文件是无法拦截的。
如果要进行session的判断,则需要配置一个新的filter(自己实现,然后在filter中对session进行判断),并且要在struts的FilterDispatcher前进行拦截(struts2也是通过filter实现的);或者直接使用spring的security。
对于注册信息的校验,有的可以放在前台(例如密码以及邮件规则),有的则必须放在后台(用户名不能重复),具体情况具体分析。信息校验没有必要使用拦截器,直接写个action就可以完成了。拦截器主要完成一些公共的功能模块信息(类似spring的切面) ,例如异常处理、访问权限校验
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式