人在江湖

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

          幾年前,如果你不用EJB,很多人都用IDE+tomcat插件做web開發(fā)。 現(xiàn)在越來越多人使用jetty了。這不是簡單地用Jetty替換tomcat,巧妙的地方在于我們可以直接用main函數(shù)在IDE里啟動Jetty. 這樣,你不需要配置IDE的server。不同于IDE+tomcat插件的方式需要兩個project,web app和server project. 使用下面介紹的方式你只有一個java project就行. 開發(fā)環(huán)境更簡單,debug也更方便,不需要remote debug的方式,jetty非常快,可以明顯提高開發(fā)效率。

          參考了網(wǎng)上的一些文章,整理了一下。本文以Eclipse作為IDE。最后有可以運行的示例代碼下載,非常簡單。

          1. 建立Java project(不必是dynamic web project), 取個名字,比如jetty

          2. 建立jetty目錄及其子目錄如圖所示。 所有文件都可以在最后的附件里找到。略作一點說明:webdefault.xml通常不需要你改。它是web.xml之外的一個配置文件,配置一些公共屬性。web app的文件,jsp之類的都放在web目錄下。web.xml和index.jsp都是示例性質(zhì)最簡單的。lib目錄下需要放一些jetty的jar包,也一樣在附件里有

           image

          3. 新建java文件如下:(注意這里我用的端口是8020,以免和其他jboss或tomcat沖突)

             1: package jetty;
             2:  
             3: import org.mortbay.jetty.Connector;
             4: import org.mortbay.jetty.Server;
             5: import org.mortbay.jetty.nio.SelectChannelConnector;
             6: import org.mortbay.jetty.webapp.WebAppContext;
             7:  
             8: public class OneWebApp
             9: {
            10:     public static void main(String[] args) throws Exception
            11:     {
            12:         String jetty_home = "jetty";
            13:         int port = 8020;
            14:  
            15:         Server server = new Server();
            16:         
            17:         Connector connector=new SelectChannelConnector();
            18:         connector.setPort(port);
            19:         server.addConnector(connector);
            20:         
            21:         WebAppContext webapp = new WebAppContext(jetty_home + "/web", "/jetty");
            22:         webapp.setDefaultsDescriptor(jetty_home+"/etc/webdefault.xml");
            23:         
            24:         server.setHandler(webapp);
            25:         
            26:         server.start();
            27:         //server.join();
            28:     }
            29: }

          可以run這個java文件,然后在瀏覽器里訪問http://localhost:8020/jetty看結(jié)果。

           

          整個eclipse工程可以從這里下載:http://cid-d8b11f9bf86fecfa.office.live.com/self.aspx/.Public/code/RunJettyInEclipse.rar

          posted on 2011-02-13 22:40 人在江湖 閱讀(13874) 評論(4)  編輯  收藏 所屬分類: java

          Feedback

          # re: 利用jetty實現(xiàn)超輕量級web開發(fā) 2011-02-14 09:54 『 Y X 』
          感謝分享  回復(fù)  更多評論
            

          # re: 利用jetty實現(xiàn)超輕量級web開發(fā) 2011-02-14 11:44 @joe
          jetty確實在有些方面很好用,  回復(fù)  更多評論
            

          # re: 利用jetty實現(xiàn)超輕量級web開發(fā) 2011-02-15 15:39 keer2345
          樓主,如果用maven來管理的話,會更加簡單。
          我也是一個多月前才了解maven的。

          <plugin>
          <groupId>org.mortbay.jetty</groupId>
          <artifactId>maven-jetty-plugin</artifactId>
          <version>6.1.26RC0</version>
          <configuration>
          <connectors>
          <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
          <port>9090</port>
          <maxIdleTime>60000</maxIdleTime>
          </connector>
          </connectors>
          </configuration>
          </plugin>


          ——————————————————————————

          http://www.juvenxu.com/
          http://www.sonatype.com/books/mvnex-book/reference/public-book.html  回復(fù)  更多評論
            

          # re: 利用jetty實現(xiàn)超輕量級web開發(fā) 2015-09-01 16:47 MinteLiu
          附件無法下載。。  回復(fù)  更多評論
            

          主站蜘蛛池模板: 隆安县| 太仆寺旗| 旺苍县| 花莲县| 康马县| 萝北县| 灵石县| 南昌县| 日照市| 大冶市| 海口市| 拉孜县| 大渡口区| 叶城县| 乌兰县| 聂拉木县| 汉源县| 辉县市| 长兴县| 临西县| 商洛市| 昭平县| 通辽市| 昌平区| 阳西县| 临沂市| 临夏市| 恩施市| 绥中县| 越西县| 贡山| 郸城县| 墨玉县| 仙游县| 彝良县| 曲周县| 松江区| 孟州市| 进贤县| 睢宁县| 含山县|