java开发中struts2或者filter对所有请求和所有页面进行拦截,如何做,高分求助!

RT在JAVA开发中,我要对所有的*.action*.jsp*.html*.htm请求做一个拦截,判断用户是否登录,但是又觉得在jsp页面用if(session.getA... RT在JAVA开发中,我要对 所有的*.action *.jsp *.html *.htm请求 做一个拦截,判断用户是否登录,但是又觉得在jsp页面 用 if(session.getAttribut("user"))做判断太繁琐,想有一个方便点方法,不知道哪位高人能指教一下,在下不甚感激!唯有悬赏财富值来报答.......(略省数万字) 展开
 我来答
soutnila
2011-09-21
知道答主
回答量:21
采纳率:0%
帮助的人:10.3万
展开全部
既然用了struts2,对于这样的需求你应该用interceptor拦截器呀,拦截用户所有的 请求,路径配置为/*,就是拦截所有请求,在拦截器中写对应代码判断用户是否登录。具体的代码还是比较多的,就不在这里列出来了。在struts.xml中配置一个拦截器栈,然后在其中配置拦截器,使用/*拦截所有请求。。就和配置action差不多。
追问
额、 这位大哥,能提供一下具体的配置吗? 谢谢!
百度网友93a4c33
2011-09-21 · TA获得超过1496个赞
知道大有可为答主
回答量:1516
采纳率:0%
帮助的人:1308万
展开全部
看你提问问了半天了,没人回答
,你直接去查看一下servlet 的过滤器就好了。很简单的。
而且也有很多例子。
更多追问追答
追问
我知道用Filter可以,但要如何做呢? 网上的例子都不是我想要的...  -_-!!!
追答
主要是那东西是好几年弄过类似的,现在代码也丢了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyleon2004
推荐于2016-03-25
知道答主
回答量:7
采纳率:0%
帮助的人:9.3万
展开全部
写一个servlet :UserFilter 实现Filter 接口
重写方法:public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain){
if(session.getAttribut("user")==null) 异常处理;
filterChain.doFilter(request, response);
}

修改web.xml增加servlet配置:
<servlet>
<servlet-name>UserFilter</servlet-name>
<servlet-class>****UserFilter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserFilter</servlet-name>
<url-pattern>*</url-pattern>
</servlet-mapping-->
追问
我照做了,可是对某些不存在的请求也拦截了,然后前台500 后台抛java.lang.IllegalStateException异常。 能否得到解决呢?
追答
可以分开配多个

UserFilter
*.action

UserFilter
*.jsp

。。。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Oo海之蓝歌oO
2011-09-21 · 喜欢计算机有关的东东
Oo海之蓝歌oO
采纳数:244 获赞数:876

向TA提问 私信TA
展开全部
用filter做鉴权过滤器。
配置拦截*.action *.jsp *.html *.htm就可以了
追问
可否有具体的配置,供我参考一下!谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
通灵跃
2011-09-21 · TA获得超过733个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:98.6万
展开全部
用filter吧,struts2拦截不了html文件的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式