学习笔记——SpringMVC处理响应数据;SpringMVC处理请求域响应乱码问题
2023-03-31 10:39:08 时间
2023-01-20
一、SpringMVC处理响应数据
1、处理响应数据方式一
(1)语法:使用ModelAndView对象作为返回值类型,处理响应数据
(2)底层实现原理
①数据共享到request域
②跳转路径方式:转发
(3)示例代码
@RequestMapping("/testModelAndView") public ModelAndView testModelAndView(){ ModelAndView mv = new ModelAndView(); //设置model mv.addObject("stuName", "zhangsan"); //设置view mv.setViewName("response_success"); return mv; }
<h3>测试Response数据</h3> <a th:href="@{/testModelAndView}">测试testModelAndView数据</a>
2、处理响应数据方式二
(1)语法:使用Map或Model或ModelMap作为参数入参,处理响应数据
(2)底层实现原理
①数据共享到request域
②跳转路径方式:转发
(3)示例代码
private final static String SUCCESSRESPONSE="response_success";
@RequestMapping("/testModelOrMapOrModelMap") public String testModelOrMapOrModelMap(ModelMap modelMap){ modelMap.addAttribute("stuName","lisi"); return SUCCESSRESPONSE; }
3、将数据共享到session域
(1)示例代码
@RequestMapping("/testSession") public String testSession(HttpSession session){ session.setAttribute("stuName","wangwu"); return SUCCESSRESPONSE; }
二、SpringMVC处理请求域响应乱码问题
1、javaWeb解决乱码
(1)解决POST请求乱码
request.setCharacterEncoding("UTF-8");
(2)解决GET请求乱码
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" connectionTime="20000" redirectPort="8443" />
(3)解决响应乱码
response.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=UTF-8");
2、使用CharacterEncodingFilter步骤
(1)注意:CharacterEncodingFilter必须注册在第一个过滤器位置
(2)步骤:
①注册CharacterEncodingFilter
②为CharacterEncodingFilter设置初始化
<!-- 解决中文乱码的过滤器(注意:该过滤器要放在最上面)--> <filter> <filter-name>CharacterEncodingFilter</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> <!-- 解决请求和响应乱码--> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
相关文章
- 入门指南 | 人工智能的新希望-强化学习全解
- 看穿机器学习(W-GAN模型)的黑箱
- 如何使用netstat命令验证DDOS入侵
- 看我如何发现Uber合作方网站XXE 0day漏洞并获得9000美元赏金
- 《云周刊》第122期:勒索病毒防护全攻略,不再让服务器裸奔
- 在UEFI模式下安装Ubuntu 14.04与Windows 8/8.1双启动
- 两个人相处久了会越来越像吗? | 无意识模仿的秘密
- 如何使用phpIPAM来管理IP地址和子网
- Linux script命令 —— 终端里的记录器
- ROS机器人程序设计(原书第2版)2.5 本章小结
- 用不到1000美元攒一台深度学习用的超快的电脑:继续深度学习和便宜硬件的探奇!
- 从恋爱到婚后的短信词频图发生了这些变化,你中了几枪?
- ngxtop:在命令行实时监控 Nginx 的神器
- 未来简史:你会爱上人工智能吗?
- 黑洞信息悖论:进入黑洞的信息去了哪里
- Logic Programming With Prolog学习笔记(一)
- 命令行之秘
- Logic Programming With Prolog学习笔记(二)
- 为创业公司CEO定制的完美日程表:如何安排你的一天最高产?
- 在Ubuntu 14.04 上使用Bacula和Webmin设置备份服务器