Java课题笔记~ SpringMVC的四种跳转方式

默认的跳转是请求转发,直接跳转到jsp页面展示

还可以使用框架提供的关键字redirect,进行一个重定向操作,包括重定向页面和重定向action,使用框架提供的关键字forward,进行服务器内部转发操作,包括转发页面和转发action。

当使用redirect:和forward:关键字时,视图解析器中前缀后缀的拼接就无效了。

页面部分:

java 复制代码
<!--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部分:

java 复制代码
@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.7 SpringMVC支持的默认参数类型

这些类型只要写在方法参数中就可以使用了。

1)HttpServletRequest 对象

2)HttpServletResponse 对象

3)HttpSession 对象

4)Model/ModelMap 对象 

5)Map<String,Object>对象

注意Model,Map,ModelMap都使用的是request请求作用域,意味着只能是请求转发后,页面才可以得到值。

相关推荐
2401_885885041 分钟前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
Percep_gan2 分钟前
调用天翼云的对象存储ZOS,很详细
java·1024程序员节
若亦_12 分钟前
数据结构>>优先级队列(堆)
java·数据结构
程序猿乐锅20 分钟前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
Wang's Blog22 分钟前
Java 项目实战: 交友项目 - 查询圈子个人动态:查询我的动态需求分析
java·开发语言·交友
denlaku24 分钟前
JDK 23 新特性详解
java
fish_zzzz29 分钟前
笔记--浅谈内存,存储空间,BIOS芯片,显卡GPU、VRAM(1)
笔记·1024程序员节
凯瑟琳.奥古斯特34 分钟前
力扣1016高效解法:剪枝优化技巧
开发语言·c++·算法·leetcode·职场和发展
ACP广源盛1392462567335 分钟前
PCIe Gen3 交换芯片选型笔记:多路扩展方案 IX7024@ACP 评估
笔记·硬件架构·pcie·国产芯片
code2cat37 分钟前
Java高级篇之Hibernate:让对象映射到表,理解持久化与事务
java·后端·hibernate·1024程序员节