`
BradyZhu
  • 浏览: 247715 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

通过Servlet过滤器处理Web的编码问题

 
阅读更多

Servlet 过滤器是小型的 Web 组件,它们拦截请求和响应,以便查看、提取或以某

种方式操作正在客户机和服务器之间交换的数据。过滤器是通常封装了一些功能的 Web

组件,这些功能虽然很重要,但是对于处理客户机请求或发送响应来说不是决定性的。

典型的例子包括记录关于请求和响应的数据、处理安全协议、管理会话属性,等等。过滤

器提供一种面向对象的模块化机制,用以将公共任务封装到可插入的组件中,这些组件通

过一个配置文件来声明,并动态地处理。

下面来实现这个Servlet过滤器,首先需要创建一个类实现Filter接口,

package com.bird.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;

public class CharsetFilter implements Filter {
	
	private FilterConfig configer;
	private String charset = "UTF-8";
	
	public void destroy() {
		configer = null;
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		request.setCharacterEncoding(charset);
		response.setContentType("text/html;charset='"+charset+"'");
		chain.doFilter(request, response);
	}

	public void init(FilterConfig config) throws ServletException {
		this.configer = config;
		String s = configer.getInitParameter("encoding");
		if(s != null){
			charset = s;
		}
	}

}

然后在web.xml文件中配置这个过滤器

 <filter>
  		<filter-name>EncodingFilter</filter-name>
  		<filter-class>com.bird.filter.CharsetFilter</filter-class>
  		<init-param>
  				<param-name>encoding</param-name>
  				<param-value>UTF-8</param-value>
  		</init-param>
  </filter>
  
  <filter-mapping>
  		<filter-name>EncodingFilter</filter-name>
  		<url-pattern>/*</url-pattern>
  </filter-mapping>

然后对于这个Web项目里面的JSP提交都不会出现编码问题了,因为他们都是经过了过滤器的处理
分享到:
评论

相关推荐

    servlet过滤器解决乱码问题

    最简单的写法 只要JSP页面的 编码格式和 web.xml 编码格式一样就行

    Servlet过滤器使用

    在这个方法中可以读取web.xml文件中Servlet过滤器的初始化参数。 b、doFilter(ServletRequest,ServletResponse,FilterChain): 这个方法完成实际的过滤操作,当客户请求访问于过滤器关联的URL时,Servlet容器将先...

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

    配置Filter过滤器处理JSP中文乱码 参考Tomcat服务器目录webapps的examples示例 简单配置步骤: 1.在项目web.xml文件添加过滤器标记和; 2.实现过滤器代码; 3.对Tomcat服务器conf目录里的Server.xml文件配置...

    Servlet 中文乱码解决工具类

    在Java Web程序开发中,由于Web容器内部使用编码格式并不支持中文字符集,所以,处理浏览器请求中的中文数据就会出现乱码的现象。由于Web容器使用了ISO-...如果通过过滤器来处理字符编码,就可以做到简单又万无一失。

    JavaWeb页面过滤器之编码过滤

    用MyEclipse 8.5 开发的JavaWeb页面编码过滤器.支持所有web页面,包括servlet

    JavaWeb Servlet中Filter过滤器的详解

    JavaWeb Servlet中Filter过滤器的详解 1.简述  Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制、过滤敏感词汇、压缩响应信息)。Filter能够对Servlet容器的请求和响应进行检查...

    《Java Web开发与实战--Eclipse+Tomcat+Servlet+JSP整合应用》.(刘伟,张利国).[PDF].zip

    主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    全书一共被压缩为5个rar,这是第二个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    全书一共被压缩为5个rar,这是第三个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    Java Web开发与实战:Eclipse+Tomcat+Servlet+JSP整合应用(含光盘源代码)

    主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    全书一共被压缩为5个rar,这是第四个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    全书一共被压缩为5个rar,这是第五个!!!! 其他的请看ID:ljtt123(本人...21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    Servlet过滤器在用户认证中的应用 (2006年)

    针对Web应用组件开发中出现的配置复杂和登录认证编码冗长等问题,分析了Servlet过滤器的特点和功能,论述了Servlet过滤器的工作过程以及组成Servlet过滤链的部署与实现方式。提出了用Servlet过滤链简化数据库登录认证...

    《Java-Web应用开发基础》教学课件08课程设计实例.pptx

    4.Servlet过滤器设计 设计两个Servlet过滤器:一个用于防止中文数据乱码,另一个用于防止未登录用户访问网站资源。 《Java-Web应用开发基础》教学课件08课程设计实例全文共73页,当前为第10页。 8.3设 计 思 路 ...

    V512工作室Java web的ppt

    第15章 讲解Servlet过滤器(Filter)技术。 第16章 讲解使用Apache Commons FileUpload实现文件上传,同时讲解了JavaMail和如何运用Apache Commons Email组件发送邮件。 第17章 讲解DAO设计模式和分页显示,同时还...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    5.4 一夫当关——配置并应用Servlet过滤器 5.4.1 过滤器的基本原理 5.4.2 过滤器的核心API 5.4.3 过滤器的创建与配置 5.4.4 JavaWeb中字符乱码分析 5.4.5 实现字符编码过滤器 5.5 实战检验 5.5.1 通过Servlet实现...

    Java™ Servlet 规范.

    1.6.1 监听器(Listener)顺序 ...............................................................................................................14 1.6.2 注解处理 .............................................

    SpringFilter:Springboot过滤器示例

    弹簧过滤器 [MVC生命周期](#MVC生命周期) [如何使用过滤器](#如何使用过滤器) 使用指南 , 弹簧过滤器 使用Servlet的ServletContext函数,可以在用户调用Servlet之前/之后检查并设置用户的请求/响应标头信息...

    Ajax过滤器

    java做web开发使用Ajax从.jsp页面到Servlet时中文可能乱码。在此提供Ajax过滤器。希望对大家有帮助!!

    struts2的总结,适合初学者

    5、在过滤器中通过java的反射机制调用action。 6、详细过程参照cn.itcast.action包中的内容 3Struts2介绍 1、struts2是apache组织发明的开源框架。是struts的第二代产品。 2、struts2是在struts和webwork基础上整合...

Global site tag (gtag.js) - Google Analytics