私は春MVCフレームワークの初心者です。私は単純なコントローラ(AbstractControllerから拡張)を作成しようとしており、単純なビュー(home.jsp)を返したいが、コントローラのhandleRequestInternal()は決して呼び出されないようだ。私は下の私のコードを与えています。どんな助けも高く評価されます。Spring MVCコントローラのhandleRequestInternalメソッドが呼び出されない - 基本的な問題の例
web.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="hiperlink is trimmed "
xmlns:xsi="hiperlink is trimmed "
xsi:schemaLocation="hiperlink is trimmed " >
<servlet>
<servlet-name>students</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>students</servlet-name>
<url-pattern>/students/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>/spring</taglib-uri>
<taglib-location>/WEB-INF/spring-form.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>hiperlink is trimmed java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>hiperlink is trimmed java.sun.com/jsp/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
学生-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="hiperlink is trimmed "
xmlns:xsi="hiperlink is trimmed " xmlns:context="hiperlink is trimmed" xmlns:jaxws="hiperlink is trimmed "
xsi:schemaLocation="hiperlink is trimmed ">
<bean id="handlerMapping"
class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="myService" class="net.ochinto.student.service.MiscellaneousService"/>
<bean name="/home.htm" class="net.ochinto.student.web.HomePageController">
<property name="myService" ref="myService"/>
</bean>
</beans>
HomePageController.java
public class HomePageController extends AbstractController {
private static final Logger log = LoggerFactory.getLogger(HomePageController.class);
public HomePageController() {
log.debug("HomePageController constructor()");
}
protected ModelAndView handleRequestInternal(
HttpServletRequest request, HttpServletResponse response)
throws Exception {
log.debug("HomePageController handleRequestInternal()");
List<Student> students = myService.getStudentList();
return new ModelAndView("home", "students", students);
}
private MiscellaneousService myService;
public void setMyService(MiscellaneousService myService) {
log.debug("HomePageController setMyService() - start");
this.myService = myService;
log.debug("HomePageController setMyService() - end");
}
}
ウェルカムページはOKですが、私は/students/home.htmを書くとき404が返されます!助けてください。あなたが言う
web.xmlのurl-patternに* .htmを使用していると気付きました。私はハンドラマッピングを完全には読まなかったが、すべての答えがそこにあると仮定する。その話題を指摘してくれてありがとう。 – user816349