Jetty是一个Java实现的开源的servlet容器,它既可以像Tomcat一样作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中,在Java程序中调用Jetty。
下面介绍如何在Java应用程序中嵌入Jetty。
Jetty下载地址,本文写作时的最新版本是9.1.2,下载jetty-distribution-9.1.2.v20140210.zip:
http://download.eclipse.org/jetty/stable-9/dist/
注意Jetty 9需要JDK 7,如果使用JDK 6的话会出现错误:java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0。
1、实现Web服务器
在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();
- }
如果想要显示文件夹中的所有文件的列表,可以设置:
- resourceHandler.setDirectoriesListed(true);
2、实现Servlet容器
这里需要另外加入下面的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();
- }
另外还可以使用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();
- }
作者:叉叉哥 转载请注明出处:http://blog.csdn.net/xiao__gui/article/details/20691363