Java SpringMVC数据响应实例分析

1)页面跳转  

直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。 

Java SpringMVC数据响应实例分析

返回带有前缀的字符串:

转发:   forward:/WEB-INF/views/index.jsp

重定向:   redirect:/index.jsp

立即学习“Java免费学习笔记(深入)”;

通过ModelAndView对象返回

@RequestMapping("/quick2")public ModelAndView quickMethod2(){    ModelAndView modelAndView = new ModelAndView();    modelAndView.setViewName("redirect:index.jsp");    return modelAndView;}@RequestMapping("/quick3")public ModelAndView quickMethod3(){    ModelAndView modelAndView = new ModelAndView();    modelAndView.setViewName("forward:/WEB-INF/views/index.jsp");    return modelAndView;}

登录后复制

 在进行转发时,往往要向request域中存储数据,在jsp页面中显示,那么Controller中怎样向request 域中存储数据呢?

① 通过SpringMVC框架注入的request对象setAttribute()方法设置。

@RequestMapping("/quick")public String quickMethod(HttpServletRequest request){    request.setAttribute("name","zhangsan");    return "index";}

登录后复制

② 通过ModelAndView的addObject()方法设置。

@RequestMapping("/quick3")public ModelAndView quickMethod3(){    ModelAndView modelAndView = new ModelAndView();    modelAndView.setViewName("forward:/WEB-INF/views/index.jsp");    modelAndView.addObject("name","lisi");    return modelAndView;}

登录后复制

2)回写数据

直接返回字符串:Web基础阶段,客户端访问服务器端,如果想直接回写字符串作为响应体返回的话,只需要使用response.getWriter().print(“hello world”) 即可,那么在Controller中想直接回写字符串该怎样呢?

① 通过SpringMVC框架注入的response对象,使用response.getWriter().print(“hello world”) 回写数据,此时不需要视图跳转,业务方法返回值为void。

@RequestMapping("/quick4")public void quickMethod4(HttpServletResponse response) throws IOException {    response.getWriter().print("hello world");}

登录后复制

② 将需要回写的字符串直接返回,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法 返回的字符串不是跳转是直接在http响应体中返回。

@RequestMapping("/quick5")@ResponseBodypublic String quickMethod5() throws IOException {    return "hello springMVC!!!"; }

登录后复制

开发中往往要将复杂的java对象转换成json格式的字符串,我们可以使用web阶段学习过的json转换工具jackson进行转换,

1.在pom.xml中导入jackson坐标。

 com.fasterxml.jackson.core jackson-core 2.9.0 com.fasterxml.jackson.core jackson-databind 2.9.0  com.fasterxml.jackson.core jackson-annotations 2.9.0

登录后复制

2.通过jackson转换json格式字符串,回写字符串。  

@RequestMapping("/quick7")@ResponseBodypublic String quickMethod7() throws IOException {    User user = new User();    user.setUsername("zhangsan");    user.setAge(18);    ObjectMapper objectMapper = new ObjectMapper();    String s = objectMapper.writeValueAsString(user);    return s;}

登录后复制

返回对象或集合

通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数, 指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置:

                    

登录后复制

直接在方法中返回对象或集合

@RequestMapping("/quick8")@ResponseBodypublic User quickMethod8() throws IOException {    User user = new User();    user.setUsername("zhangsan");    user.setAge(18);    return user;}

登录后复制

3)配置注解驱动

在方法上添加  @ResponseBody就可以返回json格式的字符串,但是这样配置比较麻烦,配置的代码比较多, 因此,我们可以使用mvc的注解驱动代替上述配置。

在 SpringMVC 的各个组件中,   处理器映射器、   处理器适配器、   视图解析器称为 SpringMVC 的三大组件。

使用自动加载 RequestMappingHandlerMapping(处理映射器)和 RequestMappingHandlerAdapter(处理适配器)可用在Spring-xml.xml配置文件中使用        替代注解处理器和适配器的配置。

同时使用默认底层就会集成jackson进行对象或集合的json格式字符串的转换。

 

登录后复制

4)知识要点

SpringMVC的数据响应方式

1) 页面跳转          

直接返回字符串          

通过ModelAndView对象返回

2) 回写数据          

直接返回字符串          

返回对象或集合

以上就是Java SpringMVC数据响应实例分析的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2625998.html

(0)
上一篇 2025年3月7日 00:48:25
下一篇 2025年3月7日 00:48:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Java反射怎么定义和使用

    定义 在java程序运行期间动态获取和操作类、方法、属性等元素的能力被称为java反射。它使得我们可以在程序运行时获取一个类的信息,并对其进行操作,这极大地扩展了java语言的灵活性和可扩展性。 在Java中,每个类都有一个对应的Class…

    编程技术 2025年3月7日
    200
  • Java Agent怎么用

    Java Agent 技术简介 java agent 直译为 java 代理,也常常被称为 java 探针技术。 Java Agent 这种技术是在 JDK1.5 引入的,可以在运行时动态修改 Java 字节码。Java 中的类编译后形成字…

    2025年3月7日 编程技术
    200
  • Java Spring怎么实现定时任务

    java实现定时任务 jdk自带的库中,有两种方式可以实现定时任务,一种是timer,另一种是scheduledthreadpoolexecutor。 Timer+TimerTask 创建一个Timer就创建了一个线程,可以用来调度Time…

    2025年3月7日
    200
  • Java 中的异构系统集成和数据集成技术

    随着大数据和云计算技术的发展,企业和组织面临着多种异构系统的集成和数据交换的挑战。在这个背景下,java 的异构系统集成和数据集成技术得到了广泛的应用和发展。本文将从异构系统集成和数据集成的概念、java 中异构系统集成和数据集成的原理和应…

    编程技术 2025年3月7日
    200
  • Java 中的移动支付和金融科技技术

    随着人们生活方式和消费习惯的变化,移动支付和金融科技在全球范围内正在迅速发展。作为一种新兴的支付方式,移动支付已经成为了人们生活中不可或缺的一部分。java 作为一种强大的编程语言,在移动支付和金融科技领域也有着重要的作用。 移动支付的核心…

    编程技术 2025年3月7日
    200
  • Java 中的区块链和数字货币技术

    区块链和数字货币技术是如今最热门的技术之一,文章将对java中的区块链和数字货币技术进行探讨。 区块链是一个由多个块组成的链式结构网络,每个块存储着许多交易信息。 在Java中,区块链可以通过使用Spring Boot和Web3J等框架来实…

    编程技术 2025年3月7日
    200
  • Java语言中的微信小程序开发介绍

    微信小程序是一种轻量级的应用程序,可以在微信平台上运行,不需要下载安装,方便快捷。java语言作为一种广泛应用于企业级应用开发的语言,也可以用于微信小程序的开发。 在Java语言中,可以使用Spring Boot框架和第三方工具包来开发微信…

    编程技术 2025年3月7日
    200
  • Java语言中的云计算应用介绍

    云计算是近年来广受关注和推崇的一种计算模式,它通过集成计算和存储资源,并通过互联网提供这些资源给用户,为企业和个人提供更加灵活、可扩展的it服务。java作为一种广泛应用于企业级开发的编程语言,也成为了云计算应用中常见的语言之一。在这篇文章…

    编程技术 2025年3月7日
    200
  • Java语言中的在线支付应用开发介绍

    随着网络技术的不断发展和普及,线上支付的需求也越来越高。作为一门广泛应用于企业级开发的编程语言,java提供了丰富的库和工具,方便开发者开发高效、安全、可维护的在线支付应用。本文将介绍java语言中的在线支付应用开发,包括相关技术、安全性和…

    编程技术 2025年3月7日
    200
  • Java语言中的Hibernate框架介绍

    hibernate是一个开放源码的orm框架,它将关系型数据库和java程序之间的数据映射相互绑定,这样可以使开发人员更方便地访问数据库中的数据。使用hibernate框架可以大量减少编写sql语句的工作,提高应用程序的开发效率和可重用性。…

    编程技术 2025年3月7日
    200

发表回复

登录后才能评论