私は春に新しいので、私の質問はばかげているかもしれません! Spring の Petclinic の例にコントローラーを追加しようとしています。ただし、このコントローラーのマッピングは機能せず、404 エラーが発生します。同じマッピングを他の既存のコントローラーに追加したところ、機能しました。私が間違っていることを知りたいです。これが私のコントローラーです:
package org.springframework.samples.petclinic.web;
import java.util.Map;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.stereotype.Controller;
@Controller
public class TwitterController {
@RequestMapping(value = "/twitter/searchtweets", method = RequestMethod.GET)
public String initFindForm(Map<String, Object> model) {
...
return "twitter/searchtweets";
}
}
そして、これが私の MVC 設定ファイルのコンポーネント スキャン定義です。
<context:component-scan
base-package="org.springframework.samples.petclinic.web"/>
と:
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="contentNegotiationManager" ref="cnManager"/>
<property name="viewResolvers">
<list>
<!-- Default viewClass: JSTL view (JSP with html output) -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- Example: a logical view name of 'vets' is mapped to '/WEB-INF/jsp/vets.jsp' -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!-- Used here for 'xml' and 'atom' views -->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
</list>
</property>
</bean>
<!-- Simple strategy: only path extension is taken into account -->
<bean id="cnManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="true"/>
<property name="ignoreAcceptHeader" value="true"/>
<property name="defaultContentType" value="text/html"/>
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="xml" value="application/xml" />
<entry key="atom" value="application/atom+xml" />
</map>
</property>
</bean>
アドレス: localhost:8081/petclinic/twitter/searchtweets.html
404 エラーを返します。jsp ファイルは次の場所にあることに注意してください。webapp/WEB_INF/jsp/twitter/searchtweets.jsp
何か不足していますか?