Jetty-Servlet容器額外功能
如果讓一個人說出一種開源的Servlet容器,他的回答可能是Apache Tomcat。但是,Tomcat并不是孤單的,我們還有Jetty。Jetty 是一個使用Java語言編寫的開源的Servlet容器,它為基于Java的web內(nèi)容如JSP和Servlet提供運行環(huán)境。Jetty作為可選的Servlet容器只是一個額外的功能,而它真正出名是因為它是作為一個可以嵌入到其他的Java代碼中的Servlet容器而設計的。這就是說,開發(fā)小組將Jetty作為一組Jar文件提供出來,因此你可以在你自己的代碼中將Servlet容器實例化成一個對象并且可以操縱這個容器對象。
Jetty在Servlet容器中算不上一個新面孔,它從1998年就已經(jīng)嶄露頭角。Jetty的發(fā)布遵循了Apache 2.0的開源協(xié)議,你可以在免費軟件和商業(yè)軟件中使用Jetty。
下面將介紹在MyEclipse 6.5下使用jetty的全過程。
環(huán)境:Windows XP + JDK 1.6.11 + MyEclipse 6.5 + jetty-7.0.0pre3
1. 打開myEclipse, 新建java工程Jetty,建立webapps和 logs文件夾(和src同級),在src下建立config、Servlet及test文件夾,在webapps建立manage目錄作為web工作目錄。
2. 將${ROOT}\jetty-7.0.0pre3\lib下的三個jar包加入工程的classpath,將${Root}:\jetty- 7.0.0pre3\lib\jsp-2.1下的四個jar包加入工程的classpath,copy${ROOT}\jetty-7.0.0pre3 \etc下的jetty.xml, webdefault.xml和realm.properties到src\config下,同時copy ${ROOT}\jetty-7.0.0pre3\contexts下的test.xml到src\config下并改名為manage.xml。
3. 修改jetty.xml, manage.xml,將這些配置文件中帶有jetty.xml、webdefault.xml及realm.properties的路徑改為src\config,并在webapps/manage下新建index.jsp。
4. 在test目錄下新建Start.java,代碼如下:
- import org.mortbay.jetty.*;
- import java.io.*;
- import org.mortbay.jetty.handler.*;
- import org.mortbay.xml.*;
- public class start {
- public static void main(String args[]) {
- Server server = new Server(8080);
- server.setHandler(new DefaultHandler());
- XmlConfiguration cfg = null;
- try {
- cfg = new XmlConfiguration(new FileInputStream("./src/com/greysh/config/jetty.xml"));
- cfg.configure(server);
- server.start();
- System.out.println("Jetty Started ...");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- catch (IOException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
運行Start類,用IE訪問http://localhost:8080/, 點擊/manage ---> org.mortbay.jetty.webapp.WebAppContext@1275d39{/manage,file:/D:/Program%20Files/MyEclipse%206.5/workspace/Jetty/webapps/manage/} ,此時Jetty就可以成功運行了。
如果要在Jetty中運行servlet,操作過程如下:
1. 在webapps/manage下建立WEB-INF, 并新建web.xml用于配置servlet, 同時將contexts下的webdefalut.xml的內(nèi)容copy到web.xml里。
2. 修改contexts下的manage.xml,在webapps目錄下寫jsp程序,并在servlet目錄下寫相應的servlet處理程序,同時在web.xml里進行配置。
3. 運行Start類,用IE訪問http://localhost:8080/, 點擊/manage ---> org.mortbay.jetty.webapp.WebAppContext@bb05de
到此Jetty運行servlet成功
【編輯推薦】