Jetty开发(2)

部署web应用

配置了部署模块的Jetty服务器实例能够在webapps目录下热部署web应用。在webapps目录下标准的War包和jetty的配置文件能够被热部署进服务器需要符合下述规则:

  • example/目录会被自动部署,如果该目录下含有WEB-INF/子目录的话,会作为一个web应用,要不然作为一个静态内容目录。他的访问路径是/example(也就是说,http://localhost:8080/example/),除非你目录名叫ROOT(大小写敏感),这时的访问路径为/。如果目录名称以".d"结尾的话,该目录会被作为配置目录处理。
  • WAR包被命名为example.war会被部署成访问路径为/example(也就是说,http://localhost:8080/example/)的web应用。如果WAR名字为ROOT(大小写敏感),这时的访问路径为/。如果example.war和example/同时存在,仅仅War包会被生效(因为同名的目录会被作为War包的解压缩目录覆盖)。
  • 通过XML可以进行访问路径的配置,该XML文件必须包含上下文路径配置,如果同时存在和war包同名的xml文件,优先使用XML作为该应用的配置。

如果你有一个Web应用,你可以直接拷贝到webapps目录下进行热部署。

Jetty的Demo演示程序

在demo-base/webapps目录下包含以下可部署的和配置文件 :

ROOT/

这是一个静态内容目录,访问路径为/,里面包含有Jetty的Demo程序的欢迎页面。

test.xml

这是一个配置和部署test.war的web应用的配置文件,里面配置访问路径的配置和加载额外的配置文件路径,比如设置test.d目录。

test.war

这是一个被test.xml配置的一个web应用。

test.d

该目录包含额外的配置,被test.xml使用并且注入到test.war应用的配置中。

async-rest.war

一个eBay的REST风格的异步web应用,自动部署后的访问路径是/async-test。

test-jaas.war

使用JAAS安全验证框架的一个web应用程序。

test-jaas.xml

一个关于test-jaas.war的上下文配置的文件。额外的配置包含启动LoginService进行授权和认证。

test-jndi.war

展示使用JNDI的web应用Demo程序。

test-jndi.xml

配置test-jndi.war上下文的文件. 额外的配置包含定义在命名空间被web应用引用的对象。

test-spec.war

该Demo程序展示使用注解,fragments, ServletContainerInitializers和其他Servlet3.0/3.1特性 。

test-spec.xml

配置test-spec.war上下文路径的配置文件。 额外的配置包括启动一些在命名空间中需要被引用的注解。

xref-proxy.war

一个使用透明的代理从Eclipse网站的jetty的src下的xref目录服务 。

example-moved.xml
  展示怎样使用MovedContextHandler来重定向到另外一个路径的web应用Demo程序。

在Jetty中使用Maven

Jetty从Maven成立以后就一直存在于Maven的中央仓库,这些年来就存在了几个不同的Maven坐标,当年Jetty在SourceForge和Codehaus社区时,使用的groupId是 org.mortbay.jetty. 在Jetty7时加入Eclipse基金会后使用了新的groupId。POM如下所示:

<dependency>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-project</artifactId>
  <version>${project.version}</version>
</dependency>
时间: 2024-12-19 20:26:07

Jetty开发(2)的相关文章

Jetty开发指导:Maven和Jetty

使用Maven Apache Maven是一种软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven能从核心信息管理一个项目的构建.报告和文档. 他是用于构建一个web应用项目的理想工具,这些项目能用jetty-maven-plugin轻松的运行web应用,从而节省开发时间.你也能用Maven构建.测试和运行一个嵌入Jetty的项目. 首先我们将看一个很简单嵌入Jetty的HelloWorld Java应用,然后看一个简单的webapp怎么使用jetty-maven-plugin加

IntelliJ IDEA: maven &amp; jetty 开发 java web

之前使用eclipse + maven + jetty开发java web应用,本着no zuo no gain的想法, 折腾了一下Intellj idea下开发环境的搭建,顺带学习了maven repository的概念. 环境 系统:OS X Yosemite IDE:IntelliJ IDEA 14.0.1 CE JDK:1.8.0_25 svn使用 svn checkout项目到project 图 1. svn maven使用 右侧栏Maven Projects:Maven Projec

eclipse集成jetty开发web项目(不采用maven方式)

以前开发过程部署项目都是采用tomcat,偶然发现jetty,所以试了下,挺方便的,直切主题. 1.下载jetty,楼主使用的jetty8,地址http://download.eclipse.org/jetty/ 2.下载完成后,解压缩,cd到jetty路径下,运行命令: java -jar start.jar 3.默认端口号8080,访问http://localhost:8080,出现jetty welcome界面 到此,说明jetty已经安装成功! 关于eclipse集成jetty开发web

Jetty使用教程(四:21-22)—Jetty开发指南

二十一.嵌入式开发 21.1 Jetty嵌入式开发HelloWorld 本章节将提供一些教程,通过Jetty API快速开发嵌入式代码 21.1.1 下载Jetty的jar包 Jetty目前已经把所有功能分解成小的jar包,用户可以根据需要选择合适的jar包,来实现需要的功能.通常建议用户使用maven等管理工具来管理jar包,然而本教程使用一个包含所有功能的合集jar包来演示,用户可以使用curl或者浏览器下载jetty-all.jar包. jetty-all.jar下载地址:http://c

Jetty开发指导:调试

如果你有一个web应用部署到Jetty,你能容易地从远程调试它.但首先你必须使用附加的参数启动远程JVM,然后在Eclipse中启动一个远程调试连接.这很容易就能做到. 注意:下面的例子假定你正在部署你的web应用到Jetty发布版本中. 设置Jetty调试端口 假定你将你的webapp部署到Jetty,有两种不同的方式设置调试端口: 通过命令行 在命令行中增加要求的参数如下: $ java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9

Jetty开发指导:嵌入

Jetty嵌入的HelloWorld 这节提供一个指导展示你怎么使用Jetty API快速开发嵌入的代码. 下载Jars Jetty被分解到多个jars和依赖,方便你选择自己需要的最小jar集合.通常使用Maven是最好的,然而这里使用了一个聚集的jar,包含了所有的Jetty类.你能手动的下载聚集的jetty-all jar和servlet api jar,通过使用wget或者类似的命令(例如:curl)或者浏览器.用wget如下: mkdir Demo cd Demo wget -O jet

Jetty使用教程(四:24-27)—Jetty开发指南

二十四.处理器(Handler ) 24.1 编写一个常用的Handler Jetty的Handler组件用来处理接收到的请求. 很多使用者不需要编写Jetty的Handler ,而是通过使用Servlet处理请求.你可以调用Jetty内置的Handler 来处理context.security.session.和servlet,且并不需要扩展它们的功能.然而,有些用户或许有一些特殊的需求,或者因为某些原因想禁用servlet API.所以为了通过最少的代码为他们提供提供解决方法,Jetty允许

Jetty使用教程(四:23)—Jetty开发指南

二十三.Maven和Jetty 这一章节将说明如何通过Maven管理Jetty和使用Jetty的Maven插件. 23.1 使用Maven Apache Maven是一个款软件项目管理工具.基于项目对象模型(POM)的概念,Maven可以管理一个项目的构建生成报告和文档.这是一个理想的工具用来构建一个web应用程序,这样的项目也可以使用jetty-maven-plugin来轻松运行并可以节省开发时间,你也可以使用Maven来构建.测试.运行一个嵌入式Jetty项目. 首先我们要看一个非常简单的J

maven版cxf集合jetty开发服务端(一)

一.首先新建一个maven项目 二.pom.xml引入依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-api</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>org.apache.cxf</group

Jetty开发指导:WebSocket介绍

WebSocket是一个新的基于HTTP的双向通讯的协议. 它是基于低级别的框架协议.使用UTF-8 TEXT或者BINARY格式传递信息. 在WebSocket中的单个信息能够是不论什么长度(然而底层框架有单帧63bits的限制). 发送的信息数量不受限制. 信息被持续的发送,基础协议不支持交叉的信息. 一个WebSocket连接经历一些主要的状态改变: 1)CONNECTING:HTTP升级到WebSocket正在进行中 2)OPEN:HTTP升级成功,而且socket如今打开并准备读/写