Spring学习-WebMVC

Spring WebMVC 通过Controller类和框架注解,将方法封装为 Web 接口,为前端或其他系统提供信息交互通道。

Http协议相关的注解功能场景实践
@Controller支持带页面的返回形式存在后端页面渲染的系统实际中使用不多,不推荐
@RestController纯数据返回的形式(JSON or XML)前后端分离的系统,只返回数据广泛使用
@RequestMapping将输入的URL映射到对应Controller方法常用于类头规范类下面的请求映射/[类级映射URL]/[方法级映射URL]
@GetMapping同@RequestMapping,只使用Get协议读取对象根据ID或者某个唯一信息获取某个对象信息
@PostMapping同@RequestMapping,只使用Post协议创建对象、复杂查询或者触发指定业务行为最常用的协议,通用性较强但是也容易被滥用
@PutMapping同@RequestMapping,只使用Put协议修改对象Put协议和Post协议相比,不需要服务器返回值
@DeleteMapping同@RequestMapping,只使用Delete协议删除对象实际中用得不多,业务上也大都是软删除

接口的输入输出参数也有对应的注解进行控制。

Http协议相关的注解功能场景实践
@RequestBody将请求中的body体通过(JSON)反序列化成指定的Java模型待创建/更新的对象信息大量输入信息的传入
@PathVariable将URL路径中的一部分映射到方法的简单类型的参数上抽取部分最关键的可变信息通常用于从URL中抽取对象的ID
@RequestParam将请求中的form体中的某个字段映射到方法的简单类型的参数上少量且可选的附加信息业务上用得不多
@RequestHeader将请求中的header体中的某个字段映射到方法的简单类型的参数上一些通用的信息上下文业务上用得不多,基本交给框架去处理一些技术信息
@ResponseStatus指定方法默认返回的http state码部分非主流程信息的返回业务上用得不多

REST 风格的接口编程

传统风格URL传统风格请求类型REST风格URLREST风格请求类型
/user/searchAll?name=billGET/user?name=billGET
/user/findOneById?id=1GET/user/1GET
/user/createOnePOST/userPOST
/user/updateOne?id=1POST/user/1PUT
/user/deleteOne?id=1POST/user/1DELETE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这个框架是在学习Spring的时候,为了积累学习成果,自己搭建的,一般的系统开发也可以直接使用,包括一个系统开发的基础功能。 以下是当时自己开发时的日志,大致可以说明框架里已有功能 1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本管理,服务根路径工具类,文件上传工具类 1.0.10 集成ueditor在线编辑器 1.0.11 地址联动 1.0.12 Excel工具类 Word工具类 Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 zookeeper工具类优化 增加工具类 1.0.16 页面html标志修改 httpclient中文支持 工具类增强(zip,reflect,thread) 1.0.17 ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 首页修改 dateformat.js 时间参数转换 SpringMVC配置文件集中 快递参数接口 1.1.4 des加解密字符串和文件 1.1.5 redis 加锁,redis升级成2.8.2 freemarker工具类 1.1.6 spring websocket 实现在线聊天 maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 导入Eclipse中 直接执行Jetty类的main方法就可以启动服务

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

什巳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值