面试官:SpringMVC返回视图常见的 5 种方式,你会几种?

本文详细介绍了SpringMVC中响应视图的五种方式,包括返回ModelAndView、直接返回视图名称、指定视图解析器、以及重定向的两种实现,并通过用户管理案例进行实战演示,帮助读者深入理解并掌握这些技术。
摘要由CSDN通过智能技术生成

当 http 请求被自定义的 controller 处理时,如何指定响应的页面呢?

这个就是我们本文需要讨论的问题。

在 controller 中响应页面有很多种方式,稍后我们会一一介绍,大家需要掌握每种方式的用法以及这些方式之间的区别,以后能够灵活使用。

本文用到的页面都以 jsp 为例,其他页面模板技术,比如 freemarker、velocity、thymeleaf、enjoy,这些我们后面专门再开篇讲解。

1、本文内容

  • SpringMVC 返回页面的3种方式及区别
  • SpringMVC 重定向的2种方式及区别

2、软件版本

  • idea 2020.3.3
  • jdk1.8
  • ≥maven3.6.1
  • spring5.3.6
  • apache-tomcat-9.0.46

3、先来回顾下 servlet 中响应页面的 2 种方式

SpringMVC 底层是依靠 servlet 来实现的,所以我们先回顾下 servlet 中响应页面是如何实现的。

servlet 中响应页面有 2 种常见的方式,而 springmvc 中通常也是依靠这 2 种方式实现的。

方式 1:转向

request.getRequestDispatcher(path).forward(request,response);

1、path 为转向的地址

2、发生在服务器端,浏览器的地址栏不会发生变化

3、path 指定的页面,可以共享 request 请求中的数据

4、path 必须是服务器端的资源

方式 2:重定向

response.sendRedirect(location);

1、location 为重定向的地址

2、重定向发生在客户端(浏览器端),所以会导致浏览器地址栏发生变化,变为 location 指定的地址

3、重定向会导致浏览器重新向服务器端发生一次请求,请求地址为 location 指定的地址

4、location 可以为本服务器端的资源,也可以为外网可以访问的任意资源,比如:http://www.baidu.com

下面来详解 springmvc 中响应页面的 5 种方式。

4、方式 1:返回 ModelAndView

需求

通过 springmvc 实现用户列表功能,如下图

image.png

如何实现?

我们先来看一下如果用 servlet 是如何实现的,代码如下:

1、List<UserDto> userList = new ArrayList();2、request.setAttribute("userList",userList);3、request.getRequestD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值