如果让一个人说出一种开源的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,代码如下:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->1 import org.mortbay.jetty.*;
2
3 import java.io.*;
4
5 import org.mortbay.jetty.handler.*;
6
7 import org.mortbay.xml.*;
8
9 public class start {
10
11 public static void main(String args[]) {
12
13 Server server = new Server(8080);
14
15 server.setHandler(new DefaultHandler());
16
17 XmlConfiguration cfg = null;
18
19 try {
20
21 cfg = new XmlConfiguration(new FileInputStream("./src/com/greysh/config/jetty.xml"));
22
23 cfg.configure(server);
24
25 server.start();
26
27 System.out.println("Jetty Started ...");
28
29 } catch (FileNotFoundException e) {
30
31 e.printStackTrace();
32
33 }
34
35 catch (IOException e) {
36
37 e.printStackTrace();
38
39 } catch (Exception e) {
40
41 e.printStackTrace();
42
43 }
44
45 }
46
47 }
运行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,操作过程如下:
<!--[if !supportLists]-->1. <!--[endif]-->在webapps/manage下建立WEB-INF, 并新建web.xml用于配置servlet, 同时将contexts下的webdefalut.xml的内容copy到web.xml里。
<!--[if !supportLists]-->2. <!--[endif]-->修改contexts下的manage.xml,在webapps目录下写jsp程序,并在servlet目录下写相应的servlet处理程序,同时在web.xml里进行配置。
<!--[if !supportLists]-->3. <!--[endif]-->运行Start类,用IE访问http://localhost:8080/, 点击/manage ---> org.mortbay.jetty.webapp.WebAppContext@bb05de
到此Jetty运行servlet成功
分享到:
相关推荐
- **Servlet支持**: 虽然原生Jetty支持Servlet,但在Android上,i-jetty通过轻量级的方式实现了Servlet容器,允许开发者编写Servlet来处理特定的HTTP请求。 - **线程模型**: 为了适应Android环境,i-jetty采用了一...
Jetty是一个开源的Servlet容器,它可以解析HTTP请求并将其分派到对应的Servlet。在我们的HTTP代理场景中,我们将创建一个Servlet来处理HTTP代理请求。 1. **配置Jetty** 首先,需要添加Jetty依赖到项目中。如果你...
【标题】"jetty-util-ajax-9.2.1.v20140609.zip" 提供的是Jetty项目中的一个特定版本——jetty-util-ajax模块的9.2.1.v20140609版本。Jetty是一款轻量级、高性能的开源HTTP服务器和Servlet容器,广泛应用于Java Web...
1. Tomcat:Apache的开源Servlet容器,广泛应用于开发和生产环境。安装Tomcat后,可以将Web应用(包含Servlet的项目)部署到`webapps`目录下。 三、Web-INF目录 在提供的文件名称列表中,出现了"WEB-INF"。这是一...
2. "jetty-distribution-9.1.0.v20131115":这可能是一个包含整个Jetty服务器9.1.0版本的解压文件,包括服务器的核心组件、Servlet容器、JSP支持、以及其他相关工具和文档。 Jetty的主要特性包括: 1. **轻量级**:...
Jetty 6.1.9 是一款轻量级的开源HTTP服务器和Servlet容器,它以其高效、可嵌入和模块化而闻名。在Java社区中,Jetty被广泛用于开发Web应用程序,尤其适用于那些需要快速启动和低内存占用的场景。这个版本(6.1.9)是...
Jetty是一款开源的Servlet容器,由Eclipse基金会维护。它支持最新的Java EE标准,并且具备轻量级、高性能等特点,适用于开发测试环境以及生产环境中的Web应用服务器。Jetty通过一系列的配置文件来管理其运行时的行为...
4. **模块化设计**:Jetty的模块化架构允许用户根据需求选择安装和配置组件,如HTTP服务器、HTTP客户端、Servlet容器、WebSocket服务器等,避免了不必要的资源消耗。 5. **性能优化**:Jetty 9.2.2在性能上进行了...
【标签】"开源项目" 指出这两个项目——Jetty Deploy和SRL IE,都是遵循开放源代码许可的软件。这意味着它们的源代码可供公众查看、使用、修改和分发,鼓励社区协作和改进。 【压缩包子文件的文件名称列表】: ...
- **Jetty**是一款**100%纯Java编写**的轻量级Web服务器与Servlet容器,与Tomcat等其他流行的Web服务器相比,Jetty以其**体积小、启动快**而著称。 - **快速高效**:Jetty作为最快的Servlet服务器之一,能够处理大量...
Apache Tomcat是一款开源的Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,使得开发人员可以在服务器端运行Java应用程序。Tomcat7-src包含了Tomcat 7版本的全部源代码,这对于我们深入理解Tomcat...
2. ** Coyote**:负责处理HTTP协议的连接,它将网络I/O与Servlet容器的其余部分解耦。Coyote接收来自客户端的请求,并将其转化为Servlet可以处理的对象。 3. ** Jasper**:是Tomcat中的JSP引擎,负责将JSP页面编译...
服务器端通常是一个Servlet容器,如Tomcat或Jetty,其中部署了Pushlet服务。客户端则是一个JavaScript库,用于接收来自服务器的数据推送。 **服务器端工作原理** 1. **连接管理**:Pushlet服务器通过长连接与客户端...
- Tomcat:开源的Servlet容器,广泛应用于开发和部署Java Web应用。 - Jetty:轻量级的Web服务器和Servlet容器。 8. **项目结构与目录组织**: - 根据Maven或Gradle的标准目录结构组织源代码、资源文件和配置...
部署时,Jdon可以无缝集成到Tomcat、Jetty等Servlet容器,或者独立运行。 五、社区支持 JdonFramework拥有活跃的开发者社区,提供丰富的文档、示例代码和在线教程,帮助开发者快速上手并解决问题。此外,钟道铃...
Jetty是一个开源的HTTP服务器和Servlet容器,Hive使用Jetty来提供Web界面和HTTP服务,例如HiveServer2。由于旧版本的Jetty可能存在安全漏洞,升级到9.4.24.v20191120是为了修复这些潜在的安全问题,确保Hive服务的...
在描述中提到的"jetty",可能指的是Jetty HTTP服务器和Servlet容器。Jetty是一款轻量级、高性能的服务器,常用于嵌入式系统和测试环境。JBoss内核可以集成Jetty,提供更快速的启动时间和较低的内存占用,适合小型Web...
作为一款与Java Servlet容器兼容的框架,Web Flavor可以轻松地部署在Tomcat、Jetty等标准容器上。这使得它能够利用这些成熟容器的稳定性和丰富的生态,同时也方便了开发人员利用已有的服务器管理和监控工具。 5. *...
- 系统部署可能需要Tomcat、Jetty等Servlet容器,或者使用Spring Boot的内置服务器。 - 用户只需运行特定的启动脚本或应用程序即可运行系统。 8. **安全性与权限控制** - 系统可能采用了Spring Security或Apache...
JSP页面会被Web容器转换为Servlet,然后执行并返回结果给客户端。 2. **文件操作** JSP Explorer 实现了对服务器文件系统的访问,包括列出目录内容、读取文件、重命名、移动和删除文件等。这涉及到Java的File类和...