有很多IDE可以开发Java RESTful服务,Eclipse、NetBeans等,个人偏好使用NetBeans,本文介绍使用NetBeans开发的入门步骤。

《理解RESTful架构》、《RESTful API 设计指南》、《RESTful API 设计最佳实践》这三篇文章是介绍RESTful架构比较经典的文章,推荐对RESTful有兴趣的可以读一下。

我也整理的阅读笔记在GitHub上:https://github.com/yulongyz/Reading/blob/master/RESTful.md

RESTful是一种架构风格,或者说API风格,JAX-RS是Java语言的RESTful标准,jersey是JAX-RS的开源实现,对于JAX-RS有多种实现方案,本文介绍的是jersey实现。

用 NetBeans 快速开发过程


1、下载安装JDK、NetBeans,启动NetBeans,我用的是8.0版本。

2、新建项目,选择Java Web=>Web应用程序:

3、下一步,选择服务器和Java EE版本,jersey是GlassFish下的一个子项目,所以GlashFish默认支持jersey:

4、新建完项目,再新建RESTful服务,选择Web服务,创建”通过实体类创建REST风格的Web服务“,其他几个选项稍后再说:

5、之后会自动生成RESTful服务的框架类,默认Get、Put调用等,基于这个类实现自己的业务逻辑即可。

我一般不使用”通过数据库创建REST风格的Web服务“,在项目中使用Hibernate作为持久化层。

RESTful 服务的Tomcat部署


开发之后的部署也非常简单,主要涉及配置修改及库导入:

1、修改项目的web.xml,增加servlet映射:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<servlet>
<servlet-name>ApplicationConfig</servlet-name>
<servlet-class>cn.zh.ApplicationConfig</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ApplicationConfig</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

2、部署到Tomcat需要添加jersey的jar包,选择库,右键添加库,添加jersey:

3、清理并构建,生成war包,复制到Tomcat下即完成部署。


记录,为更好的自己!

用 NetBeans 快速开发 Java JAX-RS RESTful 服务的更多相关文章

  1. Salesforce中通过SOAP API和Metadata API开发java的web server服务

    1.下载Salesforce平台中WSDL文件 在Salesforce中创建了自己需要用到的对象后,我们想要在别的应用中读写纪录到对象中,首先需要的是自己Salesforce平台的权限通过.登陆自己的 ...

  2. 使用 IDEA + Maven + Git 快速开发 JAVA或者Web 应用(转)

    0-0 前言 最近和同事做爬虫,其中我主要遇到的问题是:同事在github上放了爬虫demo让我自己去下载,然后自己能搭好环境让整个项目跑起来去抓51job找工作数据.git上克隆一个项目下来,项目是 ...

  3. Wechat4j之Hello world——使用wechat4j快速开发java版微信公众号

    Wechat4j是一个开源的java微信开发框架,是目前最简单易用的java微信开发框架. 项目地址:https://github.com/sword-org/wechat4j Wechat4j.ja ...

  4. 如何在Java客户端调用RESTful服务

    在这个例子中,我们将看到如何使用java.net包实用工具,创建一个访问REST服务RESTful的客户端.当然这不是创建一个RESTful客户端最简单的方法,因为你必须自己读取服务器端的响应,以及J ...

  5. 有了 serverless,前端也可以快速开发一个 Puppeteer 网页截图服务

    更多云原生技术资讯可关注阿里巴巴云原生技术圈. Puppeteer 是什么? puppeteer 官网的介绍如下: Puppeteer is a Node library which provides ...

  6. 用 Java 技术创建 RESTful Web 服务--转载

    简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX ...

  7. <转>用 Java 技术创建 RESTful Web 服务

    转自:https://www.ibm.com/developerworks/cn/web/wa-jaxrs/#N1017E JAX-RS:一种更为简单.可移植性更好的替代方式 Dustin Amrhe ...

  8. 用 Java 技术创建 RESTful Web 服务

    JAX-RS:一种更为简单.可移植性更好的替代方式 JAX-RS (JSR-311) 是一种 Java™ API,可使 Java Restful 服务的开发变得迅速而轻松.这个 API 提供了一种基于 ...

  9. 用 Java 技术创建 RESTful Web (服务 JAX-RS:一种更为简单、可移植性更好的替代方式)

    作者: Dustin Amrhein, 软件工程师, IBM Nick Gallardo, 软件工程师, IBM 出处: http://www.ibm.com/developerworks/cn/we ...

随机推荐

  1. Centos7 Zabbix监控部署

    Zabbix监控 官方文档 https://www.zabbix.com/documentation/3.4/zh/manual https://www.zabbix.com/documentatio ...

  2. java运行时内存分类

    主要有java栈(虚拟机栈), 堆 ,方法区. 线程私有: 栈: 每个方法执行的时候 都会同时创建一个栈桢 Stack Frame 用于存储  局部变量表, 操作数栈,动态链接, 方法出口等信息 线程 ...

  3. 字符串拆分和拼接(含list拼接)---基于python

    最近得一超长字符串如下: l=“5245474953544552207369703a3137322e3136312e31302e323232205349502f322e300d0a5669613a20 ...

  4. 关于window.open弹出窗口被阻止的问题

    原文:http://blog.csdn.net/fanfanjin/article/details/6858168 在web编程过程中,经常会遇到一些页面需要弹出窗口,但是在服务器端用window.o ...

  5. 找"数学口袋精灵"bug

    团队成员的博客园地址: 刘森松:http://home.cnblogs.com/u/lssh/ 郭志豪:http://home.cnblogs.com/u/gzh13692021053/ 谭宇森:ht ...

  6. QUdpSocket-Qt使用Udp通讯实现服务端和客户端

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QUdpSocket-Qt使用Udp通讯实现服务端和客户端     本文地址:https:// ...

  7. Communications link failure--分析之(JDBC的多种超时情况)

    本文是针对特定的情景下的特定错误,不是所有Communications link failure错误都是这个引起的,重要的区分特点是:程序是不是在卡主后两个小时(服务器的设置)后程序才感知到,才抛出了 ...

  8. laravel连接多个不同数据库的单例类

    在連接多個不同數據庫時,需要寫多個連接,爲了簡化該操作,可以使用該基類,不同的數據庫只要建立好相對應的類繼承該類,就可以使用ORM模型進行操作了. class singletonInstance { ...

  9. sleep() 与 wait()的比较

    1.这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类. sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还 ...

  10. LoadRunner录制用户操作

    先说明一点,使用录制的手段拿到的测试脚本和工程师自己编写的测试脚本其实是一样的,不要觉得录制的方式low,而自己编写脚本就显得高大上,这是不对的.除非工程师本身对开发们写的代码逻辑很熟,对业务上的各个 ...