人在江湖

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            82 Posts :: 10 Stories :: 169 Comments :: 0 Trackbacks

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

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

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

          2. 建立jetty目錄及其子目錄如圖所示。 所有文件都可以在最后的附件里找到。略作一點說明:webdefault.xml通常不需要你改。它是web.xml之外的一個配置文件,配置一些公共屬性。web app的文件,jsp之類的都放在web目錄下。web.xml和index.jsp都是示例性質最簡單的。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看結果。

           

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

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

          Feedback

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

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

          # re: 利用jetty實現超輕量級web開發 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  回復  更多評論
            

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

          主站蜘蛛池模板: 无极县| 景德镇市| 全南县| 徐闻县| 荆门市| 谢通门县| 隆昌县| 台东县| 广河县| 房山区| 昌乐县| 汝城县| 寿光市| 衡水市| 邯郸市| 怀化市| 泊头市| 买车| 鄂温| 永修县| 温宿县| 固安县| 忻州市| 道孚县| 泸溪县| 清涧县| 西丰县| 广东省| 永宁县| 卓资县| 泗洪县| 赤峰市| 漳浦县| 江达县| 博客| 宜兰市| 塔城市| 靖远县| 永嘉县| 涟水县| 友谊县|