您的位置:首页 > 其它

过滤器的核心API、对指定的请求拦截

2016-12-01 10:45 169 查看
一、过滤器的核心API

1、interface Filter 过滤器核心接口

1)void init(filterConfig); 初始化方法,在服务器启动时候执行

2)void doFilter(request,response,filterChain); 过滤器拦截的业务处理方法

3)void destroy(); 销毁过滤器实例时候调用

2、interface FilterConfig 获取初始化参数信息

1)String getInitParameter(java.lang.String name)

2)Enumeration getInitParameterNames()



3、interface FilterChain 过滤器链参数;一个个过滤器形成一个执行链;

void doFilter(ServletRequest request, ServletResponse response) ; 执行下一个过滤器或放行

二、对指定的请求拦截(了解即可):

1、/*表示拦截所有的请求

<filter-mapping>
<filter-name>hello_filter2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


2、拦截类型:

1)默认拦截的类型:(直接访问或者重定向)

<dispatcher>REQUEST</dispatcher>


2)拦截转发:

<dispatcher>FORWARD</dispatcher>


3)拦截包含的页面(RequestDispatcher.include(/page.jsp); 对page.jsp也执行拦截)

<dispatcher>INCLUDE</dispatcher>


4)拦截声明式异常信息:

<dispatcher>ERROR</dispatcher>


3、演示不同的拦截:

<!-- 演示: 拦截指定的请求 -->
<filter>
<filter-name>hello_filter2</filter-name>
<filter-class>cn.itcast.a_filter_hello.HelloFilter2</filter-class>
</filter>
<filter-mapping>
<filter-name>hello_filter2</filter-name>
<!-- 1. 拦截所有
<url-pattern>/*</url-pattern>
-->

<!-- 2. 拦截指定的jsp
<url-pattern>/index.jsp</url-pattern>
<url-pattern>/list.jsp</url-pattern>
-->
<!-- 拦截所有的jsp
<url-pattern>*.jsp</url-pattern>
-->

<!-- 3. 根据servlet的内部名称拦截
<servlet-name>IndexServlet</servlet-name>
-->
<!-- 拦截指定的servlet
<url-pattern>/index</url-pattern>
-->

<!-- 4. 指定拦截指定的类型 -->
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐