转载

Jetty-Servlet容器额外功能

如果让一个人说出一种开源的Servlet容器,他的回答可能是Apache Tomcat。但是,Tomcat并不是孤单的,我们还有Jetty。Jetty 是一个使用Java语言编写的开源的Servlet容器,它为基于Java的web内容如JSP和Servlet提供运行环境。Jetty作为可选的Servlet容器只是一个额外的功能,而它真正出名是因为它是作为一个可以嵌入到其他的Java代码中的Servlet容器而设计的。这就是说,开发小组将Jetty作为一组Jar文件提供出来,因此你可以在你自己的代码中将Servlet容器实例化成一个对象并且可以操纵这个容器对象。

Jetty在Servlet容器中算不上一个新面孔,它从1998年就已经崭露头角。Jetty的发布遵循了Apache 2.0的开源协议,你可以在免费软件和商业软件中使用Jetty。

下面将介绍在MyEclipse 6.5下使用jetty的全过程。

环境: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,代码如下:

  1. import org.mortbay.jetty.*;  
  2. import java.io.*;  
  3. import org.mortbay.jetty.handler.*;  
  4. import org.mortbay.xml.*;  
  5. public class start {  
  6. public static void main(String args[]) {  
  7. Server server = new Server(8080);  
  8. server.setHandler(new DefaultHandler());  
  9. XmlConfiguration cfg = null;  
  10. try {  
  11. cfg = new XmlConfiguration(new FileInputStream("./src/com/greysh/config/jetty.xml"));  
  12. cfg.configure(server);  
  13. server.start();  
  14. System.out.println("Jetty Started ...");  
  15. } catch (FileNotFoundException e) {  
  16. e.printStackTrace();  
  17. }  
  18. catch (IOException e) {  
  19. e.printStackTrace();  
  20. } catch (Exception e) {  
  21. e.printStackTrace();  
  22. }  
  23. }  

运行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的内容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成功

正文到此结束
Loading...