SpringMVC-乱码问题
乱码问题
1. 使用原生filter解决
1. 前端jsp
<%--
Created by IntelliJ IDEA.
User: Wang
Date: 2020/9/9
Time: 9:30
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="/e/t1" method="post">
<input type="text" name="name">
<input type="submit">
</form>
</body>
</html>
2. 编写controller
package com.wang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PostMapping;
@Controller
public class EncodingController {
//过滤器解决乱码
@PostMapping("/e/t1")
public String test(String name, Model model) {
System.out.println(name);
model.addAttribute("msg", name);
//返回的地址为转发的地址
return "test";
}
}
3. 编写过滤器
package com.wang.filter;
import javax.servlet.*;
import java.io.IOException;
public class EncodingFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("utf-8");
servletResponse.setCharacterEncoding("utf-8");
filterChain.doFilter(servletRequest, servletResponse);
}
@Override
public void destroy() {
}
}
4. 注册过滤器
<filter>
<filter-name>encoding</filter-name>
<filter-class>com.wang.filter.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意, 此处url-pattern要写为/*, 这是由于要拦截所有的东西
spring配置中则写/, 这是由于如果拦截了.jsp, 会继续将jsp中的跳转的url继续拦截, 当找不到controller时会报404错误!
2. 使用SpringMVC提供的过滤器实现
在web.xml中配置
<!--配置SpringMVC的乱码过滤-->
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意, 此处url-pattern要写为/*, 这是由于要拦截所有的东西
SpringMVC-乱码问题的更多相关文章
- springmvc乱码配置
web.xml配置 <!-- springmvc乱码 --> <filter> <filter-name>encodingFilter</filter-nam ...
- 关于SpringMVC乱码问题
关于SpringMVC运行Tomcat控制台出现乱码的情况(在网上找到一种方法亲测有效) 找到tomcat文件夹中的conf包下的logging.properties中找到 java.util.log ...
- springMVC乱码问题-转
彻底解决Spring MVC 中文乱码 问题 1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get ...
- springmvc乱码问题
在web.xml中加入 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter ...
- SSM&SSH项目中 springmvc 乱码问题解决
需要在web.xml文件中配置过滤器: <!-- 过滤器 过滤乱码 --> <filter> <filter-name>characterEncodingFilte ...
- 解决springmvc 乱码的方法
post乱码: 在web.xml添加post乱码filter: <filter> <filter-name>CharacterEncodingFilter</filter ...
- SpringMVC乱码解决
解决需要四个步骤:1.jsp页面编码 2.tomcat server.xml编码 3.使用filter对编码进行过滤 4.数据库编码设置 说明:四个地方的编码需要一致:本文使用gbk 1.js ...
- SpringMVC数据传递及乱码问题
基础环境搭建请参考SringMVC入门程序 一.SpringMVC数据处理 1:resful 路径传值 http://localhost/get/1/2 /* http://localhost/get ...
- SpringMVC 获取请求参数
1.获取Request response对象 在SpringMVC的注解开发中,可以选择性的接收Request和Response对象来使用 2.获取request对象请求参数 a.通过request对 ...
- java web 学习十(HttpServletRequest对象1)
一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...
随机推荐
- AlgorithmMan,一套免费的算法演示神器
概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/971 访问. 文章末尾附带GitHub开源下载地址. 0.概述 ...
- C#设计模式之9-装饰者模式
装饰者模式(Decorator Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/405 访问. 装饰者模 ...
- Quartz.Net的基础使用方法,多任务执行继续扩展
前一篇随笔讲了Quartz多任务的简单实现 Quartz.Net的基础使用方法,多任务执行 这一篇,来简单对前一篇进行一下简单的扩展 看了前一篇的代码会发现,每次新增一个任务还要去GetJobs方法里 ...
- Webpack 定义process.env的时机
定义 process.env的时机 如果已经提取了公共配置文件 webpack.common.js 分别定义了开发配置webpack.dev.js和生产配置webpack.prod.js 在webpa ...
- 自己动手编写一个Mybatis插件:Mybatis脱敏插件
1. 前言 在日常开发中,身份证号.手机号.卡号.客户号等个人信息都需要进行数据脱敏.否则容易造成个人隐私泄露,客户资料泄露,给不法分子可乘之机.但是数据脱敏不是把敏感信息隐藏起来,而是看起来像真的一 ...
- Homekit_Dohome_月球灯
此款月球灯可以使用Homekit或者Dohome App进行有效的智能控制,支持多种色彩和亮度调节,功能强大,有兴趣的可以去以下链接看看: https://item.taobao.com/item.h ...
- Linux内核之 进程调度
上一篇我们提到过进程状态,而进程调度主要是针对TASK_RUNNING运行状态进行调度,因为其他状态是不可执行比如睡眠,不需要调度. 1.进程调度概念 进程调度程序,简称调度程序,它是确保进程能有效工 ...
- 一进“dos”就自动进入上次的目录
这个原来在别的地方发过,但是后来发现有bug,处理windows下带有空格的长文件夹会出错.因为原来那个帖子已经不能编辑了,所以修改后写在这里. 这里的“dos”,就是windows下的命令行窗口,所 ...
- Python3 执行JS出现JSON未定义问题
two = function(e) { var t = e.data; e.url.match(/(https?:)?(\/\/)([^/]*)/) || (e.url = "https:/ ...
- Html5与CSS3(选择器)
<!-- 作者:offline 时间:2018-03-21 描述:1.全选择器 *{属性1:属性值2:属性2:属性值2:...:} 2.元素(标签)选择器 标签名{属性1:属性值2:属性2:属性 ...