JavaWeb学习之路——SSM框架之SpringMVC(九)
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(九)相关推荐
- JavaWeb学习之路——SSM框架之SpringMVC(八)
SpringMVC参数传递:把内容写到方法(HandlerMethod)参数中,SpringMVC只要有这个内容,则会注入,在这里使用注解的方式来传递参数 前提使用springmvc注解功能,相应配置 ...
- JavaWeb学习之路——SSM框架之SpringMVC(七)
Spring MVC: 简介:SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦.基于请求驱动指的 ...
- JavaWeb学习之路——SSM框架之Spring(五)
前情提要请看JavaWeb学习之路--SSM框架之Spring(四) 整合Spring和Mybatis框架 1.在项目的 ...
- JavaWeb学习之路——SSM框架之Mybatis(三)
数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...
- JavaWeb学习之路——SSM框架之Spring(四)
SSM框架学习-Spring01 1,.Spring介绍 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同 ...
- JavaWeb学习之路——SSM框架之Mybatis(二)
1.简介: 框架: 是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架.前者是从应用方面而后者是从目的方面给出的定义.它是一个半 ...
- JavaWeb学习之路——SSM框架之Spring(六)
AOP:面向切面编程 1.介绍--AOP:面向切面编程.正常程序都是从上到下执行相关代码,aop是在纵向执行流程中添加横切面, 从左到右的关系.不需要修改成语原有代码,它将代码动态的切入到类的指定方法 ...
- SSM框架:SpringMVC
SSM框架:SpringMVC 文章目录 前言 一.回顾 1. 学习方法说明 2. 回顾MVC架构 1.什么是MVC 2.MVC的结构分析 3.Model1时代 4.Model2时代 3. 回顾Ser ...
- SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统(功能包含分角色,报修管理、抄表管理、车位管理、房屋管理、业主管理、投诉管理、报修统计分析等)
博客目录 SSM框架(spring+springmvc+mybatis)+Mysql实现的社区物业管理系统 实现功能截图 系统功能 使用技术 代码 完整源码 SSM框架(spring+springmv ...
最新文章
- java客户服务器程序预约口罩_团队作业(二):Github实训:口罩预约
- python 数据库操作 yeild from_Python数据库连接关闭
- 恭喜我自己装上了Windows Server 2008 R2 和使用Windows Live Writer 写日志
- [RDLC]报表根据字段列动态加载图片(二)
- ITK:创建另一个图像实例
- springboot mybatis ehcache_SpringBoot入门建站全系列(十四)集成Redis缓存
- php使用supervisor管理进程脚本
- python判断是否在docker中
- idea自动导入jar包的快捷键
- 删除目录及目录下所有文件与子目录
- VSCODE打开野火电机代码需要增加的配置 c_cpp_properties.json
- cobbler批量安装linux
- 首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。(已完善)...
- idea 优化_编程小技巧之 IDEA 的 Live Template
- ascll码表 ASCALL码表
- Xpose 建立新工程
- App Extension应用扩展
- 小猫爪:动手笔记01-FreeRTOS移植
- 最快路由器服务器地址,路由器中radius服务器IP地址要用什么样的IP
- 亚马逊 Alexa skill开发
热门文章
- 怎么查看页面跳转过程_faststonecapture注册码在哪?怎么获取?
- python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...
- 四、爬虫中的urllib库使用
- sklearn特征的提取(下)
- 排序学习(LTR)经典算法:RankNet、LambdaRank和LambdaMart
- 仅输入单张图片,就能“看”出物体材质!这篇图形学论文已被SIGGRAPH 2021收录...
- 有“声”以来,语音如何识别?
- 中国学霸们被世界名校集体退学,原因竟然是……
- HihoCode1721删除一个字符之后是回文字符串
- python绘制饼图双层_Python入门进阶:Python绘制饼图到Microsoft Excel