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>

 

 

 

 

posted on 2016-06-26 12:41  liujie037  阅读(379)  评论(0编辑  收藏  举报

导航