Struts中乱码问题的终极解决方案 (转)

本文介绍了一种在Struts框架下解决日文乱码问题的有效方法。通过创建一个自定义的ActionServlet类,并在该类中设置请求字符编码为UTF-8,然后替换web.xml文件中原有的ActionServlet配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在带新生的一个项目中遇到了日文乱码的问题,试了很多方法都没有成功,网上有人说是使用过滤器可以解决,不过我觉得有点复杂。后来发现居然还有下面这种NB的方法:
写一个继承自org.apache.struts.action.ActionServlet的类
Code:

 package com.xaccb.struts.util;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.struts.action.ActionServlet;
 
 public class CodeServlet extends ActionServlet
 {
 	private static final long serialVersionUID = 1L;
 
 	public CodeServlet()
 	{
 	}
 
 	protected void process(HttpServletRequest request,
 			HttpServletResponse response) throws java.io.IOException,
 			javax.servlet.ServletException
 	{
 		request.setCharacterEncoding("utf-8");
 		
 		super.process(request, response);
 	}
 
 }
 

用这个类把web.xml里面的org.apache.struts.action.ActionServlet替换掉.
Code:
 <servlet>
 	<servlet-name>action</servlet-name>
 	<servlet-class>
 	<!--把以前的替换掉org.apache.struts.action.ActionServlet-->
 	com.xaccb.struts.util.CodeServlet
 	</servlet-class>
 	<init-param>
 		<param-name>config</param-name>
 		<param-value>/WEB-INF/struts-config.xml</param-value>
 	</init-param>
 	<init-param>
 		<param-name>debug</param-name>
 		<param-value>3</param-value>
 	</init-param>
 	<init-param>
 		<param-name>detail</param-name>
 		<param-value>3</param-value>
 	</init-param>
 	<load-on-startup>0</load-on-startup>
 </servlet>
 

百试百灵,一劳永逸!太猛了!呵呵

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值