【Jersey】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:
package com.puyangsky.example; import com.sun.jersey.api.core.PackagesResourceConfig;
import com.sun.jersey.spi.container.servlet.ServletContainer;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder; /**
* Created by user01 on 2016/4/8.
*/
public class StartEntity {
public static void main(String[] args) {
Server server = new Server();
ServletHolder sh = new ServletHolder(ServletContainer.class);
sh.setInitParameter("com.sun.jersey.config.property.resourceConfigClass", PackagesResourceConfig.class.getCanonicalName());
sh.setInitParameter("com.sun.jersey.config.property.packages", "com.puyangsky.example");
//start server
Context context = new Context(server, null);
context.addServlet(sh, "/*");
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
} }
}
红色字体标出的第一个是端口号,可以自己设置,第二个是需要你自己修改的,即第一个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的更多使用将在下一篇博客中继续介绍。
【Jersey】IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务的更多相关文章
- IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务
这次参考的是这个博客,完全按照这个我这里会出一些问题,一会再说就是了. https://www.cnblogs.com/puyangsky/p/5368132.html 一.首先新建一个项目,选择Ja ...
- Jersey 2 + Maven + Tomcat + IntelliJ IDEA 搭建RESTful服务
本文参考以下内容: [1] Starting out with Jersey & Apache Tomcat using IntelliJ [2] [Jersey]IntelliJ IDEA ...
- Maven + Jetty + Jersey搭建RESTful服务
IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务 本文参考以下内容: 使用Jersey实现RESTful风格的webservice(一) Starti ...
- Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能
利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...
- IntelliJ IDEA: maven & jetty 开发 java web
之前使用eclipse + maven + jetty开发java web应用,本着no zuo no gain的想法, 折腾了一下Intellj idea下开发环境的搭建,顺带学习了maven re ...
- jersey2.26+spring5+jpa一步步搭建restful服务
前言 首先,为什么想选择Jersey做restful服务呢?我个人比较喜欢它的插件化设计,可以方便的注入自己的全局处理逻辑.再一个就是可以生成wadl描述文件,供查询服务方法.所以在学习spring的 ...
- Intellij IDEA +MAVEN+Jetty实现Spring整合Mybatis
1 pom.xml(这里出现transaction错误,是版本的问题) <project xmlns="http://maven.apache.org/POM/4.0.0" ...
- intellij idea maven springmvc 环境搭建
1. 新建maven 工程 intellij idea 默认已经集成了maven, 直接点击下一步 2. 配置文件修改 pom.xml 文件 <?xml version="1. ...
- Intellij IDEA +MAVEN+Jetty实现Mybatis的HelloWorld
1 maven配置:pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...
随机推荐
- 模拟ATM机银行系统
淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处 ...
- 类库,委托,is和as运算符,泛型集合
类库:其实就是一堆类文件,只不过用户看不到这些类的源代码,保密性好. 优点:保密性好缺点:如果这个方法不好用,使用者无法自己去更改它. 类文件是.cs 类库是.dll 新建项目为类库,在debu ...
- centos7 服务管理
服务脚本位置: /usr/lib/systemd/system (开机不登录就能够运行的服务) /usr/lib/systemd/user (用户登录后才能运行的服务) 服务脚本示例: [ ...
- HDU2563 递推
统计问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- SQL server while语句、存储过程
1.循环语句 2.存储过程 存储过程(stored procedure)有时也称为sproc.存储过程存储于数据库中而不是在单独的文件中,有输入参数.输出参数以及返回值等. 3.四种存储过程类型(类似 ...
- 使用javascript实现在页面打印的效果的三种方式
<div id="console"></div> <script type="text/javascript"> var c ...
- php 中如何创建一个空对象
// 创建一个空对象 $obj=(object)array(); //假设这是从数据库取内容 $arr=["prod_id"=>103,"prod_name&quo ...
- Python 文件编码(文件乱码)
IndentationError: unindent does not match any outer indentation level 文件未对齐,在记事本打开. 乱码原因:源码文件的编码格式为u ...
- “迷宫”sprint——6.8
会议时间:2015.6.8 ,12:30——13:00 会议内容:开始第二阶段冲刺,分配任务. 我的任务:完成安卓环境搭建.
- vi/vim初步接触
vi和vim一直被人津津乐道,到底是什么使得它们如此受欢迎? vi分为3种模式:一般模式,编辑模式,命令行模式. (1)一般模式: 进入vi后,默认就是一般模式. 用处:方便地移动光标,删除字符/整行 ...