为什么要异步编程
在现在大规模高并发的 WEB 应用中,由于硬件及网络的限制,I/O 处理速度相当较慢,往往 成为 WEB 系统的性能瓶颈。Node.js 通过非阻塞的 IO 和事件驱动很好的缓解了 Web 服务器在高并发时的资源占用,极大 的提高了 WEB 服务器对高并发的处理能力。同时 Node.js 带来的轻量快捷的异步编程给 WEB 开发带来了一股清新的空气 。那么对于广大的 Java 开发者来说,是否可以实现类似的 WEB 开发呢,答案是肯定的。利用 Groovy 动态语言、Jetty 等轻量的 WEB 服务器,可以很方便的进行 WEB 的异步编程。
Groovy 简介
Groovy 是一个基于 Java 虚拟机 的动态语言。Groovy 代码能够与 Java 代码很好地结合。为 Java 开发者提供了现代流行的动态编程语言特性,而且学习 成本很低。目前最新的发布版本是 1.8. 我们下面示例的代码就是使用这一版本。
Jetty 简介
Jetty 是一个 用 Java 实现、开源、基于标准的,并且具有丰富功能的 HTTP 服务器和 Web 容器,可以免费的用于商业。现在已经有非 常多的成功产品基于 Jetty,比如 Apache Geromino、Eclipse、Google AppEngine 等。Jetty 可以用来作为一个传统的 Web 服务器,也可以作为一个动态的内容服务器,并且 Jetty 可以非常容易的嵌入到 Java 应用程序当中。目前最新版是 8.1. 我们下面示例的代码就是使用这一版本。
怎样使用 Jetty 快速开发轻量 WEB 服务
Jetty 可以非常方 便的嵌入到应用程序当中,就像使用一般的类库一样。示例代码如下:
清单 1. 用 Jetty 快速开发轻量 WEB 服务
class DefaultHandler extends AbstractHandler { void handle(String target, Request baseRequest, HttpServletRequest request,HttpServletResponse response) { response.contentType = "text/html;charset=utf-8" response.status = HttpServletResponse.SC_OK baseRequest.handled = true response.writer.println "<h1>Hello World!</h1>" } } Server server = new Server( 8080 ) server.setHandler( new DefaultHandler() ) server.start() server.join()
从代码我们可以看到先实例化一个 Server 对象,并指定 Server 监听的端口是 8080。然后为 Server 设定一个处理 Web 请求的 Handler,我们这里是 DefaultHandler,最后调用 start 方法启动 Server。这样一个 简单的 Web 服务器就可以使用了,只需要简单的几行代码。
在浏览器中访问 URL:http://localhost:8080,会得 到下面的响应 :
图 1. Web 页面响应
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, server
, 高并发
, 代码
, jetty
, web server
, web编程
, jetty 空指针
, jetty http client
一个
jetty 异步servlet、jetty 异步、soapui的groovy编程、groovy 函数式编程、groovy编程语言,以便于您获取更多的相关知识。