RESTful WebService入门
发布时间:2020-12-16 22:05:46 所属栏目:安全 来源:网络整理
导读:RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易。 ? 下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识。因为非常专业理论化的描述REST
RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易。
?
下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识。因为非常专业理论化的描述RESTful WebService是一件理解起来很痛苦的事情。看看例子就知道个大概了,再看理论就容易理解多了。
/** * RESTful WebService入门 * @author leizhimin 2009-11-18 16:42:43 */ package example; import com.sun.jersey.api.container.httpserver.HttpServerFactory; import com.sun.net.httpserver.HttpServer; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import java.io.IOException; //指定URI @Path("/helloworld") public class HelloWorld { //处理HTTP的GET请求 @GET // 处理请求反馈的内容格式为"text/plain" @Produces("text/plain") public String getClichedMessage() { return "Hello World!"; } public static void main(String[] args) throws IOException { //创建RESTful WebService服务 HttpServer server = HttpServerFactory.create("http://192.168.14.117:9999/"); //启动服务,这会导致新开一个线程 server.start(); //输出服务的一些提示信息到控制台 System.out.println("RESTful WebService服务已经启动"); System.out.println("服务访问地址: http://192.168.14.117:9999/helloworld"); } } 运行这个类,控制台输入出: 2009-11-18 17:25:37 com.sun.jersey.api.core.ClasspathResourceConfig init 信息: Scanning for root resource and provider classes in the paths: D:jdk16jrelibalt-rt.jar D:jdk16jrelibcharsets.jar D:jdk16jrelibdeploy.jar D:jdk16jrelibjavaws.jar D:jdk16jrelibjce.jar D:jdk16jrelibjsse.jar D:jdk16jrelibmanagement-agent.jar D:jdk16jrelibplugin.jar D:jdk16jrelibresources.jar D:jdk16jrelibrt.jar D:jdk16jrelibextdnsns.jar D:jdk16jrelibextlocaledata.jar D:jdk16jrelibextsunjce_provider.jar D:jdk16jrelibextsunmscapi.jar D:jdk16jrelibextsunpkcs11.jar D:netwideorestwsoutproductionrestws D:IDEA8libjavaee.jar D:netwideorestwslibmail-1.4.jar D:netwideorestwslibasm-3.1.jar D:netwideorestwslibwadl2java.jar D:netwideorestwslibjettison-1.0.1.jar D:netwideorestwslibgrizzly-servlet-webserver-1.8.6.4.jar D:netwideorestwslibwadl-core.jar D:netwideorestwsliblocalizer.jar D:netwideorestwslibjdom-1.0.jar D:netwideorestwslibjsr311-api-1.0.jar D:netwideorestwslibstax-api-1.0-2.jar D:netwideorestwslibpersistence-api-1.0.2.jar D:netwideorestwslibjaxb-api-2.1.jar D:netwideorestwslibwadl-cmdline.jar D:netwideorestwslibhttp-20070405.jar D:netwideorestwslibrome-0.9.jar D:netwideorestwslibactivation-1.1.jar D:netwideorestwslibjaxb-impl-2.1.10.jar D:netwideorestwslibjersey-bundle-1.0.3.jar D:netwideorestwslibjackson-lgpl-0.9.4.jar D:netwideorestwslibFastInfoset-1.2.2.jar D:netwideorestwslibjaxb-xjc.jar D:IDEA8libidea_rt.jar 2009-11-18 17:25:46 com.sun.jersey.api.core.ClasspathResourceConfig init 信息: Root resource classes found: class example.HelloWorld 2009-11-18 17:25:46 com.sun.jersey.api.core.ClasspathResourceConfig init 信息: Provider classes found: RESTful WebService服务已经启动 服务访问地址: http://192.168.14.117:9999/helloworld
可见,服务启动成功了,下来就是从浏览器中访问服务了,输入
http://192.168.14.117:9999/helloworld,将发送一个HTTP GET请求,看看结果:
?
?
测试成功了!
所用jar包 activation-1.1.jar asm-3.1.jar FastInfoset-1.2.2.jar grizzly-servlet-webserver-1.8.6.4.jar http-20070405.jar jackson-lgpl-0.9.4.jar jaxb-api-2.1.jar jaxb-impl-2.1.10.jar jaxb-xjc.jar jdom-1.0.jar jersey-bundle-1.0.3.jar jettison-1.0.1.jar jsr311-api-1.0.jar mail-1.4.jar localizer.jar persistence-api-1.0.2.jar rome-0.9.jar stax-api-1.0-2.jar wadl-core.jar wadl-cmdline.jar wadl2java.jar (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |