CXF发布rest风格的webservice
1.1 什么是restFul
REST 是一种软件架构模式,只是一种风格,rest服务采用HTTP 做传输协议,REST 对于HTTP 的利用分为以下两种:资源定位和资源操作。
l 资源定位
更加准确去定位一个互联网资源。使用url定位一个互联网资源。
比如:查询一个学生信息url
资源定位要定位一个学生信息:
不使用rest的url:http://ip:port/queryUser.action?userType=XXX&studentid=001&XXXX
使用 rest的url:http://ip:port/user/student/001
使用rest方式表达url更加简单、可以准确表达这个url是一个学生信息查询url
l 资源操作
利用HTTP 的GET、POST、PUT、DELETE 四种操作来表示数据库操作的SELECT、UPDATE、INSERT、DELETE 操作。
比如:
更新学生信息:
设置http请求的方法为post。
定义rest的url:http://ip:port/user/student/001/张三/13。。
Rest方式一般要求url中不要有动词。动词采用GET、POST、PUT、DELETE表示。
Rest风格是对http协议很好的诠释。
Rest好处:
定义的url对资源定位更加准确、简单。
Rest缺点:
如果rest的url定义层级比较多,可读性较差。
Cxf发布rest风格的webservice
实现
使用cxf发布rest的webservice,使用jaxrs(java开发webservice一个规范)
创建web工程
2、加入cxf的jar包
3、 编写pojo
要使用@XmlRootElement(name="student"),将pojo转成xml。
4、 编写SEI
5、
5、编写SEI实现类
6、 发布rest服务
使用JaxRSServerFactoryBean发布rest服务。
测试 rest服务
http://127.0.0.1:12345/rest/student/query/001 查询学生信息
http://127.0.0.1:12345/rest/student/querylist/001?_type=xml 查询学生信息列表,返回xml
http://127.0.0.1:12345/rest/student/querylist/001?_type=json 查询学生信息列表,返回json
Rest服务的客户端httpclient方式
使用spring配置方式发布rest
编写applicationContext.xml
Rest服务的客户端ajax方式
上边发布的http的get服务。
使用http的get请求,调用rest接口(http的get请求接口)。
可以在页面使用ajax请求rest地址
可以使用httpClient方式请求rest地址。