首先来介绍下 Jetty,根据 wiki 的介绍:
Jetty 是一个纯粹的基于 Java 的网页服务器和 Java Servlet 容器。尽管网页服务器通常用来为人们呈现文档,但是 Jetty 通常在较大的软件框架中用于计算机与计算机之间的通信。
Jetty 作为 Eclipse 基金会的一部分,是一个自由和开源项目。该网页服务器被用在 Apache ActiveMQ、Alfresco、Apache Geronimo、Apache Maven、Google App Engine、Eclipse、FUSE等产品上。
Jetty 也是 Lift、Eucalyptus、Red5、Hadoop、I2P等开源项目的服务器。Jetty 支持最新的Java Servlet API(带 JSP 的支持),支持 SPDY 和 WebSocket 协议。
2016年,Jetty的代码主仓库已经迁移到了 Github ,但是其仍然处于 Eclipse IP Process 政策下开发。
Jetty 在嵌入式的 Java应用程序中提供 Web 服务,其已经是 Eclipse IDE 中的一个组成部分。它支持AJP、JASPI、JMX、JNDI、OSGi、WebSocket 和其他的 Java 技术。
Apache Hadoop 是 Jetty 应用在框架中的典型范例。 Hadoop 在几个模块中使用Jetty作为 Web 服务器
总结一下:
Jetty 是一个 Java 实现的开源的 servlet 容器,它既可以像 Tomcat 一样作为一个完整的 Web 服务器和 Servlet 容器,同时也可以嵌入在 Java 应用程序中,在 Java 程序中调用 Jetty
因为它的“轻量级”,在不是很复杂的小项目中是个不错的选择,启动(加载)也非常的快速
下面主要看下 Jetty 在嵌入式的 Java 应用程序中的应用
加载静态页面
导入依赖就不说了,Jetty 本身就是通过 jar 包的方式分发,或者可以使用 Maven 来构建:
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>9.2.1.v20140609</version>
</dependency>
当然 Servlet 相关的那些依赖不要忘了加入,然后是 Java 代码入口:
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase("D:/test");
// 可显示目录结构,类似 FTP
resourceHandler.setDirectoriesListed(true);
//加入Java开发交流君样:756584822一起吹水聊天
server.setHandler
Java利用Jetty构建嵌入式Web服务器和Servlet容器

本文介绍了Jetty,一个纯Java的网页服务器和Servlet容器,适用于嵌入式应用程序。它支持最新的Java技术,并在Apache Hadoop等项目中使用。文章展示了如何在Java程序中加载静态页面和运行内部编写的Servlet,强调了在轻量级项目中的优势,并解释了join()函数在确保服务器启动时的作用。
最低0.47元/天 解锁文章
185

被折叠的 条评论
为什么被折叠?



