文章出處

下面介紹如何在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();
}

  

 
相關:
 
 
 

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()