天天看點

Java使用Jetty實作嵌入式的Servlet容器

最近在項目中遇到關于jetty的問題,是以在網上做一些科普,接下來就給大家做一些分享:

Jetty是一個Java實作的開源的servlet容器,它既可以像Tomcat一樣作為一個完整的Web伺服器和Servlet容器,同時也可以嵌入在Java應用程式中,在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。

在java項目中要實作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包

我的項目中是引入的war封包件,附上簡單代碼:

public static void main(String[] args) throws Exception  
    {  
        Server server = new Server();  
        //聲明上下文對象
        WebAppContext webAppContext = new WebAppContext();
        webAppContext.setContextPath("/");
        webAppContext.setWar("CRweb.war");
        webAppContext.setInitParameter("dirAllowed", "false");  
        //HandlerList順序執行handler
        HandlerList handlers = new HandlerList();

        //聲明ServletContextHandler
        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);  
        context.setContextPath("/s"); 
         //設定句柄
        server.setHandler(context);  
        context.addServlet(new ServletHolder(new SelectPatientServlet()), "/selectOne");  

        //處理程式
        handlers.addHandler(context);  
        handlers.addHandler(webAppContext);
        // Add the handlers to the server adminand start jetty.
        server.setHandler(handlers);

        //啟動服務star
        server.start();  
    {
    GUI界面界面加載的一些程式
    }
       // 最後加入伺服器
        server.join();
    }  
           

項目中涉及到 在Java中内嵌浏覽器插件,在下篇檔案會給大家做個簡單的介紹。

詳細了解jetty實作嵌入式的Web伺服器與Servlet容器見原文:http://blog.csdn.net/xiao__gui/article/details/20691363