`
itmyhome
  • 浏览: 95637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

servlet过滤器之EncodingFilter

 
阅读更多

在Action中得到从JSP页面中的数据 然后插入到oracle中却发现是乱码,我按着以下方式解决。

首先:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>


发现还是乱码,然后在<head>里设置

<meta http-equiv="content-type" content="text/html; charset=GBK">


还是不行,接着在tomcat里 server.xml

 <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
			   URIEncoding="GBK"/>


本来是可以在servlet里加入

request.setCharacterEncoding();


但没有servlet 也不知道如何在struts里的action中怎么设置编码。

最后想到了过滤器,还是用过滤器吧。

首先编写一个类实现Filter接口

package com.itmyhome.drp.filter;

import java.io.*;
import javax.servlet.*;

public class EncodingFilter implements Filter {
	private String charSet;

	public void init(FilterConfig config) throws ServletException {
		// 接收初始化的参数
		this.charSet = config.getInitParameter("charset");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		request.setCharacterEncoding(this.charSet);
		//继续执行
		chain.doFilter(request, response);
	}

	public void destroy() {
	}
}


在web.xml中配置<filter>和<filter-mapping>

<filter>
		<filter-name>encoding</filter-name>
		<filter-class>com.itmyhome.drp.filter.EncodingFilter</filter-class>
		<init-param>
			<param-name>charset</param-name>
			<param-value>GBK</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encoding</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


分享到:
评论

相关推荐

    Java servlet过滤器配置详解

    开发中总结的通用过滤器配置,包括EncodingFilter类、jsp页面配置和web.xml文件的配置代码

    解决字符编码的过滤器

    对struts2配置,针对网个网站的任何文件的编码都使用SERVLET encodingfilter中设定的 解决字符编码的过滤器

    详解JSP中使用过滤器进行内容编码的解决办法

    详解JSP中使用过滤器进行内容编码的解决办法 问题 当通过JSP页面,向数据库中插入记录的时候,可能因为JSP页面编码原因,导致插入到数据库中的新纪录出现乱码。因此需要对JSP页面中的内容进行编码操作,从而保证与...

    java个人博客毕业论文

    5.2.2 字符编码过滤器EncodingFilter 30 5.3 系统主要功能模块设计 30 5.3.1 相册模块 30 5.3.2 日志模块 32 5.3.3 视频模块 34 5.3.4 留言板模块 35 6 研究成果与前景展望 35 6.1 研究成果概述 35 6.2 软件测试 36 ...

    jsp用过滤器解决中文乱码问题的方法

    定义一过滤器,实现Filtter接口 public class EncodingFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req,...

    telbook5.zip

    简单的telbook项目练习,主要训练servlet系列技术;项目部分 1. * 编写一个EncodingFilter程序,完成部署和配置文件。解决通讯录的中文乱码问题。 2. **编写一个LoginFilter程序,整合解决通讯录的所有程序的登陆...

    ssh(structs,spring,hibernate)框架中的上传下载

    Struts+Spring+Hibernate实现上传下载    本文将围绕SSH文件上传下载的主题,向您... 代码 8 业务接口实现类之save() 1. … 2. public class FileServiceImpl 3. implements FileService 4. { 5. private TfileDAO ...

    超市管理系统

    在过滤器中,if(url.indexOf("/toLogin") != -1 ||...){ //放行 chain.doFilter(request,response); return; } ②方式2 单独放置登录页面 login.html login.jsp 4.项目周期 1周时间 项目答辩时间...

    网上书城day01.zip

    13.添加请求编码过滤器 把小工具中的EncodingFilter部署到web.xml中 14.用户模块功能介绍(前台) 15.相关包和类创建 * User类设计,对应数据库表,以及User模块所有表单项 16.注册页面介绍 17.注册页面结构实现 18...

    网上购物系统设计与实现

    1、过滤器代码:[只要doFilter()方法] (1)adminfilter.java: HttpServletRequest requ=(HttpServletRequest)req; res.setCharacterEncoding("gb18030"); requ.setCharacterEncoding("gb18030"); HttpSession ...

Global site tag (gtag.js) - Google Analytics