最新消息:

webservice笔记3——REST风格的java service 框架及使用Servlet实现Restful webservice

JAVA 大步 1569浏览 0评论

REST风格的java service 框架

基本的框架有:
  •  HttpServlet
  • JAX-RS (Java API for XML-REST-style Services)
  •  Various implementations and extensions
  •  Restlet
  • Predates JAX-RS, interoperable with JAX-RS, and similar in style

Servlet Framework

  HttpServlet framework for REST-style services
  javax.servlet.http.HttpServlet有一些对REST有吸引力的特征
   实例通过HTTP的请求类性来过滤进来的请求. For example:
       doGet(...)    accepts GET (读取记录) requests
       doPost(...)   accepts POST (创建新记录) requests
       doPut(...)    accepts PUT (更新记录) requests
       doDelete(...) accepts DELETE (delete) requests
    ## HttpServlet 在do操作上遵循 "adapter pattern(适配器模式)" :
在HttpServlet 类中, do-methods 被定义为空实现:
  doGet(...,...)  { /** empty **/ }
  doPost(...,...) { /** empty **/ }
  MyHttpServlet这样的子类可以根据自己的需求去重写 自己感兴趣的do-methods,而忽略其他方法
每个do-method 有两个参数:
HttpServletRequest 表示进来的请求项。
 HttpServletResponse有一个输出流来与客户端
 还有一些标记http请求状态的标记常量(只列出常用的):
           SC_OK (HTTP 200)
  SC_METHOD_NOT_ALLOWED (HTTP 403)
  SC_NOT_FOUND (HTTP 404)
HttpServlet类 可以在request和response中都可以访问header(头部中) HTTP meta-data(元数据) ,包括cookies

使用HttpServlet实现rest风格的webservice

目录结构:

 需要的用到的文件(* 表示该目录下的所有文件):
prediction2/*
/WEB-INF/data/predictions.db
需要的库文件,这里使用maven管理依赖:
web.xml:
Prediction.java:( javabean类)
Predictions :
predictions.db中的内容读取到map中,并提供了将map对象转换为为json或xml的方法。
提供了创建新记录、删除功能、更新功能。
PredictionsServlet :
针对get、post、put、delete方法进行对应的操作。
get:表示获取整个list或者如果带了查询id,则表示获取单条记录
post:表示创建新的记录
put:表示更新记录
delete:表示删除记录
至于测试方法,在源代码注释里写了,自己看。
predictions.db:
存放记录的文本文件
被读取的文本文件,一条记录一行,每行的内容都有"!"分隔为两部分。
get请求:
没带id,则表示获取整个list
 post请求:

 
put请求:
delete请求:

点击下载完整demo

 

转载请注明:大步's Blog » webservice笔记3——REST风格的java service 框架及使用Servlet实现Restful webservice

SiteMap