Java使用Jetty实现嵌入式Web服务器

首先来介绍下 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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值