web-dev-qa-db-ja.com

静的なWebディレクトリからTomcat warファイルを作成する

私はhtml、css、jsを含むディレクトリで構成されるシンプルなWebアプリケーションを作成しました。サーバーコードはありません。説明が複雑な理由で、私の管理者はそれを.warファイルに変換することを主張し、Tomcatに簡単に展開できるようにします。繰り返しますが、アプリケーションにはJavaコードがまったく含まれていません。私はantまたはEclipseで作成していません。

アーカイブを作成してみました:

jar cvf mywarfile.war *

実際にwarファイルを作成します。ただし、この戦争をTomcatに展開すると、機能しないようです。 Tomcatはwarファイルをディレクトリに自動的に抽出しますが、Webサーバーからは利用できません。私の戦争にはディレクトリが含まれていないことと関係があると思いますWEB-INFおよびMETA-INF

静的なクライアント側のWebアプリケーションをデプロイ可能なwarファイルに変換する簡単な方法はありますか?

5
Jeroen

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>
4
Jeroen

Tomcat 7以降では、web.xmlは不要です

Index.htmlファイルまたは必要なリソースを圧縮するだけです。 mini.Zipの名前をmini.warに変更します。

mini.war
--index.html
4
R.S