SpringMVC跳转、视图解析器和@ResponseBody的用法

1.跳转方式

(1)默认方式字符串内容来转发

(2)设置返回值内容转发

添加redirect:资源路径·  重定向

添加forward:资源路径 或省略  转发

  @RequestMapping("demo4")public String demo4() {System.out.println("转发");return "redirect:/images/test.jsp";}

2.视图解析器

(1)Spring会提供默认视图解析器

(2)自定义视图解析器,在springmvc.xml中自己配置ViewResolver,下面表示在根目录下的所有jsp文件可省略文件格式

 <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean>

这里的返回视图不带.jsp文件也能返回了

(3)如果希望不执行自定义视图解析器,可以在方法返回值前面添加forward:或redirect:

     public String demo4() {System.out.println("转发");return "forward:demo5";}@RequestMapping("demo5")public String demo5() {System.out.println("转发2");return "main";}

3.@ResponseBody。它用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

@RequestMapping("login")@ResponseBodypublic User login(User user){return user;}

  User字段:userName pwd

  那么在前台接收到的数据为:'{"userName":"xxx","pwd":"xxx"}'

  效果等同于如下代码: 

 @RequestMapping("login")public void login(User user, HttpServletResponse response){response.getWriter.write(JSONObject.fromObject(user).toString());}

(1)在方法上只有@RequestMapping时,无论方法返回值是什么,他都会返回到jsp界面

(2)在方法上添加@ResponseBody后

如果返回值满足key-value形式(对象或map),把响应头设置为application/json;charset=utf-8,然后把转换后的内容输出流的形式响应给客户端,不会返回到相应视图。若不满足key-value,把响应头设置为text/html;charset=utf-8 ,produces表示content-type取值。

 @RequestMapping(value="demo6",produces="application/json;charset=utf-8")@ResponseBodypublic Flower demo6() {Flower flower=new Flower();flower.setId(1);flower.setName("rose");return flower;}@RequestMapping("demo7")public String demo7() {Flower flower=demo6();System.out.println(flower.getName()+" "+flower.getId());return "main";}

测试结果:

JavaWeb学习之路——SSM框架之SpringMVC(九)相关推荐

  1. JavaWeb学习之路——SSM框架之SpringMVC(八)

    SpringMVC参数传递:把内容写到方法(HandlerMethod)参数中,SpringMVC只要有这个内容,则会注入,在这里使用注解的方式来传递参数 前提使用springmvc注解功能,相应配置 ...

  2. JavaWeb学习之路——SSM框架之SpringMVC(七)

    Spring MVC: 简介:SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦.基于请求驱动指的 ...

  3. JavaWeb学习之路——SSM框架之Spring(五)

    前情提要请看JavaWeb学习之路--SSM框架之Spring(四)                                         整合Spring和Mybatis框架 1.在项目的 ...

  4. JavaWeb学习之路——SSM框架之Mybatis(三)

    数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...

  5. JavaWeb学习之路——SSM框架之Spring(四)

    SSM框架学习-Spring01 1,.Spring介绍 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同 ...

  6. JavaWeb学习之路——SSM框架之Mybatis(二)

    1.简介: 框架: 是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面给出的定义.它是一个半 ...

  7. JavaWeb学习之路——SSM框架之Spring(六)

    AOP:面向切面编程 1.介绍--AOP:面向切面编程.正常程序都是从上到下执行相关代码,aop是在纵向执行流程中添加横切面, 从左到右的关系.不需要修改成语原有代码,它将代码动态的切入到类的指定方法 ...

  8. SSM框架:SpringMVC

    SSM框架:SpringMVC 文章目录 前言 一.回顾 1. 学习方法说明 2. 回顾MVC架构 1.什么是MVC 2.MVC的结构分析 3.Model1时代 4.Model2时代 3. 回顾Ser ...

  9. SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)

    博客目录 SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 SSM框架(spring+springmv ...

最新文章

  1. java客户服务器程序预约口罩_团队作业(二):Github实训:口罩预约
  2. python 数据库操作 yeild from_Python数据库连接关闭
  3. 恭喜我自己装上了Windows Server 2008 R2 和使用Windows Live Writer 写日志
  4. [RDLC]报表根据字段列动态加载图片(二)
  5. ITK:创建另一个图像实例
  6. springboot mybatis ehcache_SpringBoot入门建站全系列(十四)集成Redis缓存
  7. php使用supervisor管理进程脚本
  8. python判断是否在docker中
  9. idea自动导入jar包的快捷键
  10. 删除目录及目录下所有文件与子目录
  11. VSCODE打开野火电机代码需要增加的配置 c_cpp_properties.json
  12. cobbler批量安装linux
  13. 首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。(已完善)...
  14. idea 优化_编程小技巧之 IDEA 的 Live Template
  15. ascll码表 ASCALL码表
  16. Xpose 建立新工程
  17. App Extension应用扩展
  18. 小猫爪:动手笔记01-FreeRTOS移植
  19. 最快路由器服务器地址,路由器中radius服务器IP地址要用什么样的IP
  20. 亚马逊 Alexa skill开发

热门文章

  1. 怎么查看页面跳转过程_faststonecapture注册码在哪?怎么获取?
  2. python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...
  3. 四、爬虫中的urllib库使用
  4. sklearn特征的提取(下)
  5. 排序学习(LTR)经典算法:RankNet、LambdaRank和LambdaMart
  6. 仅输入单张图片,就能“看”出物体材质!这篇图形学论文已被SIGGRAPH 2021收录...
  7. 有“声”以来,语音如何识别?
  8. 中国学霸们被世界名校集体退学,原因竟然是……
  9. HihoCode1721删除一个字符之后是回文字符串
  10. python绘制饼图双层_Python入门进阶:Python绘制饼图到Microsoft Excel