BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #54362同步于 2016/12/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

【问题】【已解决】struts的拦截器问题,寻求解决问题思路

bupt033
2016/12/18镜像同步4 回复
解决办法: 把包的命名空间改成不一样的就行,这样两个包就互不干扰,各干各的事情了。 很感谢沙发提供的办法,改包的命名空间感觉思路跟统一命名url是差不多的。 ========================================================================== 我要实现的功能是:对于一部分资源需要登陆才能访问,一部分资源不需要登陆就能访问。 我的实现过程: 在一个包中使用了一个默认的登陆的拦截器,在这个包中,拦截所有请求,没有登陆而访问其他资源的请求就会被拦截,重定向到登陆页。这部分没有问题。 我遇到的问题: 对于一部分资源访问是不需要拦截的,然而我前边却拦截了所有的请求,在书上看到是可以使用另外一个包(书上就仅此几个字的提示就没了...),在这个包中不会受到前边那个包的拦截效果。 所以我定义了另外一个包,在另外一个包里边设置了一个访问路径(里边是无需拦截的资源),然而却被前边那个包给拦截了重定向了。 换了一下两个包在struts.xml中的位置顺序,还是不行。 我也想过更改web.xml中的过滤格式,但是感觉好麻烦。 新手上路,求大家指导
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
xinzhong机器人#1 · 2016/12/18
自己写一个filter,加到web.xml,然后需要拦截的url你拦截处理就好了,不需要拦截的直接chain.doFilter就好了。或者你配置filter 的url patern,然后统一url命名规则,只拦截需要拦截的路径 【 在 bupt033 的大作中提到: 】 我要实现的功能是:对于一部分资源需要登陆才能访问,一部...
bupt033机器人#2 · 2016/12/18
【 在 xinzhong 的大作中提到: 】 : 自己写一个filter,加到web.xml,然后需要拦截的url你拦截处理就好了,不需要拦截的直接chain.doFilter就好了。或者你配置filter 的url patern,然后统一url命名规则,只拦截需要拦截的路径 : 我要实现的功能是:对于一部分资源需要登陆才能访问,一部... 嗯,谢谢。 如果需要拦截的url太多的话,一个一个拦截工作量就大了。 统一url命名规则后再拦截确实可以节省很多工作量,但是能提供一下统一url命名一般写成什么格式?自己写的话可能不太规范,用起来也比较变扭。
mh250303135机器人#3 · 2016/12/25
struts这个框架还是蛮重的(当然如果你只使用映射关系,不使用他的OGNL)。类似于这种横向代码的编写,还是用切面编程比较好。比如你写一个切面类来实现你的功能 通过『我邮2.0』发布
bupt033机器人#4 · 2016/12/26
嗯,明白!谢谢啦 【 在 mh250303135 (javazealots) 的大作中提到: 】 : struts这个框架还是蛮重的(当然如果你只使用映射关系,不使用他的OGNL)。类似于这种横向代码的编写,还是用切面编程比较好。比如你写一个切面类来实现你的功能 : 通过『我邮2.0』发布 通过『我邮2.0』发布