我创build了一个简单的Web应用程序,由一个dir与html,css,js组成。 没有服务器代码。 由于复杂的原因,我的pipe理员坚持把它转换成一个.war文件,这样可以很容易地在tomcat上部署。 同样,应用程序根本不包含任何Java代码。 我没有使用ant或eclipse创build它。
我尝试创build一个存档:
jar cvf mywarfile.war *
这确实创build了一个战争文件。 但是,当我在tomcat上部署这场战争时,似乎并不奏效。 Tomcat会自动将war文件解压缩到一个目录,但不能通过web服务器使用。 我想这与我的战争不包含目录WEB-INF和META-INF 。
有一个简单的方法,我可以把一个静态客户端的Web应用程序变成一个可部署的战争文件?
为了在tomcat上部署内容,必须包含一个文件/WEB-INF/web.xml 。 下面是我用来通过tomcat部署一些静态内容的web.xml的例子。
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.json</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.csv</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpeg</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.png</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.gif</url-pattern> </servlet-mapping> <mime-mapping> <extension>csv</extension> <mime-type>text/csv</mime-type> </mime-mapping> <mime-mapping> <extension>css</extension> <mime-type>text/css</mime-type> </mime-mapping> <mime-mapping> <extension>js</extension> <mime-type>application/javascript</mime-type> </mime-mapping> <mime-mapping> <extension>html</extension> <mime-type>text/html</mime-type> </mime-mapping> <security-constraint> <web-resource-collection> <web-resource-name>Restricted URLs</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> <!-- Default page to serve --> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
使用Tomcat 7和更新,你甚至不需要web.xml
只需压缩您的index.html文件或您需要的wharever资源。 将mini.zip重命名为mini.war,就是这样。
mini.war --index.html