-
1.请求转发 请求转发是指将请求再转发到另一资源(一般为JSP或Servlet)。此过程依然在同一个请求范围内,转发后浏览器地址栏内容不变 请求转发使用RequestDispatcher接口中的forward()方法来实现,该方法可以把请求转发到另外一个资源,并让该资源对浏览器的请求进行响应 RequestDispatcher rd = request.getRequestDispatcher(path); rd.forward(request,response); 或request.getRequestDispatcher(path) .forward(request,response); 2.重定向 重定向是指页面重新定位到某个新地址,之前的请求失效,进入一个新的请求,且跳转后浏览器地址栏内容将变为新的指定地址 重定向是通过HttpServletResponse对象的sendRedirect()来实现,该方法相当于浏览器重新发送一个请求 response.sendRedirect(path); 我来说一下为什么sendRedirect会陷入死循环,而getRequestDispatcher.forward不会。 因为前者是使用的过滤器类型是request,访问index.jsp页面时,触发过滤器,重定向到main.jsp,由于过滤器类型是request,所以会继续触发main.jsp的过滤器,所以会陷入死循环。 后者在访问index.jsp的时候,过滤器类型是request,所以会触发过滤器,然后利用转发的方式访问main.jsp,这时候过滤器的类型是forward,而此时web.xml中定义的匹配main的过滤器类型还是request,所以不执行main所匹配的过滤器,因此只执行一次查看全部
-
Web应用允许多个过滤器来过滤页面请求——联想现实生活中的例子是最好理解的啦!比如:为了获得更加干净的水,可能需要多个过滤器来进行过滤。 这个时候就分为两种情况了 1:多个过滤器过滤的URL不同,那么此时的多个过滤器是互不相干的,各过滤各的,互不干扰 2:多个多虑期过滤的URL相同,那么此时的多个过滤器就形成了一个过滤器链,此时就有个一个问题了Web容器现将对应的请求给谁过滤呢?处理规则也很简单,就是根据在Web.xml文件中配置的声明的顺序来决定,那个先过滤那个在过滤查看全部
-
1.在web容器启动时依据web.xml实例化 一次 2.初始化 init() 一次 3.过滤 doFilter() 多次 4.销毁 destroy() 一次 web容器关闭查看全部
-
1.在web容器启动时依据web.xml实例化 一次 2.初始化 init() 一次 3.过滤 doFilter() 多次 4.销毁 destroy() 一次 web容器关闭查看全部
-
1、过滤器三部分:过滤源(用户请求)——>过滤规则——>过滤结果 2、过滤器不处理结果,只做辅助性操作 3、定义:过滤器是一个【服务器端】的组件,它可以【截取用户端的请求和响应信息】,并对这些信息过滤查看全部
-
filter配置查看全部
-
**********重点*********** 1、过滤器是可以改变用户请求的web资源的,也就是过滤器可以改变用户请求的路径,比方说仅过滤器检测用户请求不符合规则,重定向到用户登录界面 2、过滤器不是标准的servlet,不能直接返回数据,过滤器不能直接处理用户请求查看全部
-
web.xml中过滤器的配置:见截图 注意:<filter></filter>只能配置一个查看全部
-
创建filter文件时包含三个方法:详细见截图 init()方法 doFilter()方法 destory()方法【不常用】查看全部
-
过滤器的生命周期: 实例化、初始化、过滤、销毁查看全部
-
***********过滤器的工作原理************ 当web应用程序一启动,web容器就加载过滤器了(过滤器生效),这时用发送请求并不是直接到WEB资源,而是到过滤器,判断用户请求是否合法,是否符合规则,符合规则后,过滤器就将用户请求再发送给web资源,然后web资源处理完用户请求响应到过滤器,过滤器再将web资源的响应发送回用户查看全部
-
web过滤机制——过滤简介 1、过滤器三部分:过滤源(用户请求)——>过滤规则——>过滤结果 2、过滤器不处理结果,只做辅助性操作 3、定义:过滤器是一个【服务器端】的组件,它可以【截取用户端的请求和响应信息】,并对这些信息进行过滤查看全部
-
@WebFilter常用属性查看全部
-
过滤器分类查看全部
-
过滤器链执行过程查看全部
举报
0/150
提交
取消