广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Spring MVC数据响应处理详解
  • 791
分享到

Spring MVC数据响应处理详解

2024-04-02 19:04:59 791人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 内置视图解析器2. 使用原生servlet的对象传递数据3. 使用ModelAndView对象传输数据4. 使用Model、Map、ModelMap传输数据5. 使用ses

1. 内置视图解析器

spring mvc 中的视图解析器负责解析视图,可以通过在配置文件中定义一个ViewResolver来配置视图解析器,配置如下:

<!--默认的内置视图解析器-->
<bean id="viewResolver" class="org.springframework.WEB.servlet.view.InternalResourceViewResolver">
    <!--设置前缀-->
    <property name="prefix" value="/WEB-INF/templates"/>
    <!--设置后缀-->
    <property name="suffix" value=".html"/>
</bean>

定义了一个id为viewResolver的视图解析器,并设置了前缀后缀,这样设置的好处就是简化方法中定义的路径。在访问视图解析器是就会自动的增加前缀和后缀。

2. 使用原生servlet的对象传递数据

httpservletRequest:通过request对象获取请求信息

控制器方法:

//使用servlet传递数据
@RequestMapping("/testServlet")
public String testRequestByServletapi(HttpServletRequest request){
    request.setAttribute("test","hello,servlet");
    return "success";
}

3. 使用ModelAndView对象传输数据

当使用modelAndView对象的时候,返回值的类型也必须是ModelAndView,可以将要跳转的页面设置成view的名称,来完成跳转的功能,同时数据也是放到request域中。

使用方式:

  • 创建ModelAndView对象
  • 向模型对象中添加数据
  • 设置逻辑视图名
  • 返回ModelAndView对象

控制器方法:

 @RequestMapping("/testModelAndView")
    public ModelAndView testModelAndView(){
        //创建ModelAndView对象
        ModelAndView mav = new ModelAndView();
        //处理模型数据,即向请求域request共享数据
        mav.addObject("test","Hello ModelAndView");
        //设置视图名称
        mav.setViewName("success");
        return mav;
    }

ModelAndView对象的作用:

将控制器方法中处理的结果数据传递到结果页面,也就是把在结果页面上需要的数据放到ModelAndView对象中即可,其作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。

4. 使用Model、Map、ModelMap传输数据

springMVC中除了可以使用原生servlet的对象传递数据之外,还有什么其他的方式呢?
可以在方法的参数上传入Model,ModelMap,Map类型,此时都能够将数据传送回页面。

控制器方法:

@RequestMapping("/testModel")
public String testModel(Model model){
     model.addAttribute("test","Hello Model");
     return "success";
 }

 @RequestMapping("/testMap")
 public String testMap(Map<String,Object> map){
     map.put("test","Hello Map");
     return "success";
 }

 @RequestMapping("/testModelMap")
 public String testModelMap(ModelMap modelMap){
     modelMap.addAttribute("test","hello modelmap");
     return "success";
 }

如果方法的入参为Map,Model和ModelMap类型,Spring MVC会将隐含模型的引用传递给这些入参。在方法体内,开发者可以通过这个入参对象访问到模型中的所有数据,也可以向模型中添加新的属性数据,作用类似于request对象的setAttribute方法的作用: 用来在一个请求过程中传递处理的数据。

三者之间的关系:

  • Map为原生的储存键值的对象,里面很多的方法可以使用;
  • Model 只有寥寥几个方法只适合用于储存数据,简化了新手对于Model对象的操作和理解;
  • ModelMap 继承了 LinkedMap ,除了实现了自身的一些方法,同样的继承 LinkedMap 的方法和特性;
  • Map、Model、ModelMap的底层都是使用BindingAwareModelMap。
  • Map、Model和ModelMap返回的是地址路径

5. 使用session传输数据

HttpSession:通过session对象得到session中存储的对象

控制器方法

//向session域共享数据
@RequestMapping("/testSession")
 public String testSession(HttpSession httpSession){
     httpSession.setAttribute("testSessionScope","hello session");
     return "success";
 }

 //向application域共享数据
 @RequestMapping("/testApplication")
 public String testApplication(HttpSession session){
     ServletContext servletContext = session.getServletContext();
     servletContext.setAttribute("testApplicationScope","hello application");
     return "success";
 }

总结

到此这篇关于Spring MVC数据响应处理的文章就介绍到这了,更多相关Spring MVC响应处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Spring MVC数据响应处理详解

本文链接: https://www.lsjlt.com/news/149588.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring MVC数据响应处理详解
    目录1. 内置视图解析器2. 使用原生servlet的对象传递数据3. 使用ModelAndView对象传输数据4. 使用Model、Map、ModelMap传输数据5. 使用ses...
    99+
    2022-11-13
  • Spring MVC数据响应如何处理
    本篇内容介绍了“Spring MVC数据响应如何处理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 内置视图解析器Spring...
    99+
    2023-06-30
  • Spring Boot数据响应问题实例详解
    目录前言1、响应Json数据:Jackson.jar+@ResponseBody2、原理解析3、内容协商3.1、概述3.2、postman分别测试返回json和xml3.3、开启浏览...
    99+
    2022-11-13
  • Spring MVC项目中的异常处理详解
    目录前言1. 基于配置的简单异常处理2. 基于注解的全局异常处理总结 前言 我们在项目的开发中,难免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统...
    99+
    2022-11-13
  • SpringMvc请求处理参数 和 响应数据处理的示例详解
    目录1、请求处理参数1.1 请求参数 @RequestParam1.1.1 不使用 @RequestParam 注解1.1.3 使用 @RequestParam 注解1.2 请求头参...
    99+
    2022-11-13
  • 深入理解Spring MVC的数据转换
    本文主要给大家介绍了关于Spring MVC数据转换的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。数据绑定SpringMVC负责将request中的信息以一定的方式转换并绑定到处理方法的参数上。整个过程的处理核...
    99+
    2023-05-31
    spring mvc 数据转换
  • Java 超详细讲解Spring MVC异常处理机制
    目录异常处理机制流程图异常处理的两种方式简单异常处理器SimpleMappingExceptionResolver自定义异常处理步骤本章小结异常处理机制流程图 系统中异常包括两类: ...
    99+
    2022-11-13
  • Java Spring MVC获取请求数据详解操作
    目录1. 获得请求参数2. 获得基本类型参数3. 获得POJO类型参数4. 获得数组类型参数5. 获得集合类型参数6. 请求数据乱码问题7. 参数绑定注解 @requestParam...
    99+
    2022-11-12
  • SpringMVC响应处理详细解读
    目录数据处理及跳转1.结果跳转方式2.ResponseBody响应json数据1、导入关键jar导入依赖2、标签配置不过滤静态资源数据处理及跳转 1.结果跳转方式 ①.ModelAn...
    99+
    2022-11-13
  • 详解vue数据响应式原理之数组
    目录src/core/observer/index.jssrc/core/observer/array.js arrayMethods总结src/core/observer/inde...
    99+
    2022-11-13
  • Spring MVC基于注解的使用之JSON数据处理的方法
    目录1.JSON数据交互1.1 JSON概述1.1.1 对象结构1.1.2 数组结构1.2 JSON数据转换2. HttpMessageConverter2.1 @RequestBo...
    99+
    2022-11-13
  • SpringBoot响应处理实现流程详解
    目录1、相关依赖2、ReturnValueHandlers—返回值处理器3、HttpMessageConvert—消息转换器4、开启浏览器参数方式内容协商功能...
    99+
    2022-11-13
  • Spring MVC 自定义数据转换器的思路案例详解
    数据转换器是指将客户端 http 请求中的参数转换为业务方法中定义的形参,自定义表示开发者可以自主设计转换模式,HandlerAdapter 已经提供了通用的转换,比如将 Strin...
    99+
    2022-11-12
  • JavaSpringMVC数据响应超详细讲解
    目录1)页面跳转  2)回写数据3)配置注解驱动4)知识要点1)页面跳转   直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。  返回带有前缀的字符串: 转...
    99+
    2022-11-13
  • Spring Boot 多数据源处理事务的思路详解
    目录1. 思路梳理2. 代码实践2.1 案例准备2.2 开始整活LoadDataSource.java3. 总结首先我先声明一点,本文单纯就是技术探讨,要从实际应用中来说的话,我并不...
    99+
    2022-11-13
  • SpringBoot封装响应处理超详细讲解
    目录背景报文基本格式创建枚举类定义统一返回结果实体类定义返回工具类统一报文封装在接口中的使用统一异常处理小结背景 越来越多的项目开始基于前后端分离的模式进行开发,这对后端接口的报文格...
    99+
    2022-12-23
    SpringBoot封装响应处理 SpringBoot封装
  • 详解Vue3中响应式的特殊处理
    目录vue2 vs vue3新增属性的更新遍历数组方法的处理数组的变更方法总结vue2 vs vue3 两个响应式更新的核心区别在于Object.defineProperty 和 P...
    99+
    2023-05-15
    Vue3响应式特殊处理 Vue3响应式处理 Vue3响应式
  • Go语言Gin处理响应方式详解
    目录前言1.以字符串方式响应请求2.以json格式响应请求3.以xml格式响应请求4.以文件格式响应请求5.示例总结前言 本文介绍Gin框架处理响应数据,支持以字符串、json、xm...
    99+
    2023-01-07
    go语言 gin go语言gin框架 go语言gin框架面试题
  • Spring MVC中处理ajax请求的跨域问题与注意事项详解
     前言有时候前后台做数据交互,会遇到烦人的跨域请求问题,如果你还是一枚编程小白来说,无疑来说是很痛苦的事。当然网上也肯定会有一些解决方法。但自身实力有限,不一定会看的懂,能把问题解决了。所以下面这篇文章就来给大家总结介绍在Spri...
    99+
    2023-05-30
    springmvc ajax请求 跨域
  • Python Flask 请求数据获取响应详解
    目录一,请求数据及其获取        1.1请求相关数据1.2固定参数与转换器1.3查询参数获取1....
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作