Jetty 9部署web应用

来源:互联网 发布:数据库原理与技术答案 编辑:程序博客网 时间:2024/04/30 01:59

Jetty相关的文章比较少,不过官方文档挺齐全的。做下记录也是好事。

jetty9跟jetty8相比变化还是有一些的,jetty8部署web应用需要将war包部署到${JETTY_HOME}/webapps下,然后将context的相关配置放到${JETTY_HOME}/contexts下,然后启动即可。

jetty9将war包和context配置的xml都放到了${JETTY_HOME}/webapps下了,比如你有一个myapp.war,将其放到webapps下之后,需要新建一个myapp.xml的文件

<?xml version="1.0"  encoding="ISO-8859-1"?>  <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">  <Configure class="org.eclipse.jetty.webapp.WebAppContext">    <Set name="contextPath">/myapp</Set>    <Set name="war"><SystemProperty name="jetty.home" default="."/>/webapps/myapp.war</Set>  </Configure>  
启动jetty,然后在浏览器就能访问localhost:8080/myapp了。



补:学习官方文档发现jetty9部署规则如下:

部署web应用

web应用部署在webapps文件夹,支持热部署,支持标准的WAR文件和Jetty配置文件,并遵循下面的约定: 
 1)如果文件夹example/被部署,且包含一个WEB-INF/子文件夹,则它作为标准web应用部署,否则它作为静态目录上下文部署。上下文路径是/example(即: http://localhost:8080/example/ ),但如果文件夹名是ROOT(大小写敏感),则上下文路径是/。如果文件夹名以“.d”结束,则被忽略(但可以通过直接配置来使用)。 
 2)文件example.war被作为标准web应用部署,上下文路径为/example(即: http://localhost:8080/example/ )。如果文件名是ROOT(大小写敏感),则上下文路径为/。如果example.war和example/同时存在,则WAR被部署。 
 3)一个XML文件example.xml被部署,配置通过XML文件定义,配置必须包含上下文路径。如果example.xml和example.war存在,仅XML被部署。 
如果你有一个标准的web应用,你能通过拷贝它到webapps文件夹来热部署它到Jetty。

0 0