Filter的介绍

来源:互联网 发布:flash是什么软件 编辑:程序博客网 时间:2024/04/29 20:21

Filter中文意思是过滤器,所以说在JAVA中是用来过滤的,通过它可以改变请求和响应信息,它并不是一个SERVLET,不能产生响应信息,他主要的功能如下:

1.过滤非法文字和信息

2.设置统一字符编码

3.对用户进行登验证

4.改变图片文件格式

5.对相应内容做压缩处理

6,对XML的输出使用XSLT来进行转换

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <display-name></display-name>  <servlet>    <description>This is the description of my J2EE component</description>    <display-name>This is the display name of my J2EE component</display-name>    <servlet-name>ServletTest</servlet-name>    <servlet-class>com.soanl.servlet.ServletTest</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>ServletTest</servlet-name>    <url-pattern>/servlet/ServletTest</url-pattern>  </servlet-mapping>    <filter>  <filter-name>IPFilter</filter-name>  <filter-class>com.soanl.filter.IPFilter</filter-class>  <init-param>  <param-name>ip</param-name>  <param-value>127.0.0.1</param-value>  </init-param>  </filter>  <filter-mapping>  <filter-name>IPFilter</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list></web-app>

IPFilter.java

package com.soanl.filter;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class IPFilter implements Filter {protected FilterConfig filterconfig;protected String ip;@Overridepublic void init(FilterConfig arg0) throws ServletException {this.filterconfig=arg0;        //设置属性filterconfigthis.ip=this.filterconfig.getInitParameter("ip");    //获得初始化参数IP}@Overridepublic void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {String remoteIP = arg0.getRemoteAddr();           //获得客户IPif(remoteIP.equals(ip)){arg1.setContentType("text/html;charset=utf-8");arg1.setCharacterEncoding("gbk");PrintWriter pw = arg1.getWriter();pw.println("sorry,the IP address can't visited,please cantact the admin");}else{arg2.doFilter(arg0, arg1);}}@Overridepublic void destroy() {// TODO Auto-generated method stub}}

原创粉丝点击