基于REST的Jersey框架

  项目中用到的control层是想做成webservice的接口的形式,所以选择的是RESTful,选择的是Jersey框架。Jersey框架本身小巧,是轻量级的框架。这里就不详细写了,只是想写出restful服务的一些优点:

首先:REST使得现在流行的互联网应用在架构设计上回归本质,能够更加充分的利用REST架构风格中的各种架构属性提升应用的品质。

其次:REST的轻量级、简单的特点更现行某些技术的复杂性形成鲜明的对比,使得构建应用或服务变得简单易行。在开发者来看,一旦理解了REST技术内容,设计应用系统或服务时,可以使架构更加接近WEB本质,充分利用已有的基础设施。对于应用系统或服务的使用者来将,REST推荐使用有意义的URI作为资源接口,系统更加容易理解,系统间交互或人机交互更加友好。 

  只是简单了解一下rest的现实意义,这次用到rest主要是考虑到做的项目会涉及到移动手机端,为了更好的在PC端和移动端同时表现出色,采用的是基于rest的Jersey框架。

  写出一些Jersey的一些用法:方便以后再用到的时候可以参考一下。

一、Jersey中的一些常用注解

注解 作用 说明
@GET 查询请求,对应服务器发出的get请求 用于处理服务器发出的get请求
@POST 插入请求,对应处理服务器发出的post请求 对于表单的post方式的提交的,一定会用到post注解
@PUT 更新请求  
@DELETE 删除请求  
@Path 请求的路径 这里是可以传递参数,在路径中
@Produce 返回的指定的数据类型 可以是json,字符串,用到的最多的json格式的
@Consumes 接受的指定的数据的类型 这个一般可以不写,一般情况下form表单提交的数据需要注明一下
@PathParam URL中传递的参数用到这个注解注明一下  
@QueryParam url中传递的参数  
@FormParam form表单中提交的数据需要这个注解注明  
@BeanParam 通过Bean形式传递的数据的时候  
@Context 获取一些数据环境的属性 一般就是获取httpServletRequest和HttpServletResponse

注解就是这些,因为比较少的原因,可能比较容易记住。注意在编写代码时候灵活使用。

二、Jersey框架的搭建以及使用

1、导入jar包,这是必不可少的

直接利用maven,增加maven支持就可以,这个比较简单,但是前提是你得有maven仓库啊!

<!--jersey -->

<dependency>

<groupId>org.glassfish.jersey.containers</groupId>

<artifactId>jersey-container-servlet-core</artifactId>

<version>2.13</version>

</dependency>

<!--JAXB API -->

<dependency>

<groupId>javax.xml.ws</groupId>

<artifactId>jaxws-api</artifactId>

<version>2.1</version>

</dependency>

<!-- Json支持 -->

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-core-asl</artifactId>

<version>1.9.12</version>

</dependency>

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-mapper-asl</artifactId>

<version>1.9.12</version>

</dependency>

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-jaxrs</artifactId>

<version>1.9.12</version>

</dependency>

<!-- 编译需要,tomcat里面有 -->

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>servlet-api</artifactId>

<version>2.5</version>

<scope>provided</scope>

</dependency>

我比较苦逼,得自己下载jar包

好像还挺多的,不过还好了。

2、设置web.xml文件,添加Jersey拦截器

<servlet>

<servlet-name>JerseyServlet</servlet-name>

<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

<!-- 配置自己的资源加载类去加载资源 -->

<init-param>

<param-name>javax.ws.rs.Application</param-name>

<param-value>com.cisdi.jersey.api.ApplicationAPI</param-value>

</init-param>

<!-- 配置默认的资源包路径,使用默认的配置类去加载资源 -->

<!-- <init-param> -->

<!-- <param-name>jersey.config.server.provider.packages</param-name> -->

<!-- <param-value>com.cisdi.jersey.api</param-value> -->

<!-- </init-param> -->

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

</servlet>

<servlet-mapping>

<servlet-name>JerseyServlet</servlet-name>

<url-pattern>/api/*</url-pattern>

</servlet-mapping>

3、就自己去摸索着去写你自己的项目了

总结:刚开始用Jersey框架时候总会遇到一些麻烦

1、注意区分服务器中get和post请求

get请求在传递参数的时候可以通过URL中直接传递,不过如果前台与后台的编码格式不统一会出现中文乱码的问题,需要注意。

post的请求,需要在前台通过form表单进行提交,不用担心编码格式不统一的情况。

2、注意参数返回的Json格式的数据

Json格式的数据在通过ajax方式返回到页面的时候,注意格式。其他的就是看你ajax以及Json数据的熟练度了,还有jQuery。

posted @ 2017-04-20 15:04  ssc在路上  阅读(676)  评论(0)    收藏  举报