REST小结

来源:互联网 发布:阿里云服务器密码修改 编辑:程序博客网 时间:2024/05/18 20:11

项目中用了REST技术,用于各平台之间的接口调用。采用的sun的jersey组件,曾经写了一些学习总结和demo。

相关资料下载:

 

 http://down.qiannao.com/space/file/chenggm/-4e0a-4f20-5206-4eab/jersey.rar/.page

一、REST介绍

1.       什么是rest

REST (REpresentational State Transfort) 形式上应该表述为客户端通过申请资源来实现状态的转换,在这个角度系统可以看成一台虚拟的状态机。抛开R. T. Fielding博士论文里晦涩的理论不说,REST应该满足这样的特点:1)客户端和服务器结构;2)连接协议具有无状态性;3)能够利用Cache机制增进性能;4)层次化的系统;5)按需代码。说到底,REST只是一种架构风格,而不是协议或标准。但这种新的风格(也许已经历史悠久?)对现有的以SOAP为代表的Web Service造成的冲击也是革命性的,因为它面向资源,甚至连服务也抽象成资源,因为它和HTTP紧密结合,因为它服务器无状态

2.       restsoap的区别

1rest暴露的是资源URIsoap暴露的是借口

二、jersey简介

1.       jsr311规范

一种restful风格的规范

2.       jersey结构

三、jersey配置

1.       资源描述信息文件(*.wadl

   jersey的资源路径用.wadl文件来描述

 

2.       web.xml配置

 

  <servlet>

    <display-name>JAX-RS REST Servlet</display-name>

    <servlet-name>JAX-RS REST Servlet</servlet-name>

    <servlet-class>

        com.sun.jersey.spi.container.servlet.ServletContainer

    </servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>JAX-RS REST Servlet</servlet-name>

    <url-pattern>/services/*</url-pattern>

</servlet-mapping>

 

3.       Summary of Jersey Annotations

http://docs.sun.com/app/docs/doc/820-4867/ggnxo?l=zh&a=view

4.       Get方式下传递参数

定义:@Path("xxx/{type}")  @PathParam(“type”)  

访问方式:http://localhost://xxxx/1

定义:@QueryParam(“type”)  

访问方式:http://localhost://xxxx?type=1

 

@Produces  服务器端返回的数据格式

@Consumes 服务器端接收的数据格式(客户端传输的格式)

5.       传递xmljson格式数据

 

6.       调试

调试工具SoapUI

程序实现:apache httpclient

 

7.       相关参考资料

https://jersey.dev.java.net/

 

相关问题:

1. 发送报文的日志记录(目前xml报文直接转换成javabean了,没有记录原始的xml报文)

2. 安全方面欠缺,由于xml报文的传输都是基于内网,尚未考虑报文的加密传输