RESTful入门——转自http://lavasoft.blog.51cto.com/62575/229206/
来源:互联网 发布:雷达图制作软件 编辑:程序博客网 时间:2024/04/18 21:14
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:\jdk16\jre\lib\alt-rt.jar D:\jdk16\jre\lib\charsets.jar D:\jdk16\jre\lib\deploy.jar D:\jdk16\jre\lib\javaws.jar D:\jdk16\jre\lib\jce.jar D:\jdk16\jre\lib\jsse.jar D:\jdk16\jre\lib\management-agent.jar D:\jdk16\jre\lib\plugin.jar D:\jdk16\jre\lib\resources.jar D:\jdk16\jre\lib\rt.jar D:\jdk16\jre\lib\ext\dnsns.jar D:\jdk16\jre\lib\ext\localedata.jar D:\jdk16\jre\lib\ext\sunjce_provider.jar D:\jdk16\jre\lib\ext\sunmscapi.jar D:\jdk16\jre\lib\ext\sunpkcs11.jar D:\netwideo\restws\out\production\restws D:\IDEA8\lib\javaee.jar D:\netwideo\restws\lib\mail-1.4.jar D:\netwideo\restws\lib\asm-3.1.jar D:\netwideo\restws\lib\wadl2java.jar D:\netwideo\restws\lib\jettison-1.0.1.jar D:\netwideo\restws\lib\grizzly-servlet-webserver-1.8.6.4.jar D:\netwideo\restws\lib\wadl-core.jar D:\netwideo\restws\lib\localizer.jar D:\netwideo\restws\lib\jdom-1.0.jar D:\netwideo\restws\lib\jsr311-api-1.0.jar D:\netwideo\restws\lib\stax-api-1.0-2.jar D:\netwideo\restws\lib\persistence-api-1.0.2.jar D:\netwideo\restws\lib\jaxb-api-2.1.jar D:\netwideo\restws\lib\wadl-cmdline.jar D:\netwideo\restws\lib\http-20070405.jar D:\netwideo\restws\lib\rome-0.9.jar D:\netwideo\restws\lib\activation-1.1.jar D:\netwideo\restws\lib\jaxb-impl-2.1.10.jar D:\netwideo\restws\lib\jersey-bundle-1.0.3.jar D:\netwideo\restws\lib\jackson-lgpl-0.9.4.jar D:\netwideo\restws\lib\FastInfoset-1.2.2.jar D:\netwideo\restws\lib\jaxb-xjc.jar D:\IDEA8\lib\idea_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请求,看看结果:
测试成功了!
-------------------------------------------------------------------------------------
用到的包
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
0 0
- RESTful入门——转自http://lavasoft.blog.51cto.com/62575/229206/
- java关键字final和static转载自http://lavasoft.blog.51cto.com/62575/18771/
- http://lavasoft.blog.51cto.com/62575/27069/
- Java虚拟机(JVM)参数配置说明(转自:http://lavasoft.blog.51cto.com/62575/25492)
- Java线程:并发协作-生产者消费者模型 转自:http://lavasoft.blog.51cto.com/62575/221932
- ANT不完全总结,包含各种命令,ant例子等,转自:http://lavasoft.blog.51cto.com/62575/87306
- Java 反射机制深入研究 http://lavasoft.blog.51cto.com/62575/43218/
- AspectJ 切入点表达式语言--http://lavasoft.blog.51cto.com/62575/172292/
- 一个不错的技术博客【熔岩】 http://lavasoft.blog.51cto.com/
- 转自51cto(http://smailes.blog.51cto.com/rss.php?uid=28248)
- Linux嵌入式系统与硬件平台的关系——转自http://itlin.blog.51cto.com/519307/134301
- 创建windows域---深入理解域概念(转自:http://angerfire.blog.51cto.com/)
- C#委托实践(理解---转自:http://wangjierui.blog.51cto.com/186879/41225)
- asp.net内置对象(转自:http://zhoufoxcn.blog.51cto.com/792419/166803)
- asp.net内置对象(转自:http://zhoufoxcn.blog.51cto.com/792419/166803)
- sha1加密(C# VS2005)(转自:http://yardan.blog.51cto.com/304821/60705)
- iscsi共享存储 转自:http://aceruser.blog.51cto.com/2772529/668593
- matlab环境下使用libsvm,转自http://apinetree.blog.51cto.com/714152/1560254
- Java系列-类与类之间的六种关系
- mac+apache+django+wsgi
- 读《数据结构学习指导和习题解答》(C++语言版)有感。
- Duilib中为RichEdit\Edit控件添加自定义右键菜单
- 初学C#_9
- RESTful入门——转自http://lavasoft.blog.51cto.com/62575/229206/
- poj 3190 Stall Reservations
- 【SICP练习】120 练习3.51
- java.lang.IllegalArgumentException: Wrong FS: hdfs://localhost:9000/out, expected: file:///
- 最近开发中遇到的问题汇总
- 判断1000--2000年之间的闰年
- java路径两种写法"/"和"\\"
- 自考路之计算机系统
- Win 10 或可以运行安卓APP