struts1乱码问题

benbenxiong001 benbenxiong001 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
jsp头部:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
goodsName是需要在表单中录入,是中文的,在Action内取得后存到request内,后面作为URL参数传递
Action取得的方法是:
if(request.getParameter("goodsName") != null){
goodsName = new String(request.getParameter("goodsName").getBytes("ISO-8859-1"),"gb2312");
System.out.println(goodsName); //此处打印出来的是乱码
}

url:
goodsMaint.do?command=query&goodsName=${requestScope.goodsName}
处理编码的过滤器我也用了,代码如下:
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 EncodeFilter implements Filter {

public void destroy() {

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
chain.doFilter(request, response);
}

public void init(FilterConfig arg0) throws ServletException {

}

}

在web.xml中的配置如下:
<!-- 配置处理乱码的filter -->
<filter>
<filter-name>encodeFilter</filter-name>
<filter-class>com.lchq.filter.EncodeFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

在tomcat中也做了如下配置:
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="gb2312"/>

结果还是出现了乱码:'???'

不知道我说清楚没,请各位高手大哥帮忙看看问题所在!!!
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
benbenxiong001
其他 10,610 成员 29,026 内容