我有這個Spring MVC應用程序,我正在處理和東西看起來非常好,直到我試圖部署在臨時服務器上 - 然後我遇到了這個問題。顯示使用Tomcat7 Maven插件但不使用獨立Tomcat的主頁
事實:
- 當我使用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端口上提供與ROOT.war
一個獨立的Tomcat部署相同的代碼 - 我嘗試使用http://localhost:8080
- 我得到一個404錯誤。但是當我指向http://localhost:8080/somepage
時,我得到了我需要的東西。
這是一個不會在web.xml
聲明歡迎頁面一個Spring MVC應用程序,而是宣告一個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的單機得到它的工作?除了主頁以外,其他所有頁面都可以正常使用。我錯過了什麼?
你有定義的「/」的RequestMapping控制器 嘗試使用?「HTTP://本地主機:8080 /」,並在後面加上斜槓,看看你會得到什麼 – ninnemannk 2013-03-05 20:22:40
我原來的代碼不有一個,因爲我使用CMS。我試着添加一個工程,但它沒有顯示頁面的所有預先初始化的數據,因爲一些部分沒有正確初始化。我不明白的是爲什麼它使用插件但沒有獨立? – 2013-03-05 20:27:21
我對tomcat-maven-plugin不熟悉,但是我的假設是插件會爲「/」的初始映射定義一個主頁,如果沒有明確定義的話。 – ninnemannk 2013-03-05 20:38:57