幾年前,如果你不用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包,也一樣在附件里有
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