Crie o arquivo war do tomcat a partir do diretório web estático

5

Eu criei um aplicativo da web simples que consiste em um diretório com html, css, js. Nenhum código do servidor. Por razões complicadas de explicar, meu administrador insiste em transformá-lo em um arquivo .war, para que ele possa ser facilmente implantado no tomcat. Novamente, o aplicativo não contém nenhum código Java. Eu não criei com formiga ou eclipse.

Eu tentei criar um arquivo:

jar cvf mywarfile.war *

O que de fato cria um arquivo war. No entanto, quando eu implemento essa guerra no tomcat, parece que não funciona. O Tomcat extrai automaticamente o arquivo war para um diretório, mas não fica disponível através do servidor web. Eu acho que tem algo a ver com a minha guerra não contém diretórios WEB-INF e META-INF .

Existe uma maneira fácil de transformar um aplicativo da Web estático do lado do cliente em um arquivo de guerra implementável?

    
por Jeroen 05.01.2013 / 00:11

2 respostas

4

Para implantar conteúdo no tomcat, é necessário incluir um arquivo /WEB-INF/web.xml . Abaixo um exemplo de web.xml que usei para implantar algum conteúdo estático no tomcat.

<?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>
    
por 08.02.2013 / 04:35
4

Com o Tomcat 7 e mais recente, você nem precisa de um web.xml

Basta compactar o arquivo index.html ou os recursos que você precisar. Renomeie o mini.zip para mini.war e pronto.

mini.war
--index.html
    
por 26.08.2016 / 10:16