REST小结

项目中用了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.        rest soap 的区别

1 rest 暴露的是资源 URI soap 暴露的是借口

二、 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.        传递 xml json 格式数据

 

6.        调试

调试工具 SoapUI

程序实现: apache httpclient

 

7.        相关参考资料

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

 

相关问题:

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

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值