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

2023-11-10

默认的跳转是请求转发,直接跳转到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.7 SpringMVC支持的默认参数类型

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

1)HttpServletRequest 对象

2)HttpServletResponse 对象

3)HttpSession 对象

4)Model/ModelMap 对象 

5)Map<String,Object>对象

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java课题笔记~ SpringMVC的四种跳转方式 的相关文章

随机推荐

  • coverity分析端软件环境搭建

    在某linux机器的 share2 coverity 目录下安装使用coverity说明 从官网下载安装文件 cov analysis linux64 2019 06 sh 放置于 share2 coverity 目录下 我是由于机器安装软
  • arch linux 防火墙,Arch linux操作系统之Firewalld防火墙安装使用

    本篇文章将介绍一下Arch下安装配置firewall防火墙 Centos7 X系列 FirewallD默认直接开启的 root Centos6 chkconfig list grep iptables centos6 x系列 iptable
  • c++day4

    仿照string类 完成myString 类 include
  • 【译】用 Rust 实现 csv 解析-part7

    Rust and CSV parsing 译文 用 Rust 实现 csv 解析 part7 原文链接 https blog burntsushi net csv 原文作者 BurntSushi 译文来自 https github com
  • 【华为OD机试真题】网上商城优惠活动(python版)100%通过率 超详细代码注释 代码解读

    华为OD机试真题 2022 2023 真题目录 点这里 华为OD机试真题 信号发射和接收 试读 点这里 华为OD机试真题 租车骑绿道 试读 点这里 网上商城优惠活动 时间限制 1s 空间限制 50MB 限定语言 不限 题目描述 背景 某网上
  • C++的++

    include stdafx h int main int x y m n x 0 x x printf x 0 x x的值是 d n x x 0 y 0 y x printf x 0 y 0 y x的值是 d n y x 0 x x pr
  • Zotero使用指南02:配合Word

    转载Zotero使用指南02 配合Word Zotero是一款广受好评的文献管理软件 其具有四大优点 首先是开源免费 源代码托管在Github平台 其次 其软件界面基于浏览器内核 支持Windows MacOS Linux多种操作系统 此外
  • Threejs基础代码段(二)Tweenjs补间动画

    一 Tweenjs是什么 tween js是一款可生成平滑动画效果的js动画库 只需要告诉tween你想修改什么值 以及动画结束时它的最终值是什么 动画花费多少时间等信息 tween引擎就可以计算从开始动画点到结束动画点之间值 来产生平滑的
  • sqlmap tamper脚本_注入工具 -- sqlmap(注入参数)

    任何关系走到最后 不过相识一场 有心者有所累 无心者无所谓 情出自愿 事过无悔 不负遇见 不谈亏欠 一 指定数据库类型 dbms http 192 168 1 121 sqli Less 1 id 1 name 2 dbms mysql d
  • 前后端部署具体详解(Go+Vue+Nginx)

    与你相识 博主介绍 本人是普通大学生一枚 每天钻研计算机技能 CSDN主要分享一些技术内容 因我常常去寻找资料 不经常能找到合适的 精品的 全面的内容 导致我花费了大量的时间 所以会将摸索的内容全面细致记录下来 另外 我更多关于管理 生活的
  • AcWing 172. 立体推箱子 BFS+状态表示

    题 代码参考了书上的 判断是否合法的函数写的好精简 这题理解了 就能很好的理解BFS 状态表示的理解 lie 0 立着 lie 1 横着躺着 lie 2 竖着躺着 j 0123分别表示左右上下 nextx i j 代表lie i时x往j方向
  • C++进阶:继承

    继承 面向对象的三大特性 封装 继承 多态 继承在实际中用的也不是太多 但必须能熟练使用 1 继承的概念 继承机制是面向对象思想中复用代码的一种手段 它能够在原有类的特性的基础上进行扩展 由此产生新的类 称为派生类 原有类称作基类 继承体现
  • mybatis 中的<![CDATA[ ]]>用法及说明

    作用 在mybatis ibatis等书写SQL的xml中比较常见 是一种XML语法 他的作用是 可以忽略xml的转义 在该标签中的语句和字符原本是什么样的 在拼接成SQL后还是什么样的 使用 select from user where
  • 如何自定义设置虚拟机的的IP地址

    如何自定义设置虚拟机的的IP地址 之前我们装虚拟机的时候是选择使用DHCP服务器帮我们自动分配 现在我们想固定一个IP给虚拟机 方便以后使用 1 首先我们需要知道虚拟机可用的网段是哪一段 在VMware的主页点击编辑 然后点击里面的虚拟网络
  • 【区块链】(四)之常见的加密算法

    我们经常在谍战片里看到 我军传递情报用电报发送 但敌人也可以截取电报 这就需要对电报发送的内容进行加密 当时常用的加密方式是通过一段密文 对情报进行加密 比如说是当天的日报 这种属于对称加密 差不多是DES加密算法 这里简单介绍几种 主要介
  • 对话生成模型中的条件变分自编码器(CVAE)

    废话不多说直接上模型 这是一个非常经典的对话生成模型 叫做HRED Hierarchical RNN Enconder Decoder 思路很简单 就是用一个RNN来建模前 j 1 j 1 j 1句话 再用一个RNN来建模第 j j j句话
  • 实验3:C++多态编程——实验任务五

    实验任务五 人 学生和教师 设计一个类people 有保护数据成员 age 年龄 整型 name 姓名 string 行为成员 两个构造函数 一个默认 另一个有参数 默认析构函数 void setValue int m string str
  • (七)nodejs写http服务

    1 加载http模块 var http require http 2 创建http服务对象 var server http createServer 3 监听request请求事件 server on request function re
  • c语言作业:一帮一

    一帮一学习小组 是中小学中常见的学习组织方式 老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组 本题就请你编写程序帮助老师自动完成这个分配工作 即在得到全班学生的排名后 在当前尚未分组的学生中 将名次最靠前的学生与名次最靠后的异性学生分
  • Java课题笔记~ SpringMVC的四种跳转方式

    默认的跳转是请求转发 直接跳转到jsp页面展示 还可以使用框架提供的关键字redirect 进行一个重定向操作 包括重定向页面和重定向action 使用框架提供的关键字forward 进行服务器内部转发操作 包括转发页面和转发action