后台响应数据的方式:
1.默认都是通过转发forward:所以地址栏从来没有变过
2.并且你要明白,存数据Model ModelAndView req return Use List…
①都是存入到requet作用域的
3.响应,如果想要采用转发或者重定向
(1)默认就是转发[forword:响应到的地址]
(2)指定重定向[redirect:响应到的地址]
4.配置了视图解析器[配置了前缀配置了后缀]始终回到指定的位置去找到JSP
<!-- ViewResolver 视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 设置视图路径的前后缀,该配置可以让我们写视图路径的时候更简单。 -->
<!-- 希望跳转jsp是[/WEB-INF/views/前缀][xxx变量][.jsp后缀] -->
<!-- 设置setPrefix【前缀】 -->
<property name="prefix" value="/WEB-INF/views/" />
<!-- 设置setSuffix【后缀】 -->
<property name="suffix" value=".jsp" />
</bean>
1.不要被限制!!!取消前缀后缀
[直接到视图解析器两个属性注释掉…]
2.请求地址随意写了,不会被前缀后缀限制…
3.代码中[转发]
①mv.setViewName(“forward:/index.jsp”);
②mv.setViewName(“redirect:/index.jsp”);
请求转发和重定向的区别:
请求转发 forward :
1、地址栏不会发生变化(重点)
2、发送了一次请求,请求对象只有一个(重点)
3、请求的顺序,最后一个response才起作用
4、forward不可以跨域访问,不是同一个服务器(重点)
5、可以访问到WEB-INF中的资源(重点)
6、请求的数据是相同的(response)
重定向redirect:
1、地址栏会发生变化
2、发送多此请求
3、请求对象不共享(请求头不一样)
4、重定向可以跨域访问
5、不能访问WEB-INF下面的资源