2013-10-14 117 views
0

我正在使用Spring Tool Suite(真的是eclipse)。我剛剛創建了一個新的springMVC項目並創建了一個簡單的控制器。 STS創建項目時出現了問題,所以我不得不在pom中手動修復groupID和artifactID。我目前遇到的問題是我似乎無法擊中我的tomcat服務器(由STS發佈和發佈)。我已經檢查了tomcat中的目錄結構,它在哪裏發佈,一切似乎都很好,但是當我嘗試擊中控制器時,我得到了404的結構。 tomcat日誌看起來好像什麼也沒有嘗試連接它。結果還顯示,我的控制器已經被映射:確定網絡應用路徑

2013-10-14 09:09:17.763] INFO o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped "{[/Login],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.verisk.underwriting.ims.web.IMSController.test() 

這是我的控制器是什麼樣子:

@Controller 
@RequestMapping("Login") 
public class IMSController 
{ 
    @RequestMapping(value = "", method = RequestMethod.GET) 
    @ResponseBody 
    public String test() 
    { 
     return "SUCCESS"; 
    } 
} 

的應用程序被稱爲IMS,所以我應該能夠與這一要求,以達到此控制器:

http://localhost/ims/Login 

它被配置爲與一個java配置(AppConfig.java):

@Configuration 
    @EnableWebMvc 
    @ComponentScan(basePackages = "com.some.package.ims.web") 
    public class AppConfig extends WebMvcConfigurerAdapter 
    { 
     @Override 
     public void addResourceHandlers(ResourceHandlerRegistry registry) 
     { 
      registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
     } 
    } 

是否有配置文件指定應用程序的基本路徑?

回答

0

http://localhost/ims/Login將打到端口80;默認情況下,tomcat運行在端口8080上。所以,除非你已經改變Tomcat的HTTP端口80你需要使用localhost:8080

如果該端口是好的,然後檢查你的應用程序上下文路徑是真的ims,默認情況下它是生成WAR文件的確切名稱。如果您使用WTP,eclipse「servers」視圖將在服務器實例下顯示它。

如果上下文路徑良好,請在您的web.xml描述符中檢查配置的URL映射。確保在REST/MVC servlet URL聚合的URL中不丟失前綴。在你的情況下,你應該使用.../resources/Login,因爲你的資源配置爲/resources/**模式。

+0

是的,我手動更改了端口爲80 –

+0

我在哪裏可以找到應用程序上下文路徑? –

+0

我重新讀你的代碼,試試http:// localhost/ims/resources/Login。 – kgautron

0

查看我們工作區的.metadata目錄。它有一個.plugins文件夾,它包含org.eclipse.wst.server.core目錄,並且有一個(或多個)tmp0故事。包含一個wtpwebapps目錄。這包含使用名稱的已部署Web應用程序 - 例如MyApp

<Workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MyApp 

然後你登錄的網頁位於

http://localhost[:8080]/MyApp/Login 
+0

這是來自指定的文件: org.eclipse.jst.jee。服務器\:ims = C \:\\ Tomcat7 \\ wtpwebapps \\ ims 我配置爲在端口80上運行tomcat,該端口適用於我的其他應用程序。 –