`
ipjmc
  • 浏览: 708674 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

WebAppContext(嵌入Jetty学习三)

阅读更多

    先来看一下在Jetty里,什么是Context。在Jetty里Context是包含了在某一特定URL或Virtual Host下的一组Handler的Handler。可以这样理解,Context本身也是一种Handler,它里面包含了许多的Handler,这些Handler都只能处理某个特定URL下的请求。Jetty里的Context有ContextHandler,ServletContext和WebAppContext。这里主要学习一下WebAppContext。

 

    先回忆一下war里面web.xml里面可能有什么东西,有Security,Session,Servlet等。如果要通过Jetty部署war包的话,Jetty也必须能够处理这些东西才行。通过上一节我们知道,Jetty里都有相应的Handler与之对应,而WebAppContext就是用来组织这些Handler的。Jetty就是通过WebAppContext来部署war包的。

 

    WebAppContext的属性如下:

_defaultsDescriptor 一般是$(jetty.home)/etc/webdefault.xml文件
_descriptor web.xml配置文件路径,默认是$(baseResource)/WEB-INF/web.xml
_overrideDescriptors 是一个配置文件数组,会覆盖web.xml中的配置信息
_extractWAR 如果为true,则说明本应用是从war中解包后创建的
_copyDir 如果为true,则在解包时把WEB-INF目录拷贝出来
_parentLoaderPriority 如果为true,则加载类时优先使用父加载器
_tmpDir war包解压后的目录
_war 原始war包路径或原始文件夹路径
_extraClasspath 扩展类库列表

 

    下面以一段代码来说明如何通过Jetty部署war包

WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/qman");
 
// Additional web application descriptor containing test components.
webapp.setDefaultsDescriptor("lib/web.xml");
 
//设置原始War的位置
webapp.setWar("qman.war");

//将war解压的目录
webapp.setTempDirecotry("wabapps/");
server.setHandler(webapp);
server.start();
server.join();

 

 

分享到:
评论

相关推荐

    Jetty 学习资料汇总

    通过上述内容的学习,你将能够熟练地运用Jetty进行Web应用开发,无论是构建独立的服务还是嵌入到其他项目中,Jetty都能提供强大且稳定的支撑。请参考压缩包中的学习资料,逐步探索和掌握这些知识点,提升你的Java ...

    jetty嵌入Web编程多种实现方式案例

    三、Jetty的WebSocket支持 Jetty不仅支持传统的HTTP,还提供了对WebSocket的强大支持。通过WebSocketEndpoint或者WebSocketServlet,开发者可以轻松创建WebSocket服务器端点,实现双向通信。 四、部署与管理Web应用...

    jetty嵌入项目实战

    - 嵌入Jetty意味着将Jetty服务器作为应用程序的一部分来运行,无需独立的服务器进程。 - 使用`org.eclipse.jetty.server.Server`类创建服务器实例,并配置监听端口、处理请求的Handler等。 - 配置Servlet容器,...

    jetty6.1.4 嵌入样例

    Jetty 6.1.4 是一个开源的Java Web服务器和Servlet容器,它以其轻量级、高效和可嵌入性而闻名。这个版本的Jetty发布于2009年,是Jetty系列的一个重要里程碑,提供了对Servlet 2.5规范的支持。在本文中,我们将深入...

    Jetty内嵌服务器实例

    2. **内嵌Jetty的实现**:学习如何通过Java代码创建并启动一个内嵌的Jetty服务器,这通常涉及导入相关的Jetty库,创建Server对象,配置Connector(如HTTP或HTTPS)和Handler(如WebAppContext)。 3. **Servlet容器...

    jetty6 嵌入到 javaproject中

    三、嵌入Jetty 6到Java项目 要将Jetty 6嵌入到Java项目中,首先需要在项目中引入Jetty的依赖库。这可以通过Maven或Gradle来实现,添加对应的依赖项到构建配置文件。 1. Maven依赖: ```xml <groupId>org.mortbay....

    jetty8+ 内嵌式启动运行demo

    Jetty的源码结构清晰,易于阅读,你可以通过阅读源码学习其内部工作流程。 至于“工具”,Jetty 8作为一个Java库,可以与其他开发工具(如Maven或Gradle)集成,方便地管理依赖和构建项目。如果你使用Maven,只需在...

    在嵌入式jetty环境下运行struts2Annotation项目

    在嵌入式Jetty环境下运行Struts2 Annotation项目是一个常见的任务,特别是在开发和测试阶段,因为这种方式能够快速启动服务,而无需依赖大型服务器容器。本文将深入探讨如何配置和执行这个过程,以及涉及的关键技术...

    Jetty使用总结

    启动Jetty可以通过命令行方式执行Jetty安装目录下的启动脚本(如`start.jar`),或者通过编程的方式在Java应用程序中嵌入Jetty服务器。具体方法可以根据实际情况选择。 #### 五、总结 通过上述步骤,我们可以轻松...

    HelloWorld之jetty运行

    这个例子展示了Jetty的易用性,也为我们提供了深入学习Jetty及其相关技术的起点,如Servlet、JSP和Web容器的管理。对于初学者来说,这是一个很好的实践项目,可以帮助理解Web应用的生命周期和工作原理。

    jetty for java

    除了作为一个独立的服务器运行,Jetty还可以嵌入到其他Java应用中,作为应用的一部分运行,提供Web服务功能。 9. **监控与管理**: Jetty提供了JMX(Java Management Extensions)支持,允许通过JMX工具进行远程...

    jetty6.1文件包 && 使用教程

    Jetty的轻量级特性在于它不需要像其他服务器(如Tomcat)那样依赖于大型的应用服务器环境,可以独立运行或嵌入到任何Java应用程序中。 安装Jetty 6.1.26,你需要下载zip文件"jetty-6.1.26.zip"。解压后,你会得到一...

    jetty-distribution-9.4.31.v20200723.zip

    - **嵌入式使用**:Jetty可以被嵌入到其他Java应用中,作为应用程序的一部分运行。 6. **监控与日志** - **监控工具**:Jetty提供了一些监控端点,例如JMX(Java Management Extensions)接口,允许通过JConsole...

    jetty-9.4.2

    3. **嵌入式使用**:Jetty可以轻松地嵌入到其他Java应用程序中,作为Web服务的内部组件,简化了部署和管理。 4. **性能优化**:Jetty团队不断进行性能调优,9.4.2版本可能包含更快的请求处理速度、内存使用优化以及...

    jetty-distribution-7.0.0.v20091005.zip

    8. **强大的部署工具**:Jetty提供了WebAppContext类,可以方便地管理和部署Web应用程序,支持WAR文件和解压后的目录结构。 9. **持续更新与社区支持**:Jetty项目由Eclipse基金会维护,拥有活跃的社区和持续的更新...

    jetty 手动 加载spring mvc demo

    它可以直接嵌入到Java应用中,无需单独部署,这使得Jetty成为开发和测试Web应用的理想选择。 然后是Spring MVC,它是Spring框架的一部分,用于构建基于模型-视图-控制器(MVC)模式的Web应用程序。Spring MVC通过...

    在项目中直接启动jetty,发布自己

    标签“源码”和“工具”提示我们可能需要理解Jetty的内部工作原理,或者学习如何利用其他工具(如Maven插件)自动化部署。例如,我们可以使用`jetty-maven-plugin`来简化开发和测试流程。 至于文件“SecurityManage...

    java应用程序实现jetty 集成jersey 和spring

    在Java应用程序中,Jetty可以直接嵌入,无需独立服务器进程,这样可以简化部署流程。 集成Jetty的步骤主要包括: 1. 添加Jetty依赖:在项目中引入Jetty的JAR文件或通过Maven/Gradle等构建工具添加依赖。 2. 初始化...

    jetty使用文档

    18. **嵌入Jetty**:将Jetty直接嵌入到Java应用程序中,简化部署流程。 19. **JEE服务器整合**:Jetty可与EJB容器配合,实现完整的Java EE功能。 20. **开发环境使用**:Jetty适合开发和调试,快速部署和更新应用...

    Java如何使用Jetty实现嵌入式的Servlet容器

    在Java中,实现嵌入式的Servlet容器可以使用Jetty,Jetty是一个Java实现的开源的servlet容器,可以作为一个完整的Web服务器和Servlet容器,同时也可以嵌入在Java应用程序中。在Java程序中调用Jetty可以实现嵌入式的...

Global site tag (gtag.js) - Google Analytics