我有这个正在开发的 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
我得到我需要的东西时。
这是一个 Spring MVC 应用程序,它没有在 中声明欢迎页面web.xml
,而是声明了一个 servlet:
<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 独立做些什么才能让它工作吗?除主页外,所有其他页面均正确提供。我错过了什么?