IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务

本文参考以下内容:

使用Jersey实现RESTful风格的webservice(一)

Starting out with Jersey & Apache Tomcat using IntelliJ

--------------------------------------------------正文--------------------------------------------------------------

一、在IntelliJ中创建新项目,选择Java Enterprise -> RESTful Web Service -> Setup libery later.

二、创建完项目JerseyDemo后,对项目点击右键 -> Add Frameworks Support,分别勾选Web Application和Maven。其中,web appication为项目增加了web.xml,maven为构建工具。

完成之后项目的文件结构如下:

三、在pom.xml中加入jersey和jetty依赖:

<dependencies>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-bundle</artifactId>
<version>1.19.1</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<version>6.1.25</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19.1</version>
</dependency>
</dependencies>

四、在src/main/java/下创建package和类,这里我创建了一个HelloJsersy类,代码如下:

package com.puyangsky.example;

import javax.ws.rs.*;

//Path注解来设置url访问路径
@Path("/hello")
public class HelloWorld {
   //GET注解设置接受请求类型为GET
@GET
   //Produces表明发送出去的数据类型为text/plain
   //与Produces对应的是@Consumes,表示接受的数据类型为text/plain
@Produces("text/plain")
public String getString() {
return "hello jersey!";
}
}

接着使用Jetty创建一个服务器类StartEntity.java:

 1 package com.puyangsky.example;
2
3 import com.sun.jersey.api.core.PackagesResourceConfig;
4 import com.sun.jersey.spi.container.servlet.ServletContainer;
5 import org.mortbay.jetty.Server;
6 import org.mortbay.jetty.servlet.Context;
7 import org.mortbay.jetty.servlet.ServletHolder;
8
9 /**
10 * Created by user01 on 2016/4/8.
11 */
12 public class StartEntity {
13 public static void main(String[] args) {
14 Server server = new Server(8090);
15 ServletHolder sh = new ServletHolder(ServletContainer.class);
16 sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", PackagesResourceConfig.class.getCanonicalName());
17 sh.setInitParameter("com.sun.jersey.config.property.packages", "com.puyangsky.example");
18 //start server
19 Context context = new Context(server, null);
20 context.addServlet(sh, "/*");
21 try {
22 server.start();
23 server.join();
24 } catch (Exception e) {
25 e.printStackTrace();
26 }
27
28 }
29 }

红色字体标出的第一个是端口号,可以自己设置,第二个是需要你自己修改的,即第一个HelloJersey.java所在的包名。

ok,点击右键,Run "StartEntity.main()"

五、在浏览器中访问http://localhost:8090/hello,或使用IntelliJ中的Test RESTful Web Service,结果如下:

大功告成!

------------------------------------------------------一些小建议------------------------------------------------

1、IntellJ的快捷键:

神器之所以是神器,当然有不一样的地方,比如我们想写一个main方法,不用输入一大串,只要输入“psvm”,回车,搞定!

类似的还有输出,只要输入“souf”,右键。类的还有很多,自己去慢慢发现。

2、Jetty占用了端口号没有释放,每次都换一个端口号很麻烦,那么应该怎么办?

因为我是在windows7上做的,那么win+R打开DOS命令行,输入netstat -ano | findstr "8090":

最后一栏为进程ID,pid.所以只要kill掉就ok了,接着输入:taskkill /PID 12336 /F

结果:

这里因为12236已经挂了所以换了个PID,效果一样。

Jersey的更多使用将在下一篇博客中继续介绍。

Maven + Jetty + Jersey搭建RESTful服务的更多相关文章

  1. IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务

    这次参考的是这个博客,完全按照这个我这里会出一些问题,一会再说就是了. https://www.cnblogs.com/puyangsky/p/5368132.html 一.首先新建一个项目,选择Ja ...

  2. 【Jersey】IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务

    本文参考以下内容: 使用Jersey实现RESTful风格的webservice(一) Starting out with Jersey & Apache Tomcat using Intel ...

  3. Jersey 2 + Maven + Tomcat + IntelliJ IDEA 搭建RESTful服务

    本文参考以下内容: [1] Starting out with Jersey & Apache Tomcat using IntelliJ [2] [Jersey]IntelliJ IDEA ...

  4. jersey2.26+spring5+jpa一步步搭建restful服务

    前言 首先,为什么想选择Jersey做restful服务呢?我个人比较喜欢它的插件化设计,可以方便的注入自己的全局处理逻辑.再一个就是可以生成wadl描述文件,供查询服务方法.所以在学习spring的 ...

  5. 用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2

    一.整体说明 本例执行演示了用 Jersey 构建 RESTful 服务中.怎样集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其它相关的jar ,导入项目 三.配置 ...

  6. Jersey实现Restful服务

    jersey 是基于Java的一个轻量级RESTful风格的Web Services框架.以下我基于IDEA实现Restful完整Demo. 1.创建maven-web工程,后面就是正常的maven工 ...

  7. sorl6.0+jetty+mysql搭建solr服务

    1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后 ...

  8. Jersey搭建Restful服务器 on Ubuntu

    自己试着在Ubuntu上搭建一个 1.首先安装eclipse和tomcat sudo apt-get install eclipse tomcat7 -y 2.把tomcat的group assign ...

  9. 用Jersey构建RESTful服务1--HelloWorld

    一.环境1.Eclipse Juno R22. Tomcat 73. Jersey 2.7  下载地址( https://jersey.java.net/download.html) 二.流程1.Ec ...

随机推荐

  1. 高性能C++网络库libtnet实现:Connection

    Connection libtnet只支持IPv4 TCP Connection,之所以这么做都是为了使得实现尽可能的简单.我们主要在Connection类中封装了对tcp连接的操作. Connect ...

  2. Servlet过滤器——日志记录过滤器

    1.概述 在实际的项目开发过程中,经常需要在项目运行时,记录并在控制台中输出运行时的日志信息,便于查看项目的运行状况.本实例将介绍如何应用过滤器实现日志记录.运行本实例,将在控制台中输出项目运行时的日 ...

  3. android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过

    前两天,公司有一个利用android远程操作sqlserver的项目,对此我是毫无头绪的,但也挺感兴趣的,于是开始上网搜索方法,网上有挺多方法了,发现使用webservice的挺多的,不过我对这些技术 ...

  4. 【数据库摘要】12_Sql_存储过程

    SQL 存储过程 存储过程创建语法: create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); ...

  5. Windows环境下访问NFS(33篇Storage的文章)

    Windows环境下访问NFS 使用Solaris时,如果想在两台Solaris之间共享数据,那么你想到的最省事.最方便的方法肯定是nfs.但是现在的学生们的桌面,估计99%以上都是Windows,W ...

  6. [Usaco2008 Feb]Meteor Shower流星雨

    去年偶们湖南遭受N年不遇到冰冻灾害,现在芙蓉哥哥则听说另一个骇人听闻的消息: 一场流星雨即将袭击整个霸中,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽, 届时将会对它撞到的一切东西造成毁灭性的打击 ...

  7. C++中的常对象和常对象成员

    常对象 常对象必须在定义对象时就指定对象为常对象. 常对象中的数据成员为常变量且必须要有初始值,如 Time const t1(12,34,36); //定义t1为常对象 这样的话,在所有的场合中,对 ...

  8. ThinkPhp学习13

    原文:ThinkPhp学习13 简单登录验证 创建Login类 <?php class LoginAction extends Action { function index(){ $this- ...

  9. 空间参考系统与WKT解析

    空间参考系统与WKT解析 1.为什么要空间参考系统? 空间参考系统,也称为坐标系统.在GIS中为地理数据定位的基准,假设给你一个坐标(442281.875,4422651.589).如果不给你空间参考 ...

  10. codeforces 325B Stadium and Games

    这道题思路很简单,设刚开始队伍数为d=2^p*x,其中x是奇数,则比赛场次n=(2^p-1)*x+(x-1)*x/2,然后从0开始枚举p的值,接着解一元二次方程x^2+(2^(p+1)-3)x-2*n ...