欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Servlet 过滤器两种配置方法

程序员文章站 2022-12-11 09:33:03
方法一(注解) / 使用注解标注过滤器 @WebFilter将一个实现了javax.servlet.Filte接口的类定义为过滤器 属性filterName声明过滤器的名称,可选 属性urlPatterns指定要过滤 的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性) ......

方法一(注解)

/**
* 使用注解标注过滤器
* @webfilter将一个实现了javax.servlet.filte接口的类定义为过滤器
* 属性filtername声明过滤器的名称,可选
* 属性urlpatterns指定要过滤 的url模式,也可使用属性value来声明.(指定要过滤的url模式是必选属性)
*/
@webfilter(filtername="testfilter",urlpatterns="*.action")

方法二(配置web.xml文件)

<filter>
    <filter-name>loginfilter</filter-name>
    <filter-class>cn.edu.njit.filter.loginfilter</filter-class>
    <init-param>
        <param-name>loginui</param-name>
        <param-value>/home/loginui</param-value>
    </init-param>
    <init-param>
        <param-name>loginprocess</param-name>
        <param-value>home/login</param-value>
    </init-param>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>loginfilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

例:servlet3.0 以上注解式配置方法

package com.tunny.filter;

import java.io.ioexception;

import javax.servlet.filter;
import javax.servlet.filterchain;
import javax.servlet.filterconfig;
import javax.servlet.servletexception;
import javax.servlet.servletrequest;
import javax.servlet.servletresponse;
import javax.servlet.annotation.webfilter;

// servlet3.0 以上注解式配置方法
@webfilter(filtername="encodingfilter",urlpatterns="*.action")
public class encodingfilter implements filter{

    public void destroy() {
        
    }

    // 主要的业务逻辑都写在此方法中
    public void dofilter(servletrequest req, servletresponse resp,
            filterchain chain) throws ioexception, servletexception {
        req.setcharacterencoding("utf-8");
        resp.setcharacterencoding("utf-8");
        resp.setcontenttype("text/html;charset=utf-8");
        system.out.println("过滤器帮你转换码完毕");
        chain.dofilter(req, resp);  // 放行或者向后继续执行 
    }

    public void init(filterconfig config) throws servletexception {
        
    }

}

listener监听器

// session="false"  关闭session
<%@ page language="java" import="java.util.*" pageencoding="utf-8" session="false" %>