一、下文中需要的资源地址汇总

二、Jersey是什么?了解一下

Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。

它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。

尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。与Struts类似,它同样可以和hibernate,spring框架整合。

由于Struts2+hibernate+spring整合在市场的占有率太高,所以很少一部分人去关注Jersey。

Jersey1.X的版本是sun公司提供的独立的jar包,在2.X版本中,已经将jersey放在glassfish下(开源)。

(上图原文地址:http://dyygusi.iteye.com/blog/2148029?utm_source=tuicool)

Jersey系列文章:

三、学Jersey前,先看看Maven

特别详细的配置Maven的文章,没什么可多说的,照做即可:原文地址:https://blog.csdn.net/java_2017_csdn/article/details/77450598/

【下面是我做的Step by Step截屏】

第一步、下载Maven,配置settings.xml文件

Maven下载地址: http://maven.apache.org/download.cgi

下载后放在C根目录下。打开settings.xml文件编辑。

编辑的目的是让我们的Maven项目能使用阿里云提供的Maven镜像库提升速度。

如果不做任何配置,默认Maven项目会自动连接使用maven中央库也是OK的。但是,由于中央库在国外, 受到中国防火墙等因素影响,其访问速度很慢, 只有连接到国内镜像库(例如阿里云)才能提高Maven运行速度。

settings.xml文件有2种修改方法:

(1)省事的,把下面“替换settings.xml内容”的内容替换到你本机的settings.xml文件即可,全部替换,原来的文件内容不留。

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!--
配置本地MAVEN仓库位置,默认在:C:\Users\机器名\.m2\repository
<localRepository>D:\Program Files\mvn\</localRepository>
** Eclipse->Windows->Preferences->java->Build Path->Classpath Variables
--> <pluginGroups>
</pluginGroups> <proxies>
</proxies> <servers>
</servers> <mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun Maven</name>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors> <profiles>
</profiles> <activeProfiles>
</activeProfiles>
</settings>

替换settings.xml内容

(2)不懂xml语言,想知道发生了什么的,往下看。啰嗦几句:

打开settings.xml文件,里面是一个带格式的xml标准文件。用<!--  -->括住的部分是注释。例如:

<!-- interactiveMode
| This will determine whether maven prompts you when it needs input. If set to false,
| maven will use a sensible default value, perhaps based on some other setting, for
| the parameter in question.
|
| Default: true
<interactiveMode>true</interactiveMode>
-->

去掉注释,你会发现这个文件真正的内容就下面这么多,画圈的每个成对的<>标签中间是具体内容,目前里面都是空。

而我们修改的就是在<mirrors></mirrors>中间添加一段阿里云提供的Maven镜像服务器的配置说明:

<mirror> <id>aliyun</id> <name>aliyun Maven</name> <mirrorOf>*</mirrorOf> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>

添加部分:

    <!--
配置本地MAVEN仓库位置,默认在:C:\Users\机器名\.m2\repository
<localRepository>D:\Program Files\mvn\</localRepository>
** Eclipse->Windows->Preferences->java->Build Path->Classpath Variables
-->
<mirrors>
<mirror>
<id>aliyun</id>
<name>aliyun Maven</name>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors> <profiles>
</profiles> <activeProfiles>
</activeProfiles>
</settings>

添加完毕,文件变成这个样子:

阿里云Maven镜像服务器URL: http://maven.aliyun.com/nexus/content/groups/public/,直接在浏览器打开,能看到下面类似的内容就是能连通。

Maven有多方便我还说不好,至少一个显而易见的好处是项目里用到的Jar包不用到处找了,配好Maven,直接从阿里云服务器关联到Project使用。具体本文稍后会介绍。

第二步、配置Eclipse的Maven环境

菜单:Windows→Preference(到现在还记不住这个菜单的面壁1分钟)

只修改Global Setting,指向本文第一步修改好的settings.xml文件,完成。

想检查一下是否配置OK了,打开Maven视图。菜单:Windows→Show View→Other…(到现在还记不住这个菜单的再面壁1分钟)

可以看见Global Repositories里有2项,central中央库就是官网(外网)镜像,aliyun阿里云就是我们在第一步配置的(国内网)镜像。

第三步、创建一个Maven Project

菜单:File→New→Other…(到现在还记不住这个菜单的怎么办?你说怎么办?)

选择:创建一个简单的项目

起名:MavenProj

创建成功。目录结构:

因为这个步骤必须连接到Maven服务器获取相关信息, 如果配置和网络有故障则这个步骤就会出现错误!如果出现错误请使用浏览器检测是否能够访问Maven服务器的URL.

阿里云Maven镜像服务器URL: http://maven.aliyun.com/nexus/content/groups/public/,直接在浏览器打开看看吧。

第四步、添加Jar包(依赖组件)

这一步原文是这样写的↓ 我点了一下Rebuild Index,画面没有任何变化。

暂时忽略上面的操作,开始添加Jar包(依赖组件),打开pom.xml文件(工程最下方),原始的文件长这样:

注意这里有2个Tab:Dependencies 和 pom.xml。其实就是2个视图,可视化视图Wizard和源代码视图。Eclipse基本在可以可视化的地方都提供了这种便利。

点开Dependencies视图,点Add,把要添加的jar包名称输入,例如:dom4j

注:如果没有上一步的Rebuild Index,我输入了dom4j,Search Results框中也没有同时出现任何内容。

当Rebuild Index了大概20分钟后,下面的一切才顺利。在输入dom4j的同时,下面的结果框会实时反映出内容。

当然,如果你不想白白浪费20分钟,基于进入下一步,没问题。往下看。

如果不想等20分钟,可以这样:

打开pom.xml文件,点开源文件视图,把下面的代码copy到对应的位置保存即可:

  <dependencies>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>

位置↓

注:所以Rebuild Index,只是为了方便生成索引,在Dependencies可视化界面实时反映搜索结果用,并非必须。

只要镜像服务器的连接没断开,直接编辑pom.xml源代码,只要你没写错,一样可以引入Jar包。效果一样一样的!

在pom.xml文件被保存的瞬间,项目中多了一个Maven Dependencies的目录结构,里面清楚的写着jar包和Project已经关联起来了。

使用Maven关联的Jar包,保存在本地MAVEN仓库(默认)C:\Users\机器名\.m2\repository下。

如果你想修改本地Maven仓库的位置。在C:\apache-maven-3.5.3\conf\settings.xml文件中使用<localRepository>D:\Program Files\mvn\(例子)</localRepository>修改。

结束。


追加第五步、创建Maven Web项目

基本和上面一模一样,我生成了Web Project,生成了web.xml文件,Error也消除了:


追加第六步、如何添加Jar包的pom.xml源代码

访问http://maven.aliyun.com/nexus

在里面输入你希望引入的Jar包,例如commons-lang,在XML框中,copy这段代码,放入 pom.xml文件的合适位置,保存。多么方便~

好了,至此Maven的配置我们学完了。

四、终于开始学Jersey了

总结:为什么学习用Jersey创建RESTful WebService要先学Maven,到这一步其实我还没明白。

但是接下来几乎是电光火石,瞬间我就懂了。不啰嗦,看:

第一步、创建一个Maven Project(选择项目的Maven原型 jersey-quickstart-grizzly2,本例中用1.17版本)

这里不同了,一定不要选择“跳过原型选择“

在Filter中输入:jersey-quickstart-grizzly2,使用下面出现的原型创建项目

眨眼的功夫,生成了。

生成后的项目结构如下图,其中Main.java是grizzly web server启动的Java小应用程序,MyResource.java是自动生成第一个REST Resource类,包含了一个简单的GET请求的资源。

Main.java 右键→Run As:Java Application,先把服务启动(这里可没用Tomcat等WebService)

然后用 http://localhost:9998/application.wadl,访问这个WebService

接着我们试试REST方式:http://localhost:9998/myresource,当然没问题,看浏览器显示Got it!

就是这么快捷,你什么都没做,就生成了一个RESTful的WebService而且,里面的代码都是开源的,方便学习。


追加第二步、如果找不到Maven原型 jersey-quickstart-grizzly2怎么办?

用Add ArcheType,然后把从Maven(阿里云)上找到的3个参数填进去,OK。再找就有了。

http://maven.aliyun.com/nexus上输入: jersey-quickstart-grizzly2,查找

还有个导入大量archetypes的方法:右键下载 maven 的 archetype xml, 然后导入 archetypes:

至此,快速创建一个基于Jersey框架的RESTful WebService的任务,完成!

Eclipse + Jersey 发布RESTful WebService(一)了解Maven和Jersey,创建一个WS项目(成功!)的更多相关文章

  1. 用STS和Maven的方式创建一个JavaWeb项目

    一.创建项目 1.Eclipse中用Maven创建项目,选maven-archetype-webapp,如下图: 创建好项目后,目录如下: 至此,项目已经创建完毕,下边是配置.关键所在!!! 二.项目 ...

  2. Eclipse + Apache Axis2 发布RESTful WebService(三)第一个程序Hello Axis2 !(未成功)

    此路不通 Axis2发布SOAP WebService非常简单,建一个Dynamic Web Project,然后为它建一个Axis的Web Service(Tomcat7+JDK),就会生成Clas ...

  3. CXF发布restful WebService的入门例子(客户端)

    上篇说了怎么用cxf发布restful webservice,由于浏览器只能对该service发送http的GET请求,所以如果想对服务器上的数据,还需要实现客户端. 客户端的实现方式有无数种...可 ...

  4. CXF发布restful WebService的入门例子(服务器端)

    研究了两天CXF对restful的支持.   现在,想实现一个以 http://localhost:9999/roomservice 为入口, http://localhost:9999/roomse ...

  5. Jersey 2.x 从Maven Archetype 创建一个新项目

    创建 Jersey 工程需要使用 Apache 的 Maven 软件工程和管理工具.所有的Jersey产品模块都可以在 Maven中央库 中找到.这样的话 Jersey 可以非常容易和其他基于 Mav ...

  6. 使用maven命令终端构建一个web项目及发布该项目

    构建环境: maven版本:3.3.9 系统平台:Windows7 x64 JDK版本:1.7 构建步骤: 1.打开maven安装目录,在地址栏输入cmd进入命令窗口 2.输入命令mvn archet ...

  7. SSH集成cxf 发布restful webservice

    首先讲一下什么是restful webservice ,这个问题网上一搜有很多博文去长篇大论的介绍它,但是最后你看完了也会觉得云里雾里的,所以我在这里简单的讲一下我理解的rest webservice ...

  8. 【jersey】 spring 整合jersey 实现RESTful webservice

         Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层.与Struts类似,它同样可以和hibernate,sprin ...

  9. maven学习3,如何创建一个web项目

      Maven学习 (三) 使用m2eclipse创建web项目   1.首先确认你的eclipse已经安装好m2eclipse的环境,可以参照上两篇Maven学习内容 2.新建一个maven的项目 ...

随机推荐

  1. Vmware 安装CentOS7时连不上网问题的解决

    在VmWare 上安装Centos7时,装好vmware后还是连不上网,通过查找资料原来是因为有线网卡没有激活,默认centos和redhat7都是不启用有线网卡的,要么手动开启,要么安装时直接启用! ...

  2. kubernetes监控-Heapster+InfluxDB+Grafana(十五)

    cAdvisor+InfluxDB+Grafana cAdvisor:是谷歌开源的一个容器监控工具,采集主机上容器相关的性能指标数据.比如CPU.内存.网络.文件系统等. Heapster是谷歌开源的 ...

  3. GitHub和码云的简单使用

    年轻,又经历了初高大学的英语的纠缠,导致连最简单的语句都看不懂,我在慢慢寻找语言的快乐 GitHub 的简单使用 : https://www.cnblogs.com/zhcncn/p/3731707. ...

  4. javascript原型继承圣杯模式

    javascript纯面向对象开发需要使用到的一个模式,来对对象之间原型继承做中间层代理避免重复继承与代码杂乱 <!DOCTYPE html> <html lang="en ...

  5. 【线性基】bzoj2844: albus就是要第一个出场

    线性基求可重rank 题目描述 给定 n 个数 $\{ a_i \}$ ,以及数 $x$. 将 $\{ a_i \}$​ 的所有子集(包括空集)的异或值从小到大排序,得到 $\{ b_i \} $. ...

  6. 【AC自动机】bzoj3172: [Tjoi2013]单词

    fail图上后缀和需要注意一下 Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. Input 第一个一个整 ...

  7. Ubuntu16.04安装后开发工作的配置

    由于多次安装Ubuntu16.04用于学习,其中出了多次问题.每次找参考文件太麻烦,于是写了这篇总结,方便之后备用. 一.精简系统,删除不常用软件 参考资料来自:https://blog.csdn.n ...

  8. 【mac】【php】mac php开机重启

    homebrew.mxcl.php71.plist   <?xml version="1.0" encoding="UTF-8"?> <!DO ...

  9. 收集的有关mdk 3的使用方法

      收集来自网络上的有关mdk3的一些使用方法以及技巧(持续更新) b beacon泛洪攻击 -f 指定wifi名称的文件夹 -n 加上wifi名称 -w Fake WEP encrypted sta ...

  10. MYSQL安装与库的基本操作

    mysql数据库 什么是数据库 # 用来存储数据的仓库 # 数据库可以在硬盘及内存中存储数据 数据库与文件存储数据区别 数据库本质也是通过文件来存储数据, 数据库的概念就是系统的管理存储数据的文件 数 ...