人在江湖

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

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

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

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

          2. 建立jetty目錄及其子目錄如圖所示。 所有文件都可以在最后的附件里找到。略作一點(diǎn)說(shuō)明:webdefault.xml通常不需要你改。它是web.xml之外的一個(gè)配置文件,配置一些公共屬性。web app的文件,jsp之類(lèi)的都放在web目錄下。web.xml和index.jsp都是示例性質(zhì)最簡(jiǎn)單的。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這個(gè)java文件,然后在瀏覽器里訪(fǎng)問(wèn)http://localhost:8020/jetty看結(jié)果。

           

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

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

          Feedback

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

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

          # re: 利用jetty實(shí)現(xiàn)超輕量級(jí)web開(kāi)發(fā) 2011-02-15 15:39 keer2345
          樓主,如果用maven來(lái)管理的話(huà),會(huì)更加簡(jiǎn)單。
          我也是一個(gè)多月前才了解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ù)  更多評(píng)論
            

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

          主站蜘蛛池模板: 禄丰县| 揭西县| 乌拉特中旗| 凌源市| 平塘县| 克山县| 团风县| 嘉黎县| 方城县| 同仁县| 山东| 沽源县| 雅江县| 大城县| 集安市| 晋中市| 石楼县| 西宁市| 阳原县| 丘北县| 华蓥市| 乐陵市| 宣武区| 南溪县| 大连市| 泸州市| 鸡东县| 华亭县| 凤台县| 南部县| 正定县| 沂水县| 丰原市| 青冈县| 夹江县| 彝良县| 乌鲁木齐县| 雅江县| 江门市| 峨眉山市| 康定县|