`
cui09
  • 浏览: 118137 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts中文过滤器

阅读更多

//生成自己的过滤器

package org.perfect.struts.filters;

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

public class ChineseFilter extends HttpServlet implements Filter {
   
      private FilterConfig filterConfig;

      public void init(FilterConfig filterConfig) throws ServletException {
          this.filterConfig = filterConfig;
      }

      public void doFilter(ServletRequest request, ServletResponse response,
              FilterChain filterChain) {
          try {
           
              String encoding=filterConfig.getInitParameter("encoding");//从WEB.xml配置文件中取出参数,这样我们可以通过配置修改编码格式.
              request.setCharacterEncoding(encoding);//设置请求的编码格式
              System.out.println(encoding);
              filterChain.doFilter(request, response);
          } catch (ServletException sx) {
              filterConfig.getServletContext().log(sx.getMessage());
          } catch (IOException iox) {
              filterConfig.getServletContext().log(iox.getMessage());
          }
      }
   

      public void destroy() {
      }
   
      protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
          super.doGet(arg0, arg1);
      }
   
      protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
          super.doPost(arg0, arg1);
      }
}

 

 ===============================

在web.xml中做结扎.

        <filter>
          <filter-name>ChineseFilter</filter-name>
          <filter-class>org.perfect.struts.filters.ChineseFilter</filter-class>
          <init-param>
              <param-name>encoding</param-name>
              <param-value>GBK</param-value>
          </init-param>
      </filter>
      <filter-mapping>
          <filter-name>ChineseFilter</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>

 

=================================

jsp中

<%@ page  contentType="text/html; charset=GBK" language="java" %>

分享到:
评论

相关推荐

    struts2过滤器代码

    页面开发时经常会出现中文乱码问题,需要我们对编码进行转换。手工转换很麻烦,写个过滤器就好多了。

    struts 常用过滤器

    中文乱码问题很头疼,但一个好的过滤器就可以解决问题啦

    struts2技巧,笔记.zip指定404,500页面 utf-8过滤器 防SQL注入 解决乱码

    Struts2提供了一个名为`ActionContextCleanUp`的过滤器,它负责清理ActionContext,确保请求处理过程中使用的字符集是UTF-8。在web.xml中添加此过滤器并配置为全局过滤器,可以确保所有请求都使用UTF-8编码,避免...

    STRUTS ActionForm乱码,servlet全局过滤器转义编码。

    Struts框架中的ActionForm乱码问题以及Servlet全局过滤器的转义编码处理是Java Web开发中常见的字符编码问题。在开发基于Struts的Web应用时,乱码主要出现在三个方面:页面显示乱码、参数传递乱码以及国际化资源文件...

    struts中文乱码问题解决详细步骤

    通过这些配置,大部分Struts中文乱码问题都能得到解决。但有时,问题可能源自于其他因素,比如静态资源(如CSS、JavaScript文件)的编码设置,或者是第三方库的编码处理不当。因此,排查问题时需全方位考虑,确保每...

    一个集成了分页和过滤器的struts web小项目

    Struts 是一个经典的Java Web框架...通过这个小项目,初学者可以了解到一个完整的Java Web应用的基本结构,学习如何在Struts框架下实现分页和过滤器,以及如何处理中文乱码问题,这些都是实际开发中常见的需求和挑战。

    Java servlet过滤器配置详解

    这些过滤器各有用途,例如`TilesFilter`用于处理Struts2的Tiles视图定义,`OpenSessionInViewFilter`则在请求结束时确保数据库会话关闭,防止长时间打开的连接导致资源浪费。 在实际项目中,过滤器可以组合使用,...

    struts下的汉字乱码问题

    总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...

    Struts2_内核中文文档.pdf

    在Struts1中,核心控制器是`ActionServlet`,而Struts2则采用了过滤器(Filter)的设计模式来实现控制器功能。`FilterDispatcher`作为一个过滤器,其主要职责是接收用户的HTTP请求并进行相应的处理。 **核心控制器...

    无意间发现的sturts过滤器

    描述中提到的"Struts过滤器可以解决页面之间的乱码问题",这是因为在Web应用中,尤其是涉及到中文字符时,乱码问题经常出现。Struts框架提供了一种机制,即通过自定义过滤器来处理这个问题。我们可以通过继承Struts...

    struts2中文学习文档

    1. **拦截器机制**:这是Struts2的核心概念之一,类似于过滤器,但更加灵活。拦截器可以处理请求的各个阶段,包括输入参数的校验、事务管理、日志记录等,极大地提高了开发效率和代码的复用性。 2. **结果类型**:...

    Struts2中文乱码问题最终解决方案

    在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`&lt;Connector&gt;`标签,添加`URIEncoding="UTF-8"`属性。这将强制...

    Struts2Action处理中文乱码

    然后,在你的`web.xml`配置文件中,你需要注册这个过滤器,并确保它在Struts2的`FilterDispatcher`之前执行,因为Struts2的过滤器可能会先处理请求,如果在这之后设置编码,可能已经来不及了。下面是如何在`web.xml`...

    struts文件

    - **执行流程概述**:当用户通过浏览器向服务器发送请求时,该请求首先被Struts2过滤器拦截,然后根据配置文件将请求分发给对应的Action类进行处理,最后返回结果视图给用户。 - **具体步骤**: - 用户发起HTTP...

    ssh框架乱码过滤器Filter

    本篇文章将详细探讨SSH框架中的中文乱码问题,以及如何通过实现自定义过滤器(Filter)来解决这一问题。 首先,我们要理解乱码的产生原因。在HTTP请求中,数据编码格式不一致是导致乱码的主要因素。例如,客户端...

    eclipse struts 中文乱码问题图解

    在Struts框架中,可以配置`struts-default.xml`或自定义的配置文件,添加全局过滤器来设定字符编码。例如: ```xml &lt;filter-name&gt;charsetFilter &lt;filter-class&gt;org.apache.struts2.dispatcher.filter....

    struts 2. 5.2解决中文乱码

    2. **修改`web.xml`**:在项目的`WEB-INF/web.xml`文件中,添加过滤器以确保请求和响应都使用UTF-8编码: ```xml &lt;filter-name&gt;characterEncodingFilter &lt;filter-class&gt;org.springframework.web.filter....

    struts2中文乱码解决Demo

    4. **过滤器处理**:可以创建一个自定义过滤器,用于在请求进入Struts2之前统一转换编码。在`web.xml`中配置这个过滤器,并在过滤器类中实现转换逻辑: ```xml &lt;filter-name&gt;CharacterEncodingFilter ...

    解决字符编码的过滤器

    在深入了解如何通过Struts2框架中的Servlet过滤器解决字符编码问题之前,我们先简要回顾一下字符编码的基本概念。字符编码是将计算机内部二进制数据转换为人类可读的文字的过程。常见的字符编码方式包括ASCII、GBK、...

Global site tag (gtag.js) - Google Analytics