2

以下は私のapplication-context.xmlです

<context:component-scan base-package="org.godfather"></context:component-scan>
<mvc:view-controller path="/main.do" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
      <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
      <property name="prefix" value="/WEB-INF/" />
      <property name="suffix" value=".jsp" />
</bean>

質問: コメント アウトした場合<mvc:view-controller path="/main.do" />http://localhost:8181/tiles-app-1.1.1/header.doURL は機能していますが、コメント アウトしていない場合、URL は機能していませんNo mapping found for HTTP request with URI [/tiles-app-1.1.1/header.do] in DispatcherServlet with name 'mytiles'。なぜそうなるのですか?

Web.xml

    <listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/application-context.xml
    </param-value>
</context-param>  

<servlet>
    <servlet-name>mytiles</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/application-context.xml</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>mytiles</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

コントローラ

package org.godfather;
@Controller
public class AppointmentController {

@RequestMapping("/header")
public void get() {
    System.out.println("get()");
}

前もって感謝します。

4

1 に答える 1

1

/WEB-INF/application-context.xmlと に同じ Spring Bean 定義ファイル ( ) を渡してContextLoaderListenerDispatcherServletます。

にはDispatcherServlet独自の Spring Bean 定義ファイルが必要です

この質問を参照してください。すべての Spring MVC コントローラーと特定の MVC xml は、別のファイルにある必要があります。

于 2012-11-24T20:28:15.017 に答える