在用springmvc实现RESTful之前,我们需要提一下springmvc的重定向。
一般情况下,控制器方法返回字符串类型的值会被当做逻辑视图名来处理。
如果反悔的字符串中带有forward:或者redirect:前缀时,springmvc会对它们进行特殊处理,将forward:或者redirect:当做指示符,其后的字符串作为URL来处理。
那什么叫做REST呢?
REST 这个词其实是 Representational State Transfer 的缩写 翻译过来就是表现性状态转换
其实 REST 是指的 资源的表示性状态转换。
资源(Resources):网络上可以访问的资源,典型的就是一段URI
表现性(Representational):资源的表现形式,比如html、json、xml 等等
状态转换(State Transfer):原本Http是一个无状态协议,但是访问一个网站是一个互动的过程,通过某种手段使服务端发生状态的转换,同时这种转换时建立在表现性之上的。所以是 Representational State Transfer
客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:
GET:用来获取资源,
POST:用来新建资源(也可以用于更新资源)
PUT:用来更新资源
DELETE:用来删除资源。
总结来说,一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
下面我们来做一个小例子:
相关的类:
实体类:Emloyee(id+lastName+email+gender)、Department(id+departmentName)
Handler:EmloyeeHandler(会用到很多我们之前所学过的知识点)
Dao:EmloyeeDao、DepartmentDao
相关的页面:
input.jsp、list.jsp、edit.jsp
实现功能:
1、增加:
显示添加所有员工界面:
请求方式:GET
URL:emp
显示添加完成后,重定向到list界面
请求方式:POST
URL:emp
2、删除操作:
URL:emp/{id}
请求方式:delete
显示效果:对应数据从数据库中删除
3.修改操作(listName不能修改)
修改员工信息:
URL:emp/{id}
请求方式:GET
显示效果:回显表单
修改员工信息:
URL:emp
请求方式:PUT
显示效果:完成修改,重定向到list页面
这就是功能描述,下一篇我们来具体实现它。