springMVC-重定向和转发

1编写两个跳转的页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
我是转发过来的
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
我是重定向过来的
</body>
</html>

2 没有视图解析器的情况

测试前删除sptingmvc配置文件中的视图解析器

2.1 转发

有两种写法效果相同

2.1.1 第一种

@RequestMapping("/m1/t1")
public String test(){
    return "/WEB-INF/jsp/test2.jsp";
}

2.1.2 第二种

@RequestMapping("/m1/t2")
public String test1(){
    return "forward:/WEB-INF/jsp/test2.jsp";
}

配置Tomcat 测试

2.1.3 测试结果一

springMVC-重定向和转发

2.1.4 测试结果二

springMVC-重定向和转发

两次测试结果的地址栏没有变化

2.2 重定向

2.2.1 代码

@RequestMapping("/m1/t3")
public String test2(){
    return "redirect:/test3.jsp";
}

2.2.2 配置Tomcat测试

地址栏输入:http://localhost:8080/m1/t3

springMVC-重定向和转发

地址栏发生了变化

3 有视图解析器的情况

测试前保证sptingmvc配置文件中有视图解析器,如下代码

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>

3.1 转发

@RequestMapping("/m1/t1")
public String test(){
    return "test2";
}

3.2 重定向

@RequestMapping("/m1/t3")
public String test2(){
    return "redirect:/test3.jsp";
}

3.3 测试步骤和结果和上面完全相同

上一篇:springMVC-测试Controller控制器


下一篇:SpringMVC 全局异常统一处理