1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Filter过滤器的拦截路径配置

Filter过滤器的拦截路径配置

时间:2018-08-09 22:33:26

相关推荐

Filter过滤器的拦截路径配置

Filter的介绍

拦截路径配置

拦截所有资源:/*

具体资源路径:/myServlet/demo1

拦截目录:/myServlet/*

后缀名被拦截:*.jsp

Filter的介绍

拦截路径配置

过滤器的拦截路径一般有这4种方式

拦截所有资源:/*,访问所有的资源,过滤器都会被执行具体资源路径:/myServlet/demo1,只有访问myServlet/demo1资源时,过滤器才会被执行拦截目录:/myServlet/*,访问/myServlet下所有资源是,过滤器都会被执行后缀名被拦截:*.jsp,访问后缀名为jsp资源时,过滤器都会被执行

下面我们就举例演示这4种方式

来2个Servlet,资源路径分别取为/myServlet/demo1和/myServlet/demo2,一个jsp页面,myJSP.jsp,一个过滤器demo1

/myServlet/demo1代码

package com.lingaolu.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import java.io.IOException;/*** @author 林高禄* @create -08-04-19:34*/@WebServlet("/myServlet/demo1")public class Demo1 extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("/myServlet/demo1执行了......");}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}}

/myServlet/demo2代码

package com.lingaolu.servlet;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.*;import java.io.IOException;/*** @author 林高禄* @create -08-04-19:34*/@WebServlet("/myServlet/demo2")public class Demo2 extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("/myServlet/demo2执行了......");}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}}

myJSP.jsp代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>我的JSP</title></head><body><% System.out.println("myJSP进来了......");%></body></html>

过滤器demo1代码

package com.lingaolu.filter;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import java.io.IOException;/*** @author 林高禄* @create -08-04-9:42*/@WebFilter("/*")public class Demo1 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("demo1过滤器进来了......");filterChain.doFilter(servletRequest,servletResponse);System.out.println("demo1过滤回来了......");}@Overridepublic void destroy() {}}

拦截所有资源:/*

现在我们的过滤器demo1的拦截路径就是/*,启动项目

访问myJSP.jsp,过滤器执行了

访问myServlet/demo1,过滤器执行了

访问myServlet/demo2,过滤器执行了

可见上面的拦截路径的配置,把所有的路径都被拦截了

具体资源路径:/myServlet/demo1

我们把过滤器的拦截路径改为/myServlet/demo1,启动项目

访问myJSP.jsp,过滤器没有执行

访问myServlet/demo1,过滤器执行了

访问myServlet/demo2,过滤器没有执行

可见上面的拦截路径的配置,只拦截了myServlet/demo1

拦截目录:/myServlet/*

我们把过滤器的拦截路径改为/myServlet/*,启动项目

访问myJSP.jsp,过滤器没有执行

访问myServlet/demo1,过滤器执行了

访问myServlet/demo2,过滤器执行了

可见上面的拦截路径的配置,只拦截了myServlet/资源目录下的资源

后缀名被拦截:*.jsp

我们把过滤器的拦截路径改为*.jsp,启动项目

访问myJSP.jsp,过滤器执行了

访问myServlet/demo1,过滤器没有执行

访问myServlet/demo2,过滤器没有执行

可见上面的拦截路径的配置,只拦截了后缀名为jsp的资源

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。