博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Struts2中提交出现乱码的问题
阅读量:6614 次
发布时间:2019-06-24

本文共 1172 字,大约阅读时间需要 3 分钟。

在 Struts2 中出现乱码,在多次试探之后发现是在提交和读取的时候出现了编码不一致的错误。

由于提交的时候是由 utf-8 编码,而在读取的时候却是采用了 GBK 读取,由于编码上不一致导致乱码。

而要解决乱码,第一是要看网页的编码方式,在以下两行中

<%@ page language="java" contentType="text/html; charset=utf-8"%>

可以采用过滤器的方式进行统一设置。

import javax.servlet.*;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;@WebFilter(filterName = "CodeFilter", urlPatterns = {
"/*" })public class CodeFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
HttpServletRequest rq = (HttpServletRequest) request; HttpServletResponse rp = (HttpServletResponse) response; rq.setCharacterEncoding("utf-8"); rp.setCharacterEncoding("utf-8"); rp.setContentType("text/html;charset=utf-8"); rp.setHeader("Cache-Control", "no-cache"); rp.setHeader("Pragma", "no-cache"); rp.setDateHeader("expires", -1); chain.doFilter(request, response); }}

另一方面便是可能是你的 Struts2 的配置文件中出现错误。

修改 Struts2 的配置文件

检查这一行是否与使用的编码相同

完成以上两步,乱码问题基本就能解决了。

转载于:https://www.cnblogs.com/xfx98/p/10667460.html

你可能感兴趣的文章
小程序获取用户信息
查看>>
利用python构建一个简单的推荐系统
查看>>
【Android学习】之Activity的启动模式
查看>>
并行化:你的高并发大杀器
查看>>
内存泄漏优化
查看>>
Java NIO(十八)实例
查看>>
Java记忆篇 - 关键字与保留字
查看>>
第1章—Spring之旅—容纳你的Bean
查看>>
史上最详细git教程
查看>>
珍惜相聚,亦珍惜离别
查看>>
[ JS 进阶 ] 异步编程 promise模式 的简单实现
查看>>
网络请求LCNetwork
查看>>
GitCafe「项目转让」功能现已上线
查看>>
深入剖析最新IE0day漏洞
查看>>
从高频笔/面试题思考Android学习/进阶路线(Java篇)
查看>>
[Maven实战](7)坐标
查看>>
node.js 爬虫
查看>>
浏览器推送 comet
查看>>
[Dubbo日记](2)Dubbo-admin安装
查看>>
第O章 三才者,天地人
查看>>