Struts2中解决参数传递乱码

本文详细介绍了如何在Struts2.1.6环境下配置Tomcat,包括修改server.xml文件设置URI编码方式,并在src目录下创建并实现CharacterEncodingFilter过滤器。同时,对web.xml文件进行修改,部署该过滤器以确保应用中所有请求的字符编码统一为UTF-8。

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

环境:

struts2.1.6

tomcat7

myeclipse blue 10

  1. 配置Tomcat。在Tomcat/conf/server.xml文件的70行,端口设置的一段里加入URI的编码方式,修改如下

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

2.在src目录下建立CharacterEncodingFilter.java,编写过滤器CharacterEncodingFilter,代码如下



 1: package com.hellopclee; 

 2: import java.io.IOException; 

 3: 

 4: import javax.servlet.Filter; 

 5: import javax.servlet.FilterChain; 

 6: import javax.servlet.FilterConfig; 

 7: import javax.servlet.ServletException; 

 8: import javax.servlet.ServletRequest; 

 9: import javax.servlet.ServletResponse; 

 10: 

 11: public class CharacterEncodingFilter implements Filter{ 

 12: 

 13: @Override 

 14: public void destroy() { 

 15: } 

 16: 

 17: @Override 

 18: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException { 

 19: request.setCharacterEncoding("utf-8"); 

 20: chain.doFilter(request, response); 

 21: } 

 22: 

 23: @Override 

 24: public void init(FilterConfig arg0) throws ServletException { 

 25: } 

 26: 

 27: }
3.修改项目里的web.xml文件,部署上面的过滤器。在<display-name></display-name>下面加上一下代码


 1: <filter> 

 2: <filter-name>characterEncoding</filter-name> 

 3: <filter-class>com.hellopclee.CharacterEncodingFilter</filter-class> 

 4: </filter> 

 5: <filter-mapping> 

 6: <filter-name>characterEncoding</filter-name> 

 7: <url-pattern>/*</url-pattern> 

 8: </filter-mapping> 
4.重启服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值