文档章节

基于Spring4 Hibernate4 jersey实现rest风格系统

liuyuantao
 liuyuantao
发布于 2016/04/09 09:49
字数 558
阅读 35
收藏 0
点赞 1
评论 0

1.项目介绍:

项目基于Maven搭建,采用Spring4.2.4、Hibernate4.3.11Final并结合 jersey实现rest风格的WebService,代码结构如图1-1:


图1-1 项目结构图

2.项目运行说明:

1.运行

1.1项目导入eclipse运行

由于使用了jetty插件,所以不需要而外的tomcat,所以运行时,使用Run As—>Maven Buld,输入jetty:run即可如图1-2:


1-2jetty运行截图

1.2说明

用jetty运行项目后,在浏览器输入http://localhost:8080/lyt-jersey会自动跳转到http://localhost:8080/lyt-jersey/api-docs/如图1-3:


图1-3 程序运行图

点击相应的标签就可以模拟相应的rest风格的事件请求,如图1-4:


图1-4 rest风格请求效果

1.2在web容器运行

将war包导出至项目中,启动web容器即可。后面的效果和1.2相同。

2.代码说明

代码结构如图1-5:


图1-5 代码结构图

org.anttix.example.shj.spring是一些配置文件的注解描述。由于项目使用servlet3.0,所以并没有使用任何的配置文件,所以得相关配置都是以注解的形式硬编码。

下面以org.anttix.example.shj.spring.HSQLDataSource来说明


图1-6 实例代码说明

@Bean  说明这个是一个归属Spring管理的一个类,在项目启动时有Spring利用java的反射创建。

属性设置是通过setProperty(AvailableSettings.HBM2DDL_AUTO,"create-drop");类似的方法实现的,这个方法的意思是设置数据库的表的生成形式。

整个项目最关键的是web.xml的配置,这里主要说明下jersey在web.xml里面的配置

<servlet>

        <servlet-name>jersey-servlet</servlet-name>

        <!—这个是jersey与Spring整合的servlet-->

<servlet-class>

            com.sun.jersey.spi.spring.container.servlet.SpringServlet

        </servlet-class>

        <init-param>

            <!—项目启动时需要扫描的包-->

            <param-name>

                com.sun.jersey.config.property.packages

            </param-name>

            <param-value>org.anttix.example.shj.services;org.anttix.example.shj.rest;com.wordnik.swagger.jaxrs.listing</param-value>

        </init-param>

        <init-param>

            <param-name>swagger.config.reader</param-name>

            <param-value>org.anttix.example.shj.rest.ApiDocConfig</param-value>

        </init-param>

        <init-param>

            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>

            <param-value>true</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

 

    <servlet-mapping>

        <servlet-name>jersey-servlet</servlet-name>

        <!—拦截什么样的请求使用jersey-->

        <url-pattern>/rest/*</url-pattern>

    </servlet-mapping>

com.sun.jersey.spi.spring.container.servlet.SpringServlet:

这个是jersey与Spring整合的servlet,里面含有众多的配置参数如:需要扫描那些包,启动时间等。

com.sun.jersey.config.property.packages:

这个是项目启动时哪些包被扫描。

<url-pattern>/rest/*</url-pattern>:

说明什么样的请求使用jersey

© 著作权归作者所有

共有 人打赏支持
liuyuantao
粉丝 4
博文 134
码字总数 27666
作品 0
武汉
高级程序员
【2016-05-08】Jersey vs. SpringMVC

当前Web Service 常用的风格有两种,RESTful风格和RPC风格。 一、RESTful与RPC简介 RPC的中心是方法,REST的中心是资源。 RPC:其中RPC风格中常见的有XML-RPC和JSON-RPC,JSON以其简洁、传输...

rathan0 ⋅ 2016/05/08 ⋅ 0

基于Jsersy的RSET服务的实现

本文主要介绍如何用Jsersy实现RESTful服务。在介绍Jsersy之前,先介绍一下Rest和Restful的概念。 什么是REST REST 中最重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识。客...

小李飞刀008 ⋅ 2013/10/23 ⋅ 0

OSC 第 125 期高手问答 -- Java RESTful Web Service实战

OSCHINA 本期高手问答(8月29日- 9月5日) 我们请来了@六爷 (韩陆)为大家解答关于Java RESTful Web Service实战的问题。 @六爷 (韩陆),资深Java技术专家,曾在用友(总部)、新浪、Avaya...

凝小紫 ⋅ 2016/08/29 ⋅ 58

Jersey : Java规范下REST风格Web Service开发框架

Sun正在致力于建立RESt风格Web服务的规范, 规范如下 JSRs: Java Specification Requests JSR 311: JAX-RS: The JavaTM API for RESTful Web Services 链接:http://jcp.org/en/jsr/detail?......

hans汉斯 ⋅ 2010/01/13 ⋅ 0

Jersey REST WebServcie Example

1 介绍 1.1 什么是JAX-RS标准 JAX-RS是java领域的REST式的WEB服务的标准规范。它的目标是这样的: (1)基于POJO,规定使用POJO来公布WEB资源 (2)以HTTP为中心,采用HTTP协议,无状态 (3...

蜡笔小小小新 ⋅ 2016/06/16 ⋅ 0

高效 RESTful API 服务实现--rest-api-web

高效的 RESTful API 服务实现,基于 Jersey2 和嵌入式的轻量级的 servlet 容器 Jetty9, 这个是 war 包形式部署到 jetty 中运行,实现对用户的增、删、改、查操作,并且严格按照 RESTful 风格...

一刀 ⋅ 2017/06/25 ⋅ 0

REST 风格的 Web 服务入门

要学习本教程,您需要具备以下软件和资源。 软件或资源 要求的版本 NetBeans IDE Java EE 下载包 Java 开发工具包 (JDK) 版本 6 或 7 符合 Java EE 规范的应用服务器 Oracle WebLogic Server...

颜建海 ⋅ 2014/03/25 ⋅ 0

1.解读REST和JAX-RS

什么是REST:   Rest是一种架构风格,对象被抽象成资源(resource)资源的命名使用清晰的名词来定义。 这里请记住三个关键词:HTTP+URI+XML HTTP: 协议标准。 URI :资源标识符,用于标识某一互...

遥远的绝响 ⋅ 2015/01/22 ⋅ 0

通过Jersey客户端API调用RestFul风格的Web服务

Jersey 客户端 API 基础 1.要开始使用 Jersey 客户端 API,你首先需要创建一个 com.sun.jersey .api.client.Client 类的实例 代码:  import com.sun.jersey .api.client.Client;    C...

chape ⋅ 2013/05/30 ⋅ 0

与Java Web Service相关的若干概念(JAX-WS,JAX-RS)

l JWS: 是指与webservice相关的J2EE(其实现在应该叫做Java EE吧)技术叫做 JWS(全称就是 java webservice)。没错,jws指的就是 javawebservice l Jws含有的技术 1. JAX-WS 2. JAX-RS 3. JAX...

豆豆4997 ⋅ 2014/04/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Centos7重置Mysql 8.0.1 root 密码

问题产生背景: 安装完 最新版的 mysql8.0.1后忘记了密码,向重置root密码;找了网上好多资料都不尽相同,根据自己的问题总结如下: 第一步:修改配置文件免密码登录mysql vim /etc/my.cnf 1...

豆花饭烧土豆 ⋅ 今天 ⋅ 0

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 今天 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部