私は Vaadin フレームワークを使用しています。私の web.xml は次のようになります。
<servlet>
<servlet-name>myservletname</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
<init-param>
<description>
Vaadin application class to start</description>
<param-name>application</param-name>
<param-value>MyApplication</param-value>
</init-param>
<init-param>
<description>
Application widgetset</description>
<param-name>widgetset</param-name>
<param-value>MyWidgetset</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>myservletname</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>
さらに、アプリケーション ディレクトリは次のようになります。
.
├── (various xml config files)
├── META-INF
│ └── ...
├── static
│ ├── styles.css
│ ├── welcome_de.html
│ └── welcome_fr.html
├── trustStore.jks
├── VAADIN
│ └── ...
└── WEB-INF
├── lib
│ └── (various libraries)
└── web.xml
私の目的はwelcome_de.html
、welcome_fr.html
静的にアクセスすることです。ここまでは順調ですね。Eclipse (Tomcat バージョン 6.0.32) から直接 Tomcat インスタンスを実行するテスト マシンでは、すべて正常に動作します。次の URL を使用してファイルにアクセスできます。
http://localhost:8080/MyApplication/static/
WAR ファイルをエクスポートして本稼働の Tomcat サーバーにデプロイすると、動作が異なります。
本稼働サーバー (Tomcat バージョン 6.0.18) で同じファイルにアクセスすると、エラー 404 が発生します。デバッグのために、サーブレットのlisting
プロパティを有効にしました。そして、私は使用してdefault
のみアクセスできることがわかりましたwelcome_de.html
http://productive:8080/MyApplication/static/static/welcome_de.html
. ここでのテストと同じリンクを使用すると、Web アプリケーションのコンテンツを取得できます。
どういうわけか、フォルダーstatic
は 1 つのレベルでそれ自体にネストされているようです。
何か案が ?主要なバージョンの違いがないのに、2 つのマシンで動作が異なるのはなぜですか?
残念ながら、本稼働サーバーをバージョン 6.0.32 にアップグレードすることはできません。