哆啦a梦教你页面的转发与重定向

简介: 哆啦a梦教你页面的转发与重定向

1. 简单实例

在Spring MVC的控制器方法中,常见的返回类型有ModelAndView、String、void。其中ModelAndView类型中可以添加Model数据并指定视图;String类型的返回值可以跳转试图,但是不能携带数据;void类型主要在异步请求时使用,只返回数据,不跳转视图。


由于ModelAndView类型未能实现数据与视图之间的解耦,通常返回类型会选择String,那么用String作为返回值类型时, 如何将数据带入视图页面呢?


这就需要Model参数类型来实现了,通过该参数类型,就可以添加需要在视图中显示的信息。


控制器方法如下:

@RequestMapping("/modelTest")
    public String modelTest(Model model){
        model.addAttribute("msg","这是一个Spring MVC 程序!");
        return "success";
    }

String类型除了返回上述代码的视图页面外,还可以进行重定向与请求转发


2. forward请求转发视图

在发送请求的时候,可以通过forward:来实现转发的功能

forward:也可以由一个请求跳转到另外一个请求


控制器方法如下:

@RequestMapping("/forwardTest")
    public String forwardTest(){
        return "forward:/modelTest";
    }

注意:当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部分作为最终路径通过转发的方式实现跳转。


3. redirect重定向视图

redirect :重定向的路径


控制器方法如下:

@RequestMapping("/redirectTest")
    public String redirectTest(){
        return "redirect:/modelTest";
    }

注意:当控制器方法中所设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最终路径通过重定向的方式实现跳转。


4. 重定向和转发的区别

4.1 转发

由服务器的页面进行跳转,不需要客户端重新发送请求:

特点如下:

1、地址栏的请求不会发生变化,显示的还是第一次请求的地址

2、请求的次数,有且仅有一次请求

3、请求域中的数据不会丢失

4、根目录:localhost:8080/项目地址/,包含了项目的访问地址

image.png


4.2 重定向

在浏览器端进行页面的跳转,需要发送两次请求(第一次是人为的,第二次是自动的)

特点如下:

1、地址栏的地址发生变化,显示最新发送请求的地址

2、请求次数:2次

3、请求域中的数据会丢失,因为是不同的请求

4、根目录:localhost:8080/ 不包含项目的名称

image.png


4.3 对比

image.png

相关文章
|
5月前
|
前端开发 搜索推荐 Java
重定向和转发到底有啥区别?看这篇就够了!
在Web开发中,重定向和转发是常见操作,但它们有何不同?本文将详细解析重定向与转发的原理、区别及实际应用,帮助你在开发中更好地选择和使用这两种技术。
837 0
|
6月前
|
小程序
Proxifier转发Burpsuite联动xray抓微信小程序数据包
Proxifier转发Burpsuite联动xray抓微信小程序数据包
209 0
QGS
|
容器
手拉手入门Servlet转发与重定向
转发与重定向的区别 在Web应用中通过两种方式,可以完成资源的跳转 转发、重定向
QGS
65 0
|
存储 Java 应用服务中间件
一文了解转发与重定向
一文了解转发与重定向
115 0
Servlet学习(九):请求重定向(例如:页面搬迁后的跳转)
Servlet学习(九):请求重定向(例如:页面搬迁后的跳转)
127 0
Servlet学习(九):请求重定向(例如:页面搬迁后的跳转)
|
缓存 负载均衡 Java
小程序文章转发到企业微信朋友圈——自己记录可能不适合每个人
小程序文章转发到企业微信朋友圈——自己记录可能不适合每个人
|
SQL Web App开发 开发框架
服务器上的网站被劫持收录跳转到灰色行业
3月份所有的企业都开始恢复正常运营,公司网站的运营者发现网站被攻击篡改跳转,在百度的收录出现了大量的与网站本身内容不相干的快照,都是一些菠菜或违规的内容,而运营者用的是单独服务器WIN2008系统在服务器里找了好久都没有发现被篡改的问题,而且公司对这个网站的声誉非常严谨,需要尽快恢复正常访问,这个运营者束手无策后,找到了我们SINE安全寻求服务,我们接手后立马安排安全技术对客户网站的整体情况以及百度收录的情况进行了排查,发现网站在春节期间被入侵篡改收录了大量的违规快照内容,而且服务器里还有其他的网站也同样被篡改,接下来我把处理过程简单总结一下
587 0
服务器上的网站被劫持收录跳转到灰色行业
转发与重定向有什么区别
转发与重定向有什么区别
124 0