web.xml:
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
これをweb.xmlに追加しました
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<page-encoding>utf-8</page-encoding>
</jsp-property-group>
</jsp-config>
そして今applciationContext.xmlにはこれが含まれています
<mvc:annotation-driven/>
<context:component-scan base-package="com.myCorectBasePackage"/>
コントローラーは次のようになります:
@RequestMapping(value = "/Home", method = RequestMethod.GET)
public String getHome(Model model) {
model.addAttribute("data", "myData");
System.out.println("wtf");
return "index";
}
しかし、URLは404に変更されています:
http://localhost:8080/myWar/Home
不合格!
サーバーログは良さそうです
INFO: Deploying configuration descriptor ws.xml from C:\Users\myProfile\.IntelliJIdea11\system\tomcat\Unnamed_myWar_2\conf\Catalina\localhost
Sep 28, 2012 4:21:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Sep 28, 2012 4:21:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Sep 28, 2012 4:21:18 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3324 ms
Connected to server
そして、@Vacumnは自動生成されたデプロイメント記述子です
<Context antiJARLocking="true" docBase="E:\jetbrains-workspace\myWar\target\myWar" path="/myWar" />