Jersey是一個RESTFUL請求服務JAVA框架,與常規的JAVA編程使用的struts框架相似,它主要用於處理業務邏輯層。與Struts相似,它一樣能夠和hibernate,spring框架整合。
因爲Struts2+hibernate+spring整合在市場的佔有率過高,因此不多一部分人去關注Jersey。因此網上有關於Jersey的介紹不多。可是它確實是一個很是不錯的框架。對於請求式服務,對於GET,DELETE請求,你甚至只須要給出一個URI便可完成操做。
舉個簡單的例子:若是你想得到服務器數據庫中的全部數據;那麼你能夠在瀏覽器或者利用Ajax的GET方法,將路徑設置好;例如:localhost:8080/Student
(項目名稱)/studentinfo
(項目服務整體前綴)/student(
處理student對象的簽註)/getStudentInfo(
最後前綴)。這樣就能夠獲取全部學生信息。你能夠選擇GET獲取的數據的返回類型:JSON,XML,TEXT_HTML(String)..獲取以後,你能夠經過JS將這些數據塞到html或者jsp頁面上。
下面是詳解:
web.xml的設置:
<!--定義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>
StudentAction.java一些代碼:
@Component
@Path("/student")
//處理student對象的簽註
public class StudentAction
{
private StudentDao studentdao;
public void setStudentdaoStudentDao studentdao)
{
this.studentdao =studentdao;
}
@GET
//獲取方式
@Path("getStudentInfo")//
最後前綴
@Produces({ MediaType.APPLICATION_JSON })
//返回類型爲一個Student對象的JSON數組
public List<Student> getTrade()
{
return studentdao.getStudent();
}
}
這樣一個GET方式的處理就結束了,接下來就是前臺提取方式,你能夠經過JS控制JSON數組在頁面的呈現方式。
Jersey共計有4中處理方式,即:@GET,@POST,@DELETE,@PUT。