使用Gretty 的超轻量级 Java Web 服务.pdf 立即下载
2024-11-12
约5.9千字
约6页
0
354KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

使用Gretty 的超轻量级 Java Web 服务.pdf

使用Gretty的超轻量级JavaWeb服务.pdf

预览

免费试读已结束,剩余 1 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

使用Gretty的超轻量级JavaWeb服务

Gretty是构建Web服务超轻量级框架的新学派之一。构建于极快的Java™之上,Gretty

将Groovy用作Web端点和Grape的Maven式依赖关系管理的一种域特定语言。本

文介绍如何开始使用Gretty来构建和部署JavaWeb服务应用程序。

我们已经构建了一个简单的从云到移动终端的应用程序。该应用程序名为Magnus,充当

监听移动设备位置信息的HTTP端点。它通过接收HTTPPUT请求来运行,每个请求包

含一个JSON文档,指出给定时间内帐户的位置。到目前为止,我已经使用了Web框架

Play来开发和扩展Magnus。

Play提供一个MVC堆栈,就这点它与Grails很相似。使用Play,您可以很容易地定义

利用视图(JSP、GSP、模板等)的控制器(servlets),在某种程度上,控制器管理模型。

模型是使用经Hibernate、JPA或其他类似ORM的好技术增强的POJO(传统Java对

象)实现的。

尽管MVC是较老的标准,随着Grail和Play等框架的出现,很多都已经发生了改变。

回想一下曾经维护简单的Web请求-响应交互所需的工作量(比方说使用Struts),您会

明白我们为快速构建MVCWeb应用程序而做了多大的改进。当然,并非所有的Web应

用程序都需要MVC基础架构才能工作。如今,一些Web应用程序根本就不再需要MVC

“堆栈”。

为了反对这样一种反常的论调,在您关闭浏览器之前,回顾一下Magnus。虽然为了演示,

对Magnus进行了严格的设计,我的云到移动终端的应用程序不包含传统的视图组件,主

要包含了现有的成功服务的模型。与Twitter或Foursquare一样,Magnus接收来自世

界各地不同设备的消息。广义上说,Magnus是一个Web服务,而并不是每个Web服
务都需要MVC堆栈框架才能完成工作。在某些情况下,您所需要的是一个超级轻量的

Web框架,而不是Web堆栈。

本月,我们将着眼于以下内容之一:快速开发框架,太新以至于还没有自己的主页,或许并

不需要主页。Gretty的沿袭和隶属成员(分别包括Netty和Groovy)具有足够的名望,

它已经是Java2.0Web开发系列的一部分。它填补了一个许多开发人员仍然不知道他们

已经具有的需求(这就是真正的Web2.0风格,您知道吗?)。如果您愿意走狂野的一面,

它也可足够稳定地用作生产之用。

快速Java开发的历史

老的足以记得何时第一次引入ServletsAPI的我们有理由对新的“轻量级”范式持怀

疑态度;毕竟仅仅一个简单的servlet便让您构建一个Web服务,而不需要大量的代码

和由此产生的JAR文件。Web服务框架,比如Restlet或Jersey,采取了稍微不同的

开发加速方法,以类扩展、注释,甚至标准的JSR为基础来创建RESTfulWeb服务。在

某些情况下,它们仍然是很好的选择。

但事实证明,一些新的轻量级(相对于旧的轻量级)框架使得Web服务或简单的HTTP

端点(也称为路由)极其易于定义。甚至比手动塞入一个servlet还要简单!

这些框架首次出现在其他平台上,尤其是用于Ruby的Sinatra和用于Node.js的

Express。但是针对Java平台的有趣项目也已经开始出现了。Gretty就是其中之一,当然

Gretty是为Groovy和JVM产生的。

我和Gretty

就我而言,Gretty至少有两点符合:首先是使用Groovy的Grape(我不久将会详细地
对其进行描述)以方便依赖性管理。其次是其简单的用于定义端点的DSL式的语法。使

用Gretty,您可以非常快地(只用短短的几行代码)定义和部署一个工作的Web运行框

架,该框架处理实际的业务逻辑。作为示例,请看我快速地写出清单1中的典型hello

world示例:


在清单1中,我创建了一个服务器监听端口8080,然后设置一个包含参数name的简

单root端点。到其他端点的任何请求都将通过defaultHandler返回到/。简单地说,

使用/的位置,处理程序为请求的客户端发送一个HTTP301“movedpermanently”

代码。所有请求会收到一个包含字符串“Hello”和任何已传递参数值的响应(将

content-type设置为text/plain);例如,/Andy将会生成“HelloAndy”。

那么清单1中最有趣的是什么?首先,您在清单中所看到的都是您的应用程序所需要的。

没有配置文件。不需要直接下载或安装任何东西(除了Groovy1.8)。要激活该示例,只

要输入groovys
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

使用Gretty 的超轻量级 Java Web 服务

文档大小:354KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用