SpringMVCにて、ViewがNot foundになってしまう
Springフレームワークを使って、WEBアプリケーション(といってもHello worldですが)を作成しています。
コントローラー抜きでindex.jspを参照することはできるんですが、
コントローラーを実装したところ、Viewが見つからないという旨のエラーが発生し、ブラウザ側では404エラーが発生してしまいます。
大したプログラムではありませんので、そのまま添付します。
src/main/java/{package}/ActionController.java
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class ActionController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
return "showMessage";
}
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String top() {
return "index";
}
}
struts-config.xml
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
web.xml(一部)
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
src/main/webapp/WEB-INF/view/index.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
src/main/webapp/WEB-INF/view/showMessage.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
以下、ローカルデバッグ時のログです。
22:41:42.448 [http-bio-8080-exec-7] DEBUG o.s.web.servlet.DispatcherServlet - DispatcherServlet with name 'dispatcherServlet' processing GET request for [/contextpath/WEB-INF/view/showMessage.jsp]
22:41:42.448 [http-bio-8080-exec-7] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Looking up handler method for path /WEB-INF/view/showMessage.jsp
22:41:42.448 [http-bio-8080-exec-7] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Did not find handler method for [/WEB-INF/view/showMessage.jsp]
22:41:42.449 [http-bio-8080-exec-7] WARN o.s.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/contextpath/WEB-INF/view/showMessage.jsp] in DispatcherServlet with name 'dispatcherServlet'
22:41:42.449 [http-bio-8080-exec-7] DEBUG o.s.web.servlet.DispatcherServlet - Successfully completed request
22:41:42.449 [http-bio-8080-exec-7] DEBUG o.s.web.servlet.DispatcherServlet - Successfully completed request
上記ログを見る限り、間違いなくコンテキストパスはあっており、
Eclipseの仕様で表示される、”デプロイ済みリソース”を確認する限り、実際に
WEB-INF/view/index.jspおよびshowMessage.jspは存在していました。
ブレークポイントでコントローラーの処理が走ったか否かも確認しましたが、
リクエストは受理されているようでした。
なぜjspが見つからないのでしょうか。
ご指南おねがいいたします。