私が取り組んでいるこのSpring MVCアプリケーションがあり、ステージングサーバーにデプロイしようとするまでは非常にうまく見えますが、この問題に遭遇しました。
事実:
- Tomcat 7 Maven プラグインを次の構成で使用すると、すべてうまく機能し、
http://localhost:8080
.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<warSourceDirectory>${webappDirectory}</warSourceDirectory>
<path>/</path>
<port>${httpPort}</port>
<httpsPort>${httpsPort}</httpsPort>
<keystoreFile>${webappDirectory}/WEB-INF/some.keystore</keystoreFile>
<keystorePass>broadleaf</keystorePass>
<password>broadleaf</password>
</configuration>
</plugin>
しかし、ポート 8080 でサービスを提供するスタンドアロンの Tomcat にこの同じコードをデプロイすると、ROOT.war
使用しようとするとhttp://localhost:8080
、404 エラーが発生します。しかし、指さすhttp://localhost:8080/somepage
と、必要なものが得られます。
web.xml
これは、 でウェルカム ページを宣言せず、代わりにサーブレットを宣言するSpring MVC アプリケーションです。
<servlet>
<servlet-name>myservelet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/applicationContext-servlet-cms-contentClient.xml/WEB-INF/applicationContext-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myservelet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Tomcat スタンドアロンを機能させるために他に何かする必要がありますか? ホームページを除く他のすべてのページは正しく提供されます。私は何が欠けていますか?