struts2 使用filter解决中文乱码问题

1、编写fliter的代码

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 FilterEncoding implements Filter {
protected String encoding=""; // 接收字符编码
protected FilterConfig filterConfig; // 初始化配置
public void init(FilterConfig filterConfig) throws ServletException {
// 从web.xml文件中读取encoding的值
encoding = filterConfig.getInitParameter("encoding");
}
// doFilter方法
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if(!encoding.equals("utf-8"))
{
encoding="utf-8";
}
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
public void destroy() {

}
}

2、修改web.xml文件

在文件所有filter之前加入以下内容

<filter>
<filter-name>encoding</filter-name>
<filter-class>com.FilterEncoding</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>

3、在jsp文件开头加入如下几行

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page pageEncoding="UTF-8" %>

注:1、<filter-class>路径要完整,以免找不到

时间: 2024-12-15 07:16:18

struts2 使用filter解决中文乱码问题的相关文章

SSH项目web.xml文件的常用配置【struts2的过滤器、spring监听器、解决Hibernate延迟加载问题的过滤器、解决中文乱码的过滤器】

配置web.xml(struts2的过滤器.spring监听器.解决Hibernate延迟加载问题的过滤器.解决中文乱码的过滤器) <!-- 解决中文乱码问题 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-c

Struts用Filter过滤器解决中文乱码

(1)首先看一下项目的结构:(就是com.lc.filter下的MyFilter.java) (2)其中MyFilter.java的代码如下: package com.lc.filter; //ctrl+shift+o 导入各种包 即可 /** * 过滤器的使用方法 * 在创建类的时候 要用到接口Filter * 要自己在web.xml文件中配置过滤器 * @author xuliugen * */ public class MyFilter extends HttpServlet implem

Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码

先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.henu.bean(User.java 用户数据库操作)和cn.edu.henu.util(DBConnection.java 数据库的连接操作)这两个包 <?xml version="1.0" encoding="UTF-8"?> <web-app x

解决中文乱码过滤器

解决中文乱码过滤器 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;

使用Filter处理中文乱码re

在web中当页面的编码格式和服务器的编码格式不一样时,向服务器传递中文就会出现乱码,那么如何解决呢?这里要分get请求和post请求,对于这两种不同的请求有不同的处理处理方式,处理方式如下: 1.post请求 post请求处理中文乱码相对简单,只需要在doPost()方法中设置请求的编码格式就行了,因为post请求的参数在请求体中.处理方式如下: protected void doPost(HttpServletRequest request,HttpServletResponse respon

java web过滤器实际应用(解决中文乱码 html标签转义功能 敏感字符过滤功能)

转载地址:http://www.cnblogs.com/xdp-gacl/p/3952405.html 在filter中可以得到代表用户请求和响应的request.response对象,因此在编程中可以使用Decorator(装饰器)模式对request.response对象进行包装,再把包装对象传给目标资源,从而实现一些特殊需求. 一.Decorator设计模式 1.1.Decorator设计模式介绍 当某个对象的方法不适应业务需求时,通常有2种方式可以对方法进行增强: 编写子类,覆盖需增强的

springmvc:配置解决中文乱码的过滤器

在web.xml中配置以下内容: <!--配置解决中文乱码过滤器--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!--初始化参数--> <init-param> &

Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

做个打飞机的游戏,由于版本太新,网上基本没有教教程,我的版本是cocos2d-x 3.1.1的,今天遇到cocos2dx中中文乱码的问题.无奈只好Google百度寻求答案,明白了这个问题的缘由.因为cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为GBK,如果添加L标志,则为Unicode编码. 解决这个问题有三种办法: 将源代码文件保存为utf8编码,不过由于编译器的问题,这种方式会导致很多无法预测的问题 将字符串用utf8编码集中存到一文件中,然后用代码读取这些字符串来

linux基础-zabbix解决中文乱码问题 (因为版本太新的问题,没有测试成功)

zabbix解决中文乱码问题 1.在windows系统中找一个自己喜欢的字体,这里我们用:msyh.ttf 2.将字体上传至/var/www/html/zabbix/fonts目录下 [[email protected] ~]# cd /var/www/html/zabbix/fonts/ [[email protected] fonts]# rz -yrz waiting to receive.???a? zmodem ′???£ °′ Ctrl+C ???£??′?? msyh.ttf...