struts开发过程中常见的中文乱码问题可以分为两类:页面中文乱码和参数传递过程中的中文乱码
一、页面中文乱码
页面中文乱码相对简单,可以通过修改pageEncoding来修改编码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
二、参数传递过程中的中文乱码
在struts开发过程中经常出现传递参数过程中的中文乱码情况,比如提交表单或用户注册、登陆等过程中
解决的办法有两种:
1、通过修改tomcat的配置文件来更改编码类型
修改tomcat--->config--->server.xml文件
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
2、编写过滤器来处理中文乱码问题
过滤器的servlet
public class MyFilter extends HttpServlet implements Filter{
private String encoding;
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
// TODO Auto-generated method stub
//将编码方式设置为web.xml中encoding的初始值
arg0.setCharacterEncoding(encoding);
arg2.doFilter(arg0, arg1);
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
//获取web.xml中encoding的初始值
encoding=arg0.getInitParameter("encoding");
}
}
web.xml文件的配置(Eclipse在生成servlet文件时会自动配置web.xml,但是这和实际的filter的配置是不同的,所以必须删除自动配置的servlet,重新配置filter)
<!-- 部署filter -->
<filter>
<filter-name>MyFilter</filter-name>
<filter-class>com.sevend.filter.MyFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<!-- 完成对过滤器的映射 -->
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
struts中文乱码问题解决详细步骤(两种方法)
eclipse struts 中文乱码问题图解 页面乱码 参数乱码 国际化乱码
struts 中文乱码问题解决
解决myeclipse Struts中文乱码问题视频
struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结
Struts中文乱码解决方案
struts下的汉字乱码问题 经过测试
struts的中文乱码问题。。我想这对大多数朋友会有用的
关于StrutsPrepareAndExecuteFilter最新的过滤器,在Struts.xml定义常量<constant name="struts.i18n.encoding" value="UTF-8"/>无法解决post方式提交中文乱码问题。 关于Struts2各个版本、各种过滤器,用get方式...
struts1.2 解决中文乱码(Java技术)
解决SSH中的struts2的中文乱码问题,里面暂且介绍了3种,其他的希望有人能提出来,让大家共享...
在进行web应用程序开发的过程中,中文问题经常困扰着很多程序员。因此,在接下来的两个课程的学习中,我将根据实践经验来谈一下web应用中的中文问题的解决方法。让大家不再为此而头痛。
struts2中存在中文乱码的问题解决方 中文乱码,首先要区分是页面乱码、action乱码,还是数据库乱码。 大致的原理是java使用unicode编码-->window使用gbk(gb2312的扩展集)--mysql默认使用utf-8(unicode的一种编码...
奇怪的struts2的中文乱码问题及解决.docx
解决中文乱码的问题
这是一个中文转化为相应的编码格式,在web页面里能够正常显示中文。
解决Struts2.0中文乱码详细方法。
在web开发的时候,经常会出现中文乱码,你首先看看,你的乱码问题是处在数据库方面呢? 还是代码中,这里的解决是代码中的乱码,里面有两种方法可以解决