0

私は春に新しいので、私の質問はばかげているかもしれません! 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.html404 エラーを返します。jsp ファイルは次の場所にあることに注意してください。webapp/WEB_INF/jsp/twitter/searchtweets.jsp

何か不足していますか?

4

0 に答える 0