与视图解析器的关系
有视图解析器时转发和重定向都可以成功,
无视图解析器时转发需要补全路径才能成功,重定向不能访问WEB-INF下的页面(如图中的test.jsp)
视图解析器配置在web.xml中绑定的springmvc配置文件中
有视图解析器时
转发返回视图名称即可,重定向使用redirect:/View_name.jsp
/*
通过SpringMVC来实现转发和重定向——有视图解析器;
重定向,不需要视图解析器,本质就是重新请求一个新地方嘛,所以注意路径问题.
可以重定向到另外一个请求实现.
*/@RequestMapping("/m2/t1")public String test1(Model model){model.addAttribute("msg","HelloDispatcher");//转发return "test";}@RequestMapping("/m2/t2" )public String test2(){//重定向return "redirect:/index.jsp";}
无视图解析器时
转发需补全视图页面路径,重定向页面必须是非WEB-INF下的页面
@Controller
public class ModelTest1 {@RequestMapping("/m2/t1")public String test1(Model model){model.addAttribute("msg","HelloDispatcher");//转发return "forward:/WEB-INF/jsp/test.jsp";//需补全路径,不加forward也可以,默认就是转发}@RequestMapping("/m2/t2" )public String test2(Model model){model.addAttribute("msg","HelloDispatcher");//重定向return "redirect:/index.jsp";}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"version="5.0"><!--配置DispatcherServlet,这个是SpringMVC的核心:请求分发器,前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--关联一个spring的配置文件: [servlet-name]-servlet.xmL--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!--/匹配所有的请求: (不包括.jsp) --><!--/*匹配所有的请求; (包括.jsp) --><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>
springmvc-servlet.mxl
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><context:component-scan base-package="com.kuang.controller"/><mvc:default-servlet-handler/><mvc:annotation-driven /><!-- 视图解析器--><!--<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver" ><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean>-->
</beans>