`
itmyhome
  • 浏览: 97455 次
  • 性别: 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过滤器配置详解

    本篇将深入讲解Java Servlet过滤器的配置,包括`EncodingFilter`类的使用、jsp页面配置以及`web.xml`文件的配置。 首先,`EncodingFilter`是一个常见的过滤器,主要用于解决HTTP请求和响应中的编码问题。在处理中文...

    servlet过滤器配置,解决JSP的所有乱码

    在Java Web开发中,Servlet过滤器(Filter)是一种强大的工具,它可以用来处理各种问题,包括但不限于解决字符编码问题。在标题“servlet过滤器配置,解决JSP的所有乱码”和描述“JSP页面获得servlet是不是经常出现...

    Servlet编码过滤器的实现

    在本教程中,我们将深入探讨如何实现一个Servlet编码过滤器,并理解其工作原理。 首先,让我们了解为什么需要编码过滤器。在Web应用中,用户输入的数据可能包含非ASCII字符,如中文、日文等,这些字符在HTTP请求中...

    教会你如何在java中建过滤器

    init 方法是 Servlet 过滤器的初始化方法,doFilter 方法完成实际的过滤操作,destroy 方法是在 Servlet 容器销毁过滤器实例前调用的方法。 在创建 Servlet 过滤器时,需要实现 javax.servlet.Filter 接口的 ...

    中文字符过滤器

    在IT行业中,中文字符过滤器(EncodingFilter)是解决Web应用程序中中文乱码问题的关键工具。乱码问题通常发生在数据的编码与解码过程中,尤其是当客户端与服务器之间通过HTTP传输包含中文字符的数据时。本篇文章将...

    JavaWeb页面过滤器之编码过滤

    在给定的标题“JavaWeb页面过滤器之编码过滤”和描述中,我们可以深入探讨JavaWeb中的编码过滤器,以及如何在MyEclipse 8.5环境下开发和应用这样的过滤器。这个过滤器不仅适用于JSP页面,也适用于Servlet和HTML等Web...

    Servlet配置过滤器 Filter

    ### Servlet配置过滤器Filter知识点详解 #### 一、概述 在Java Web开发中,`Servlet`过滤器(`Filter`)是一种重要的技术组件,它可以在请求到达目标资源(如Servlet或JSP页面)之前或者响应返回客户端之前进行...

    编码过滤器

    在Java Web环境中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前对请求进行预处理,或者在响应发送给客户端之后进行后处理。这些过滤器的配置通常在`web.xml`部署描述符文件...

    关于EncodingFilter的简单使用

    通常,我们通过实现`javax.servlet.Filter`接口来创建自定义过滤器,但这里我们有一个名为`EncodingFilter.java`的文件,它可能已经包含了预定义的编码过滤器实现。在这个类中,我们可以找到`doFilter`方法,这是...

    网络编程 过滤器链例子

    网络编程在IT领域中占有重要地位,特别是在Java Web开发中,过滤器(Filter)是实现动态网页应用程序功能扩展的关键技术之一。本示例主要探讨了如何利用Java的Servlet API实现过滤器链,以达到对HTTP请求和响应进行...

    java过滤器

    为了实现过滤器的功能,所有的过滤器都必须实现`javax.servlet.Filter`接口,并重写该接口中定义的方法: 1. **init()**:该方法在过滤器实例化后立即被调用,用于执行过滤器的初始化工作。通常在这里可以获取过滤...

    过滤器笔记整理

    过滤器(Filter)是一种轻量级的、可扩展的应用程序组件,它可以在客户端请求到达目标资源(如Servlet、JSP等)之前对其进行预处理,或者在请求处理完毕后对响应进行后处理。这种机制为开发者提供了极大的灵活性,...

    javaFilter自定义编码过滤器

    在上面的代码中,我们定义了一个名为 EncodingFilter 的自定义编码过滤器,该过滤器用于防止中文乱码。该过滤器实现了 Filter 接口,并重写了 init()、doFilter() 和 destroy() 方法。 * init() 方法:在 init() ...

    解决字符编码的过滤器

    ### 解决字符编码的过滤器...总之,通过合理配置Servlet过滤器来解决字符编码问题是提高Web应用国际化能力的有效手段之一。开发者应该根据实际需求灵活调整编码策略,并结合前端技术共同保障数据传输的准确性与完整性。

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

    在上面的代码中,我们定义了一个名为EncodingFilter的过滤器,并将其映射到所有的jsp页面( url-pattern为/*)。 结论: 使用jsp过滤器可以轻松地解决中文乱码问题。通过定义一个过滤器类,实现Filter接口,并在web...

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

    首先,声明一个新的过滤器,给它一个唯一的名称,例如`EncodingFilter`,并指定过滤器的实现类,如`com.filters.SetCharacterEncodingFilter`。在这个例子中,`&lt;init-param&gt;`标签用于设置字符编码和忽略大小写的参数...

    java filter过滤器

    - `init(FilterConfig filterConfig)`: 这是过滤器的初始化方法,Servlet容器在加载过滤器时会调用此方法,传递一个`FilterConfig`对象,从中可以获取配置信息。 - `doFilter(ServletRequest request, Servlet...

    过滤器实现get请求乱码问题

    过滤器(Filter)是Java Servlet API的一部分,允许我们在请求到达目标Servlet或JSP之前对其进行拦截和处理。在这个场景下,我们需要创建一个专门的过滤器来解决GET请求的编码问题。 首先,我们需要了解HTTP协议的...

    java配置过滤器,解决乱码

    标题提到的"java配置过滤器,解决乱码",实质上是通过使用Servlet过滤器(Filter)来处理HTTP请求和响应中的编码问题,确保数据在传输过程中不出现乱码。下面我们将深入探讨Java中的乱码问题,以及如何通过配置过滤...

Global site tag (gtag.js) - Google Analytics