当前位置: 首页 > 后端技术 > Node.js

SpringMVC框架是如何实现请求转发和重定向的?

时间:2023-04-03 21:10:58 Node.js

Redirect方法请求转发重定向案例实践Springmvc默认以服务器内部转发的形式显示页面信息。还支持重定向页面。重定向重定向到jsp中文会出现乱码/***重定向到jsp中文会出现乱码*/@RequestMapping("/queryView1")publicStringqueryView1(){return"redirect:v1.jsp?a=xxx&b=123456";}重定向jsp中文乱码解决/***重定向jsp中文乱码解决*/@RequestMapping("/queryView3")publicStringqueryView3(RedirectAttributesattr){attr.addAttribute("a","xxx");attr.addAttribute("b","xxx");返回“重定向:v1.jsp”;}重定向到jspModelAndView1/***重定向到jspModelAndView1*/@RequestMapping("/queryView4")publicModelAndViewqueryView4(RedirectAttributesattr){ModelAndViewmv=newModelAndView();attr.addAttribute("a","xxx");attr.addAttribute("b","xxx");mv.setViewName("重定向:v1.jsp");回归MV;}带参数重定向到jspModelAndView2mv/***带参数重定向到jspModelAndView2mv*/@RequestMapping("/queryView5")publicModelAndViewqueryView5(){ModelAndViewmv=newModelAndView();mv.setViewName("redirect:v1.jsp");mv.addObject("a","xxx");mv.addObject("b","xxx");System.out.println("重定向..");returnmv;}重定向到Controller并传递参数/***重定向到Controller并传递参数*/@RequestMapping("/queryView6")publicStringqueryView6(RedirectAttributesattr){attr.addAttribute("a","xxx");attr.addAttribute("b","xxx");return"redirect:/user/queryUserById.do";}重定向到控制器模型和视图/***重定向到控制器模型和视图*@return*/@RequestMapping("/queryView7")publicModelAndViewqueryView7(){ModelAndViewmv=newModelAndView();mv.setViewName("redirect:/user/queryUserById.do");mv.addObject("a","xxx");mv.addObject("b","xxx");returnmv;}重定向页面值get${param.a}|||${param.b}转发到视图/***转发到视图*/@RequestMapping("/queryView8")publicModelAndViewqueryView8(){ModelAndViewmv=newModelAndView();mv.setViewName("v1");mv.addObject("a","xxx");mv.addObject("b","xxx");returnmv;}请求转发/***转发给控制器*/@RequestMapping("/queryView9")publicModelAndViewqueryView9(HttpServletRequestre任务){ModelAndViewmv=newModelAndView();mv.setViewName("forward:user/queryUserById2.do?a=xxx&b=xxx");回归MV;}页面值获取${a}||${b}extension获取request和response对象对于我们方法默认方法的参数为空。此时如何获取request和response对象呢?publicModelAndViewqueryUser(HttpServletRequest请求,HttpServletResponse响应){StringuserName=request.getParameter("userName");ModelAndViewmv=newModelAndView();mv.addObject("用户名",用户名);mv.setViewName("请求");回归MV;}uest,HttpServletResponseresponse){StringuserName=request.getParameter("userName");ModelAndViewmv=newModelAndView();mv.addObject("用户名",用户名);mv.setViewName("请求");回归MV;}