`
kdlqbz
  • 浏览: 29456 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类

Filter拦截器处理字符集问题

    博客分类:
  • java
阅读更多
package com.wenq.www.filter;

import java.io.IOException;
import java.util.Date;

import javax.servlet.*;

public class TestFilter implements Filter {
   
    FilterConfig config;
    String encoding;

    public void destroy() {
       
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        if(encoding!=null&&!encoding.equals("")){
            request.setCharacterEncoding(encoding);
            System.out.println("编码为:"+encoding);
        }
        else {
            request.setCharacterEncoding("GBK");
        }
        chain.doFilter(request, response);
    }

    public void init(FilterConfig config) throws ServletException {
        this.config = config;
        this.encoding=config.getInitParameter("encoding");
        System.out.println("insert encoding:"+encoding);
    }

}

web.xml

配置文件:

<filter>
    <filter-name>fristFilter</filter-name>
    <filter-class>com.wenq.www.filter.TestFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>fristFilter</filter-name>
    <servlet-name>/*</servlet-name>
</filter-mapping>

分享到:
评论

相关推荐

    SpringMVC拦截器

    拦截器可以用来统一处理字符集编码,确保数据的一致性和正确性。 2. **权限验证**:在用户访问特定资源之前,需要进行身份验证和授权检查。拦截器可以在请求到达业务逻辑层之前完成这些操作,确保只有经过验证的用户...

    拦截器和过滤器的区别

    拦截器的作用在于对请求进行预处理或后处理,比如权限验证、日志记录等。 - **过滤器**(Filter):过滤器是Servlet技术中的一个重要组成部分,用于对客户端发送到服务器端的HTTP请求或由服务器端返回给客户端的...

    struts03:拦截器、过滤器与拦截器的区别、文件上传

    过滤器的主要用途包括字符集编码转换、安全检查、登录验证等。与拦截器不同,过滤器更专注于请求和响应的生命周期,它们可以作用于整个Web应用或者特定的URL路径。 现在,我们来看看两者之间的关键区别: 1. 范围:...

    关于处理中文乱码问题 Filter 代码

    在Java Web开发中,Filter是Servlet API的一部分,它允许我们在请求被Servlet处理之前或之后进行拦截和处理。通过实现javax.servlet.Filter接口并配置在web.xml中,我们可以定义过滤逻辑,例如字符编码转换,权限...

    Filter过滤器(分类讨论,分类讲解)

    通过示例代码详细展示了如何编写和配置一个简单的Filter来解决字符集乱码问题。理解Filter的工作机制有助于开发者更好地利用这一功能来增强Web应用的安全性和功能性。在未来的学习和实践中,可以进一步探索更多高级...

    webfilter的教程

    `Filter`可以用于确保所有请求都被正确地解码为UTF-8或其他指定的字符集。通过重写`doFilter`方法,我们可以捕获请求,并使用`HttpServletRequest`的`setCharacterEncoding`方法来设置合适的字符编码,防止乱码问题...

    Filter过滤器的概念和使用

    在Java Web开发中,`Filter`是一种功能强大的机制,它能够拦截客户端请求,并在请求到达目标资源(如Servlet)之前或之后进行处理。这为开发者提供了极大的灵活性来添加诸如编码处理、登录验证、权限检查等功能。 #...

    用Filter来解决中文表单提交问题

    `Request`类中的`toChi()`方法用于将ISO-8859-1编码的字符串转换为GBK编码,这是处理从西方字符集转换到中文字符集的常见做法。当接收到POST请求时,`doFilter()`方法会调用`request.setCharacterEncoding("GBK")`来...

    SSM整合 配置文件 文件上传 过滤器 拦截器 连接数据库

    2. **spring-mvc.xml**:SpringMVC的配置文件,用于配置DispatcherServlet、视图解析器(ViewResolver)、模型视图对象(ModelAndView)处理、拦截器(Interceptor)等。 3. **mybatis-config.xml**:MyBatis的全局...

    Servlet-1-filter-3.rar

    在本例中,我们可能有一个专门的Filter来处理请求和响应的编码转换,确保数据始终以正确的字符集进行解码和编码。 实现全站防乱码控制通常包括以下步骤: 1. **配置Filter**:在web.xml配置文件中,我们需要声明一...

    基于tomcat8 编写字符编码Filter过滤器无效问题的解决方法

    基于tomcat8 编写字符编码Filter过滤器无效问题的解决方法 在基于tomcat8 的Web应用程序中,字符编码问题是常见的问题之一。特别是在处理POST请求时,中文字符可能会出现乱码的情况。为了解决这个问题,我们可以...

    java 请求参数过滤拦截

    4. **白名单策略**:只允许特定字符或字符集,而非黑名单策略(即阻止某些字符)。这可以更有效地控制输入,降低漏网之鱼的可能性。 5. **长度限制**:设置参数的最大长度,防止过长的输入导致内存溢出或其他安全...

    简单使用Filter模拟Servlet中的过滤器

    在实际项目中,Filter的应用非常广泛,例如实现登录验证、字符集编码转换、GZIP压缩、安全控制等。通过理解和熟练使用Filter,开发者可以更好地控制和优化Web应用程序的行为。 由于提供的压缩包文件名为`webfilter`...

    JSP-Filter的简单练习

    5. **字符集转换**: 自动将请求和响应的字符集转换为服务器支持的格式。 **五、Filter的级联与多Filter处理** 在实际应用中,可能需要多个Filter协同工作。通过`FilterChain`对象,我们可以依次调用下一个Filter,...

    FilterAndInterceptor

    比如过滤掉非法url或者在传入servlet/struts的action前统一设置字符集,或者去除掉一些非法字符等; 拦截器--它由spring管理,只对action起作用,不能拦截jsp页面、图片等其他资源。执行顺序:过滤前 - 拦截前 - ...

    Filter模式-2013-8-9

    字符编码Filter会确保请求和响应都使用正确的字符集;日志Filter则记录请求和响应的详细信息,便于调试和监控。 Struts2框架也利用了Filter模式。在Struts2中,StrutsPrepareAndExecuteFilter是主要的过滤器,它...

    struts2.0字符编码使用过滤器

    Struts2.0是一个基于MVC设计模式的Java Web框架,它整合了WebWork和Struts1的优点,提供了更强大的动作调度、拦截器和结果类型等功能,有助于简化Web应用的开发。 2. **字符编码问题** 字符编码问题通常出现在...

    servlet filter大全

    Servlet过滤器是Java Web开发中的一个重要概念,它允许开发者在请求到达Servlet之前或者响应离开Servlet之后进行拦截处理。"servlet filter大全"这个主题涵盖了多种常见的过滤器设置,旨在提高应用的功能性和安全性...

    servlet系列之Filter

    例如,我们可以在doFilter方法中通过HttpServletRequest的setCharacterEncoding方法来设置请求的编码,通过HttpServletResponse的setContentType方法来指定响应的MIME类型和字符集。 ```java public void doFilter...

    处理struts乱码

    Struts2的核心拦截器Stack默认使用ISO-8859-1编码处理请求参数,这可能导致非英文字符乱码。可以通过自定义拦截器或者修改全局配置来改变这个行为。例如,在`struts-default.xml`或自定义的配置文件中添加以下代码...

Global site tag (gtag.js) - Google Analytics