持续创作,加速成长!这是我参与「掘金日新计划 · 6月更文挑战」的第25天,点击查看活动详情
1. SpringMVC的四种跳转方式
默认的跳转是请求转发,直接跳转到jsp页面展示,还可以使用框架提供的关键字redirect:,进行一个重定向操作,包括重定向页面和重定向action,使用框架提供的关键字forward:,进行服务器内部转发操作,包括转发页面和转发action。当使用redirect:和forward:关键字时,视图解析器中前缀后缀的拼接就无效了。
页面部分:
<!--ctrl+d:复制当前行-->\
<a href=" **${** pageContext.request.contextPath **}** /one.action">请求转发页面(默认)</a><br>\
<a href=" **${** pageContext.request.contextPath **}** /two.action">请求转发action</a><br>\
<a href=" **${** pageContext.request.contextPath **}** /three.action">重定向页面</a><br>\
<a href=" **${** pageContext.request.contextPath **}** /four.action">重定向action</a><br>
Controller部分:
@Controller\
public class JumpAction {\
@RequestMapping("/one")\
public String one(){\
System.*out*.println("请求转发页面(默认)");\
//以前的访问方式\
//request.getRequestDispatcher("/admin/main.jsp").forward(request,response);\
//观察地址栏的变化: http://localhost:8080/one.action\
//return "main"; //默认的访问方式是自动拼接前缀和后缀进行跳转\
return "forward:/fore/user.jsp";//只要使用了forward:就可以屏蔽前缀和后缀的拼接,自己手工构建返回的全部路径+.jsp\
}\
@RequestMapping("/two")\
public String two(){\
System.*out*.println("请求转发action");\
//观察地址栏的变化: http://localhost:8080/two.action\
return "forward:/other.action"; //不使用forward:,就会是这样的路径 /admin/other.action/.jsp\
}\
@RequestMapping("/three")\
public String three(){\
System.*out*.println("重定向页面");\
//观察地址栏的变化 http://localhost:8080/admin/main.jsp\
return "redirect:/admin/main.jsp";//只要使用了redirect:就可以屏蔽前缀和后缀的拼接\
}\
@RequestMapping("/four")\
public String four(){\
System.*out*.println("重定向action");\
//观察地址栏的变化 http://localhost:8080/other.action\
return "redirect:/other.action";//只要使用了redirect:就可以屏蔽前缀和后缀的拼接\
}\
}
2. SpringMVC支持的默认参数类型
这些类型只要写在方法参数中就可以使用了。
1)HttpServletRequest 对象
2)HttpServletResponse 对象
3)HttpSession 对象
4)Model/ModelMap 对象
5)Map<String,Object>对象