一个页面什么时候经过过滤器(JAVA)

来源:百度知道 编辑:UC知道 时间:2024/06/26 06:01:53
给一个页面加上了过滤器,按理说访问这个页面应该先经过过滤才能得到资源。问题是:我直接访问它也就是直接输入地址 它会经过过滤器,或则通过response.sendRedirect("Admain.html");方式跳转到该页面也会正常过滤。
但是假如我有一个页面B 登陆之后进入页面B B里面是个超连接<a href=Admain.html>用户</a>第一次点这个超连接 它也会正常过滤 但是假如我后退到登陆页面 然后再登陆 进入了页面B 再点这个超连接 我就可以直接得到Admain.html 而没有经过过滤器了。还有要是我通过request.getRequestDispatcher("Admain.html").forward(request, response);这种方式跳转 也不会经过过滤器。我想知道这是怎么回事啊 这个问题捆饶了我很久了 弄的我茶不思 饭不想的 所以请大家帮帮忙啊 谢谢大家了

你用的什么过滤器?request过滤器?
这个可能是的web.xml没写对,在网上有写好的,你可以搜到看看
我看你你用了登录就直接在登录成功后将用户对象存入Session中
然后在A页面的开头判断一下Session就行了啊,如果Session为空直接用response.sendRedirect("Admain.html");跳回就行 不用过滤器那么麻烦的

看了下你的描述,request过滤器应该没有问题。当然直接访问它也就是直接输入地址 它会经过过滤器,至于通过response.sendRedirect("Admain.html");方式跳转到该页面也会正常过滤那是因为这句话的意思是服务器直接给浏览器发了一个重定向请求,浏览器收到后再向服务器发一次get请求,你可以从url上看出来。至于request.getRequestDispatcher("Admain.html").forward(request, response);为什么不会经过过滤器,那是因为这句话只是在服务器端的跳转,也就没有创建新的request,肯定不会被过滤了。

至于那个页面B,你没有把问题说清楚。说清楚了再帮你分析。
建议你把jsp,servlet方面多熟悉一下。还有了解一下http响应头消息。

请求发送后 就先得经过过滤器 才进行Action操作啊 只在你没有配置错误 应该都会过滤的