Jersey RESTful 框架是開源的RESTful框架, 實現了JAX-RS (JSR 311 & JSR 339) 規範。它擴展了JAX-RS 參考實現, 提供了更多的特性和工具, 可以進一步地簡化 RESTful service 和 client 開發。儘管相對年輕,它已經是一個產品級的 RESTful service 和 client 框架。與Struts類似,它同樣可以和hibernate,spring框架整合。
jersey1.X使用的是sun的com.sun.jersey
jersey2.X使用的是glassfish的org.glassfish.jersey
<servlet>
<servlet-name>JerseyServlet</servlet-name>
<servlet-class>
com.sun.jersey.spi.spring.container.servlet.SpringServlet
</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<!--服務類所在的資料夾 -->
<param-value>com.mirrors.action</param-value><!-- 之所以我定義為com.mirrors.action就是說明此包中類的作用類似於struts中action層類的作用--!>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>JerseyServlet</servlet-name>
<url-pattern>/new/*</url-pattern><!--項目服務總體前綴 -->
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
@Path("/student")//處理student對象的簽注
public class StudentAction
{
private StudentDao studentdao;
public void setStudentdaoStudentDao studentdao)
{
this.studentdao =studentdao;
}
@GET//獲取方式
@Path("getStudentInfo")//最後前綴
public List<Student> getTrade()
return studentdao.getStudent();
}
Annotation | 作用 | 說明 |
@GET | 查詢請求 | 相當於資料庫的查詢數據操作 |
@PUT | 更新請求 | 相當於資料庫的更新數據操作 |
@POST | 插入請求 | 相當於資料庫的插入數據操作 |
@DELETE | 刪除請求 | 相當於數據的刪除數據操作 |
@Path | uri路徑 | 定義資源的訪問路徑,client通過這個路徑訪問資源。比如:@Path("user") |
@Produces | 指定返回MIME格式 | 資源按照那種數據格式返回,可取的值有:MediaType.APPLICATION_XXX。比如:@Produces(MediaType.APPLICATION_XML) |
@Consumes | 接受指定的MIME格式 | 只有符合這個參數設定的請求再能訪問到這個資源。比如@Consumes("application/x-www-form-urlencoded") |
@PathParam | uri路徑參數 | 寫在方法的參數中,獲得請求路徑參數。比如:@PathParam("username") String userName |
@QueryParam | uri路徑請求參數 | 寫在方法的參數中,獲得請求路徑附帶的參數。比如:@QueryParam("desc") String desc |
@DefaultValue | 設定@QueryParam參數的默認值 | 如果@QueryParam沒有接收到值,就使用默認值。比如:@DefaultValue("description") @QueryParam("desc") String desc |
@FormParam | form傳遞的參數 | 接受form傳遞過來的參數。比如:@FormParam("name") String userName |
@BeanParam | 通過Bean的形式傳遞參數 | 接受client傳遞的bean類型的參數,同時這個bean可以在屬性上配置@FormParam用以解決client的屬性名稱和bean的屬性名稱不一致的問題。比如:@BeanParam User user |
@Context | 獲得一些系統環境信息 | 通過@Context可以獲得以下信息:UriInfo、ServletConfig、ServletContext、HttpServletRequest、HttpServletResponse和HttpHeaders等 |
@XmlRootElement | 將bean轉換為xml | 如果要將bean以xml或json的格式返回,必須要這個註解。比如: @XmlRootElement public class User{...} |
@XmlElements | ||
@XmlElement |