学习笔记——SpringMVC处理响应数据;SpringMVC处理请求域响应乱码问题
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>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性