Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty。

下面介绍如何在Java应用程序中嵌入Jetty。

Jetty下载地址,本文写作时的最新版本是9.1.2,下载jetty-distribution-9.1.2.v20140210.zip:

https://www.eclipse.org/jetty/download.html

注意Jetty 9需要JDK 7,如果使用JDK 6的话会出现错误:java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0。

在lib文件夹中找到下面五个jar文件:

jetty-server-9.1.2.v20140210.jar 
jetty-io-9.1.2.v20140210.jar 
jetty-http-9.1.2.v20140210.jar 
jetty-util-9.1.2.v20140210.jar 
servlet-api-3.1.jar

public static void main(String[] args) throws Exception
{
Server server = new Server(8080); ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase("D:/test"); server.setHandler(resourceHandler); server.start();
}

运行Java程序,Jetty服务器启动。此时在浏览器中访问http://localhost:8080就可以浏览D:/test文件夹中的html页面或者其他文件。但是只能访问静态页面,上面的程序无法支持Servlet/JSP。

如果想要显示文件夹中的所有文件的列表,可以设置:

resourceHandler.setDirectoriesListed(true);

效果:

这里需要另外加入下面的jar包:

jetty-servlet-9.1.2.v20140210.jar 
jetty-webapp-9.1.2.v20140210.jar 
jetty-xml-9.1.2.v20140210.jar 
jetty-security-9.1.2.v20140210.jar 
lib/jsp文件夹中的jar包

public static void main(String[] args) throws Exception
{
Server server = new Server(8080); WebAppContext webapp = new WebAppContext();
webapp.setResourceBase("E:/apache-tomcat-7.0.47/webapps/TVPlay"); server.setHandler(webapp); server.start();
}

设置一个Java Web应用程序的目录,访问http://localhost:8080,此时已经支持Servlet/JSP。

另外还可以使用war文件:

public static void main(String[] args) throws Exception
{
Server server = new Server(8080); WebAppContext webapp = new WebAppContext();
webapp.setWar("C:/TVPlay.war"); server.setHandler(webapp); server.start();
}

  

 
相关:
 
 
 

Java使用Jetty实现嵌入式Web服务器及Servlet容器的更多相关文章

  1. Web服务器与Servlet容器

    今日要闻: Oracle启动了JRE7到JRE8的自动更新, JRE8发布于2014.3,于2014.10成为java.com默认版本, JRE7发布于2011.7, Oracle指定的Java生命政 ...

  2. Atitit.嵌入式web 服务器 java android最佳实践

    Atitit.嵌入式web 服务器 java android最佳实践 1. Android4.4.21 2. 自己的webserver1 3. CyberHTTP for Java  cybergar ...

  3. 学号20145332 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    实验目的 掌握在 ARM 开发板实现一个简单 WEB 服务器的过程. 学习在 ARM 开发板上的 SOCKET 网络编程. 学习 Linux 下的 signal()函数的使用. 实验内容 学习使用 s ...

  4. 20145216 20145330 《信息安全系统设计基础》 实验五 简单嵌入式WEB 服务器实验

    20145216 20145330 <信息安全系统设计基础> 实验五 简单嵌入式WEB 服务器实验 实验报告封面 实验步骤 1.阅读理解源码 进入/arm2410cl/exp/basic/ ...

  5. 20145208《信息安全系统设计基础》实验五 简单嵌入式WEB 服务器实验

    20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验 20145208<信息安全系统设计基础>实验五 简单嵌入式WEB 服务器实验

  6. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...

  7. 20145221 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145221 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 实验报告 队友博客:20145326蔡馨熠 实验博客:<信息安全系统设计基础>实验五 简单嵌入式W ...

  8. 实验5 简单嵌入式WEB服务器实验 实验报告 20135303 20135326

    北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                班级:  1353 姓名:20135303 魏昊卿 学号:2013532 ...

  9. 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验

    20145303 20145339 <信息安全系统设计基础> 实验五 简单嵌入式WEB服务器实验 实验目的与要求 1.掌握在ARM开发板实现一个简单WEB服务器的过程 2.学习在ARM开发 ...

随机推荐

  1. 简单工厂VS工厂方法

    前言: GOF经典的23种设计模式在IT界现已被广为流传.由于比较长时间没有用了,个人对于不同模式与模式之间的区别也渐渐模糊,故开始重温设计模式的思想.也希望更给对设计模式感兴趣的朋友些许的启发. - ...

  2. the useful for loop

    cp four_letter four_letter_bk for i in `ls /media/10TB/Stats/Assembly_marker` do cd /media/10TB/Stat ...

  3. Sublime Text快捷键和常用插件推荐

    Sublime Text快捷键: Ctrl+Shift+P:打开命令面板 Ctrl+P:搜索项目中的文件 Ctrl+G:跳转到第几行 Ctrl+W:关闭当前打开文件 Ctrl+Shift+W:关闭所有 ...

  4. dpm-release3.1在windows下的配置

    dpm-release3.1在windows下的配置 dpm是做目标检测objecjt detection的经典方法.dpm系列代码默认是在linux和mac下运行测试过的,windows下默认是不能 ...

  5. MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.

    [hxsyl@CentOSMaster hadoop-2.6.4]$ mahout MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpa ...

  6. 深入了解Mvc路由系统

    请求一个MVC页面的处理过程 1.浏览器发送一个Home/Index 的链接请求到iis.iis发现时一个asp.net处理程序.则调用asp.net_isapi 扩展程序发送asp.net框架 2. ...

  7. CVE-2014-0050: Exploit with Boundaries, Loops without Boundaries、Apache Commons FileUpload and Apache Tomcat DoS

    catalog . Description . Analysis . POC . Solution 1. Description MultipartStream.java in Apache Comm ...

  8. J-link烧写brjtag工具

    J-Link用的山寨货,不知道山寨了几代的那种....用的STM32F103C8T6的小板也是山寨了好几代那种,才25块钱...好在能用,J-Link用segger公司的软件能识别,也能找到CPU,板 ...

  9. RabbitMQ代码第一步

    Hello RabbitMQ 终于到了使用.Net连接RabbitMQ的时候了,我们首先新建一个控制台应用程序,在程序包管理控制器中NuGet中下载 RabbitMQ. Install-Package ...

  10. 实战mysql分区(PARTITION)

    http://lobert.iteye.com/blog/1955841 前些天拿到一个表,将近有4000w数据,没有任何索引,主键.(建这表的绝对是个人才) 这是一个日志表,记录了游戏中物品的产出与 ...