Servlet程序开发-- 过滤器

本文详细介绍了三种Servlet的概念与实现方式:简单Servlet作为基础开发结构,过滤Servlet通过Filter接口实现HTTP协议过滤,监听Servlet用于监听特定事件。文中还提供了创建过滤Servlet的具体步骤和配置说明。

3种servlet:简单Servlet,过滤Servlet,监听Servlet

1. 简单Servlet:是作为一种程序所必须的开发结构保存下来的。

2. 过滤Servlet:过滤器使用的不是HttpServlet类,而是接口Filter,在javax.servlet里,此接口的主要功能是完成公共协议的,因为不在Http下。

三个主要方法:init(), doFilter(),destroy()三个函数

做一个过滤Servlet:

package org.lxh.filterdemo ;
import java.io.* ;
import javax.servlet.* ;
public class SimpleFilter implements Filter {
    public void init(FilterConfig config)
          throws ServletException{
        // 接收初始化的参数
        String initParam = config.getInitParameter("ref") ;    
        System.out.println("** 过滤器初始化,初始化参数=" + initParam) ;
    }
    public void doFilter(ServletRequest request,
              ServletResponse response,
              FilterChain chain)
              throws IOException,
                     ServletException{
        System.out.println("** 执行doFilter()方法之前") ;
        chain.doFilter(request,response) ;
        System.out.println("** 执行doFilter()方法之后") ;
    }
    public void destroy(){
        System.out.println("** 过滤器销毁。") ;
} }

配置过滤Servlet注意事项:在简单Servlet之前配置:

<filter>
        <filter-name>simple</filter-name>
        <filter-class>org.lxh.filterdemo.SimpleFilter</filter-class>
        <init-param>
            <param-name>ref</param-name>
            <param-value>HELLOMLDN</param-value>
        </init-param>
</filter>

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

<url-pattern>/*</url-pattern>

表示的不是映射路径,而是一个过滤器的过滤路径,现在既然是“/*”表示对虚拟目录下的所有文件进行过滤。

过滤器不需要任何配置和调用就可以在服务器启动的时候,自动完成初始化操作。

 

转载于:https://www.cnblogs.com/wujixing/p/4992002.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值