2010-02-10 31 views
0

我有一個簡單的彈簧3 MVC應用程序,只是。OUPUTS的Index.aspx當有人瀏覽到http://localhost:8080/部署通過Eclipse和maven2的插件的tomcat似乎並不奏效

當我運行方式,並在服務器上運行選項(掛鉤到tomcat 6中),它打開瀏覽器到http://localhost:8080/springmvc2/(其中springmvc2是應用程序名稱)。

我建立使用NetBeans一下這款同樣簡單的測試應用程序工作正常使用url http://localhost:8080/

我的web.xml:

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
    <display-name>Springmvc2</display-name> 
    <description>Springmvc2 web application</description> 

    <servlet> 
     <servlet-name>Springmvc2</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 

     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <!-- Maps all /app requests to the DispatcherServlet for handling --> 
    <servlet-mapping> 
     <servlet-name>Springmvc2</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

我的HomeController的是:

package com.springmvc2.web; 

import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
import org.springframework.web.bind.annotation.RequestParam; 



@Controller 
public class HomeController { 


    @RequestMapping("/") 
    public String Index(){ 

     return "index"; 
    } 


    @RequestMapping("/test") 
    public String Index2(){ 

     return "index"; 
    } 


} 

你可以在這裏查看我的pom.xml文件:Using eclipse with maven plugin, how should I setup my build so it deploys to tomcat?

這是還生成了目標文件夾:

/target 
/target/springmvc2/meta-inf 
/target/springmvc2/web-inf 
/target/springmvc2/test.html 
/target/war/springmvc2.war 
/target/pom.xml 

我創建的test.html只是爲了看看,至少這個渲染,但http://localhost:8080 /test.html不工作,並http://localhost:8080/springvc2/test.html也不管用。

我得到一個404錯誤,所以我想它沒有正確部署到tomcat,特別是因爲test.html文件甚至沒有渲染。

但也許test.html中沒有渲染,因爲我有這個在我的springmvc2-servlet.xml

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" 
      p:suffix=".jsp" p:order="2"/> 

我不得不承認,Java開發充斥着配置問題,尤其是對於新手!

更新

編譯並做了runas服務,打開瀏覽器,我從Tomcat得到這個消息:

WARNING: No mapping found for HTTP request with URI [/springmvc2/] in DispatcherServlet with name 'springmvc2' 

回答

1

URL應該http://localhost:8080/springmvc2/test.html(該m在一個想念你粘貼)。

更新:嘗試<url-pattern>/*</url-pattern>代替<url-pattern>/</url-pattern>

+0

但爲什麼是HTTP://本地主機:8080 /當我在NetBeans中測試的東西出來工作? – Blankman 2010-02-10 18:40:52

+0

@Blankman因爲webapp部署在NetBeans中的根環境'/'下,而部署在Eclipse下'/ springmvc2'下。 – 2010-02-10 19:05:27

+0

我該如何改變? (Thanks a bundle!) – Blankman 2010-02-10 19:07:33