新同事 spring mvc 培训教程及例子

 

项目有新人加入团队, 根据项目的情况,对刚毕业的新人做了一个很简单的入门培训,这是 spring mvc 部分,  分别有工程对应. 主要内容如下:

1. 实现最简单的 spring mvc 

2. spring mvc 与 model 绑定

3. spring mvc 增删改查,rest 风格, 必须使用 GET,POST,PUT,Delete. 

4. spring mvc 返回json 给客户端.

5. 讲义所用到的PPT,作为提纲.

严格的说来,这不是一整套 spring mvc 的学习材料和例子,但入门已经足够了。 本文是有原来做培训的PPT 转换而成,贴到博客上面样式估计有点难看。

RESTFUL API 设计原则

1. 当标准合理的时候遵守标准(因为很多标准的制定是学院派, 在实际应用 中可能不太适应,这种情况不多)。

2. API应该对程序员友好,并且在浏览器地址栏容易输入。

3. API应该简单,直观,容易使用的同时优雅。

4. API应该具有足够的灵活性来支持上层ui, 因为API一旦对外发布,就很难更改。

5. API的就是程序员的UI,和其他UI一样,你必须仔细考虑它的用户体验

在项目中应用RESTFUL API

重点关注资源状态变化: CRUD, 如下例子:

获取某一个具体的用户,比如id=12的用户

Method

URI

Description

GET

/users/12

PUT

/users

POST

/users

Delete

/users/12

思考,如果获取用户列表中具体的某一页内容,设计风格应该如何:

1. /users/page/1

2. /users/?page=1

哪种种方式更合理?

RESTFUL 总结

1. restfull是一种风格,不是规范,也不是所谓的封装,他只是将http 协议用的更彻底了,我们在普通的开发中,虽然说是基于http的,但是http中很多东西我们都没有用到,比如http的put,delete提交方式,通过http的Accept和Content-Type参数获得不同格式的数据。

2. http提供了get,post,delete,put,可以使用这四种不同的提交方式对应不同的业务操作,比如get就是查询,post是更新或新增,delete删除,put是更新

3数据格式,根据http请求的头信息中用Accept和Content-Type的类型,返回不同的数据格式, 比如html,xml,json 和图片等等。

4通过充分的使用http协议,我们可以忽略交互双方的平台,语言等等,就和websevice一样,我们要的仅仅的数据,符合规范格式的数据

5. HTTP1.0 中只支持 GET,POST. HTTP 1.1 中支持PUT,Delete 等方法,但在实际的开发过程中,可能会用不到 PUT, Delete 方法,而用POST 替代, 但也有三方的框架通过特殊的方式来支持PUT,Delete操作,比如SPRING 提供了特殊的方式来支持PUT,Delete 操作,将在SPRING MVC 部分介绍.

6. 不要为了REST 而REST.

Spring MVC

Spring MVC 环境准备

Eclipse 3.6 以上版本

jdk 1.6 以上版本

Spring 3.0 以上版本

Tomcat 6.0 or jboss 5.0 以上版本

Spring MVC 配置文件

1. 配置 web.xml

Spring MVC 配置文件

2. 配置与DispatcherServlet 对应的配置文件, 本例为spring-servlet.xml

Spring MVC 配置文件

工程代码参考: training_spring_mvc_rest_0000

Spring MVC 与 Model 绑定的例子

1. 在 controller 中绑定相关Model

Spring MVC 与 Model 绑定的例子

1. 在视图页面中绑定 Model

Spring MVC 与 Model 绑定的例子

源代码工程参考: training_spring_mvc_rest_1000

Spring MVC 实现REST CRUD

1. 在web.xml 中配置 hideHttpMethodFilter 让Spring MVC 支持 put,delete操作

2. Method (GET,POST,PUT,Delete应用)

3. RequestMapping, PathVariable 的应用

Spring MVC 实现REST CRUD

1. 在web.xml 中配置 hideHttpMethodFilter 让Spring MVC 支持 put,delete操作

Spring MVC 实现REST CRUD

2. Method (GET,POST,PUT,Delete应用)

Spring MVC 实现REST CRUD

3. RequestMapping, PathVariable 的应用

Spring MVC 实现REST CRUD

工程代码参考: training_spring_mvc_rest_2000

Spring MVC REST API 返回 json 格式数据

1. 环境变化, 新增jackson jar 包,实现json 数据序列化与反序列化.

2. 配置文件修改

3. ResponseBody 使用

Spring MVC REST API 返回 json 格式数据

1. 环境变化, 新增jackson jar 包,实现json 数据序列化与反序列化. Jackson 1.x 与 2.x 有些区别。

如果是maven 工程,请配置 pom.xml 。

如果是普通工程,请增加jackson 相关 jar 包。类似下图

 

Spring MVC REST API 返回 json 格式数据

2. 配置文件修改,增加如下配置(spring-servlet.xml中).

PS: Spring 默认会采用 jackson 包将对象序列化成json 返回到客户端. 默认情况下是不需要做配置的。如果需要转换成其他格式比如xml, 则需要配置相关的 Message Convert.

Spring MVC REST API 返回 json 格式数据

3. ResponseBody 的使用.

Spring MVC REST API 返回 json 格式数据

3. ResponseBody 的使用, 返回结果

Spring MVC REST API 返回 json 格式数据


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值