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

本文共 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/10602942.html

你可能感兴趣的文章
学习笔记-实验楼项目课(Linux桌面字典)
查看>>
Spring基础问答
查看>>
iOS8 相机拍照问题 Snapshotting a view
查看>>
comparable 接口的使用示例
查看>>
剑指Offer之重建二叉树(题6)
查看>>
strace-跟踪进程执行时的系统调用
查看>>
三个数找最大 1.0
查看>>
判断大端与小端
查看>>
计算机科学技术基础知识之多媒体知识
查看>>
如何禁用笔记本键盘
查看>>
第一次开博客,虽然有点晚了,用来鞭策激励一下自己,加油!
查看>>
4.4作业(变更管理+安全管理)
查看>>
(二)JSP语法详细介绍--指令元素
查看>>
python 数据库处理
查看>>
ORACLE 字符集问题
查看>>
我今天为了理想而开始了新的页面
查看>>
Linux Bash Shell日期格式化和计算
查看>>
微软:俄罗斯APT28间谍组织袭击欧洲政治机构
查看>>
企业如何克服混合云存储问题
查看>>
mysql和oracle用法的区别
查看>>