Maven + Jetty + Jersey搭建RESTful服务

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的更多使用将在下一篇博客中继续介绍。

时间: 2024-10-19 08:59:53

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

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

本文参考以下内容: [1] Starting out with Jersey & Apache Tomcat using IntelliJ [2] [Jersey]IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务 感谢两位作者. 0. 创建新项目 在IntelliJ中创建新项目,选择Java Enterprise -> RESTful Web Service -> Setup libery later. 1. 加入web框架和maven

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

一.整体说明 本例执行演示了用 Jersey 构建 RESTful 服务中.怎样集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其它相关的jar ,导入项目 三.配置 1.根文件夹下下创建 Spring 的配置文件applicationContext.xml: 配置例如以下: 四.执行 1.先执行项目 2.执行UserClient.java測试,控制台输出例如以下 ****添加用户addUser**** ****查询全部getAllUsers**** [{"us

使用Jersey开发RESTful服务

REST 2000 年由 Roy Fielding 在博士论文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一. REST 中最重要的概念是资源(resources) ,使用全球 ID(通常使用 URI)标识.客户端应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE )操作资源或资源集.RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务.通常,RESTful            Web 服务应该定义以下方面: Web

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

1.下载solr 官网:http://lucene.apache.org/solr/ 2.目录结构如下 3.启动solr(默认使用jetty部署) 在path路径下将 bin文件夹对应的目录加入,然后输入 solr start(或者 solr start -p port,指定端口启动).在浏览器中访问如下: 当然,还可以启动其他样例的服务,在example目录下有一个READEME.txt,如果感兴趣请看一下.命令格式如下: Solr example ------------ This dire

jersey 搭建rest服务风格

这里先介绍关于rest的post方式如何来更新list数组,具体rest的相关概念可以参考 http://blog.csdn.net/lfsfxy9/article/details/9205337 既然是提供服务,那么就一定有service端和cient端.这里会用到jersey 框架封装的一些类,以此来展示一个rest服务风格的服务端和客户端. service端 `@POST @Path("/updatePwd") @Produces({ MediaType.APPLICATION_

Jersey搭建Restful服务器 on Ubuntu

自己试着在Ubuntu上搭建一个 1.首先安装eclipse和tomcat sudo apt-get install eclipse tomcat7 -y 2.把tomcat的group assign到你的user sudo adduser pippo tomcat7 3.暂停tomcat的服务 /usr/share/tomcat7/bin/shutdown.sh 4.关闭tomcat服务的开机自动启动 sudo update-rc.d tomcat7 disable

无废话Jersey构建RESTful服务之WebService系统教程 --3 [JAVA对象转成JSON输出]

一. 总体说明 XML和JSON 是最为常用的数据交换格式.本例子演示如何将JAVA对象,转换成JSON输出. 二.流程 1.在上文项目中, 在“cn.itrush.rest.resources.UserResource“中增加代码,代码如下: 1 package cn.itrush.rest.resources; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 impo

用Jersey构建RESTful服务1--HelloWorld

本文具体代码实现参考自:http://blog.csdn.net/kkkloveyou/article/details/21391033,如有问题,请联系我. 本文仅仅是对原文做了一点补充,感谢原作者的精彩文章,对我帮助很大. 一,环境 IDE:myeclipse10 tomcat版本,jdk版本会在下一篇文章做详细说明. 二,项目的构建 在https://jersey.java.net/download.html中,可以发现两条很实用的mvn指令: 命令一:构建基于 Servlet conta

用Jersey构建RESTful服务简单示例,遭遇的tomcat和jdk的版本问题

当前环境: web工程的jdk: jdk1.6.0_43(x64) tomcat: apache-tomcat-7.0.53(x64) tomcat使用的jdk: jdk1.6.0_43(x64) 运行tomcat,控制台输出如下: 1 2016-7-21 9:23:15 org.apache.catalina.core.AprLifecycleListener init 2 信息: Loaded APR based Apache Tomcat Native library 1.1.29 usi