Filter过滤器,xml配置与页面不乱码整理

1.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>filter</display-name>
  <filter>
    <filter-name>filter01</filter-name>
    <filter-class>com.myfilter.Filter01</filter-class>
    <init-param>
      <param-name>code</param-name>
      <param-value>utf-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>filter01</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <filter>
    <filter-name>filter02</filter-name>
    <filter-class>com.myfilter.Filter02</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>filter02</filter-name>
    <url-pattern>/pages/mainFilter.jsp</url-pattern>
  </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

web.xml

2.过滤器1解析字符编码

/**
 *
 */
package com.myfilter;

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.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang3.StringUtils;

/**
 * @author Administrator
 *
 */
public class Filter01 implements Filter
{
    private String encoding=null;
    @Override
    public void destroy()
    {

    }

    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
            FilterChain arg2) throws IOException, ServletException
    {
        HttpServletRequest request=(HttpServletRequest)arg0;
        HttpServletResponse response=(HttpServletResponse)arg1;
        request.setCharacterEncoding(encoding);
        response.setCharacterEncoding(encoding);
        response.setContentType("text/html charset="+encoding);
        arg2.doFilter(request, response);
        System.out.println(encoding);
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException
    {
        String ww=arg0.getInitParameter("code");
        if(StringUtils.isNoneBlank(ww))
        {
            encoding=ww;
        }
    }

}

Filter01.java

3.过滤器2

package com.myfilter;

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;

public class Filter02 implements Filter
{

    @Override
    public void destroy()
    {
        // TODO Auto-generated method stub

    }

    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
            FilterChain arg2) throws IOException, ServletException
    {
        System.out.println("第二个过滤器----00001");
        arg2.doFilter(arg0, arg1);
        System.out.println("第二个过滤器----00002");
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException
    {
        System.out.println("02");
    }

}

Filter02.java

时间: 2024-10-14 09:34:42

Filter过滤器,xml配置与页面不乱码整理的相关文章

web.xml配置错误页面,及输出错误信息

1.需要在web.xml中配置相关信息 [html] view plain copy print? <!-- 默认的错误处理页面 --> <error-page> <error-code>403</error-code> <location>/403.html</location> </error-page> <error-page> <error-code>404</error-code&g

Servlet组件之一——Filter过滤器

1 学习目标 1. 能够说出过滤器的生命周期 2. 能够写出过滤器的映射路径 3. 能够说出过滤器的四种过滤类型 4. 能够利用FilterConfig获取过滤器的配置参数 5. 能够说出什么是过滤器链 6. 能够说出过滤器链的执行顺序2 过滤器的入门 Java Web的三大组件( 1)都需要交给web服务器运行  2)在web.xml文件中配置  ) 1. Servlet:  javax.servlet.Servlet 通过HTTP协议接收客户端的请求,并且做出响应的一个Java应用程序. 2

Java Web开发——Filter过滤器

一.过滤器 1.1定义 过滤器是一个服务器端的组件,它可以截取用户端的请求与响应信息,并对这些信息进行过滤. 1.2工作原理 1.项目启动时,从Web容器中加载过滤器: 2.过滤器存在于用户请求和Web资源之间: 3.用户请求和Web响应之间的收发都经由过滤器按照过滤规则进行过滤筛选. 1.3过滤器的生命周期 实例化(web.xml加载)→初始化(init方法)→过滤(doFilter方法)→销毁(destroy方法) 1.初始化:当容器第一次加载该过滤器时,init() 方法将被调用.该类在这

【JSP】配置错误页面

1,使用JSP方式 如果配置是Jsp时,需要把isErrorPage设置为true, 以及设置 <%@ page language="Java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" isErrorPage="true"%> 错误页面: <%@page import="java.io.PrintStream"

如何配置Filter过滤器处理JSP中文乱码

参考Tomcat服务器目录webapps的examples示例 简单配置步骤:1.在项目web.xml文件添加过滤器标记<filter>和<filter-mapping>:2.实现过滤器代码:3.对Tomcat服务器conf目录里的Server.xml文件配置URIEncoding:4.前台页面设置contentType的charset值与web.xml里设置的值一致. 详细配置步骤:1.配置web.xm文件,在web-app标签内添加过滤器的配置<filter>和&l

web day21 web过滤器Filter,应用案例统计IP,解决全站乱码,粗粒度权限控制,页面静态化

JavaWeb三大组件 1. 都需要在web.xml中进行配置 Servlet Listener(2个感知监听器不需要配置) Filter 过滤器 它会在一组资源(jsp.servlet..css..html等等)的前面执行! 它可以让请求得到目标资源,也可以不让请求达到! * 过滤器有拦截请求的能力! 登录: 允许它访问AServlet.BServlet.CServlet ------------------------------- 过滤器如何编写 1. 写一个类实现Filter接口 2.

Filter过滤器(自动登陆、通用的字符集编码的过滤【处理不同请求的乱码问题】、。。。)

Filter过滤器:可以过滤(拦截)从客户端向服务器发送的请求. 过滤器的作用: 进行ip的过滤,脏话敏感词语的过滤,自动登陆,响应压缩... 过滤器的使用: 1.编写类实现Filter接口. destroy()销毁 doFilter(servletRequest request,ServletResponse response,FilterChain chain)拦截过滤 eg:chain.doFilter(request,response);//执行此代码表示放行到下一个过滤器中,如果没有下

SSH项目中,解决中文请求参数乱码,Filter过滤器不起作用的问题

1.web.xml配置如下(必须放在Struts2配置之前) <!-- 字符编码过滤器配置--> <filter> <filter-name>CharEncodingFilter</filter-name> <filter-class>com.crm.tools.CharEncodingFilter</filter-class> <init-param> <param-name>encoding</par

web.xml中Filter过滤器标签说明

原文:http://www.cnblogs.com/edwardlauxh/archive/2010/03/11/1918618.html 在研究liferay框架中看到Web.xml中加入了过滤器的标签,可以根据页面提交的URL地址进行过滤,发现有几个新标签没用过,下面就介绍以下几个过滤器的标签用法: <!-- 定义Filter --> <filter> <!-- Filter的名字 --> <filter-name>log</filter-name