最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

播报:学习笔记——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;    }

测试Response数据

测试testModelAndView数据

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请求乱码

(3)解决响应乱码

response.setCharacterEncoding("GBK");response.setContentType("text/html;charset=UTF-8");

2、使用CharacterEncodingFilter步骤

(1)注意:CharacterEncodingFilter必须注册在第一个过滤器位置

(2)步骤:

①注册CharacterEncodingFilter

②为CharacterEncodingFilter设置初始化

            CharacterEncodingFilter        org.springframework.web.filter.CharacterEncodingFilter                    encoding            UTF-8                            forceEncoding            true                        CharacterEncodingFilter        /*    

关键词: 数据共享 必须注册