Java基础、中级、高级、架构面试资料

jersey教程

JAVA herman 3898浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

RESTful 相信大家并不陌生。RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。目前可以实现RESTful架构的框架也丛出不穷,本文主要介绍基于Jersey实现的RESTful架构。

Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。与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页面上。

下面我们使用Jersey 2.7,来实现一个Hello World项目。

第一步,在Eclipse 中创建一个 Dynamic Web Project ,本例为“RestDemo”。

第二步,解压下载好的Jersey 2.7。将api、ext、lib文件夹下的jar包都放到项目的lib下。

Jersey 目录

记住是所有的jar包,不是3个文件夹。

jersey教程

第三步,在resources包下建一个class“HelloResource”。

package com.xttblog.rest.resources;  

import javax.ws.rs.GET;  
import javax.ws.rs.Path;  
import javax.ws.rs.Produces;  
import javax.ws.rs.PathParam;  
import javax.ws.rs.core.MediaType;  

@Path("/hello")  
public class HelloResource {  
    @GET  
    @Produces(MediaType.TEXT_PLAIN)  
    public String sayHello() {  
        return "Hello World!" ;  
    }  
    @GET  
    @Path("/{param}")    
    @Produces("text/plain;charset=UTF-8")  
    public String sayHelloToUTF8(@PathParam("param") String username) {  
        return "Hello " + username;  
    } 
}  

第四步,修改web.xml,添加基于Servlet的部署。

<servlet>    
    <servlet-name>RESTService</servlet-name>  
	<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>  
	<init-param>    
		<param-name>jersey.config.server.provider.packages</param-name>  
        <param-value>com.xttblog.rest.resources</param-value>  
	</init-param>  
	<load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>  
	<servlet-name>RESTService</servlet-name>  
	<url-pattern>/xttblog/*</url-pattern>  
</servlet-mapping>

最后,我们部署项目,输入http://localhost:8089/RestDemo/xttblog/hello,进行访问。就输出Hello World了。

参考资料

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » jersey教程