0

web.xml:

 <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>WEB-INF/spring-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

これをweb.xmlに追加しました

 <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <page-encoding>utf-8</page-encoding>
        </jsp-property-group>
    </jsp-config>

そして今applciationContext.xmlにはこれが含まれています

<mvc:annotation-driven/>
<context:component-scan base-package="com.myCorectBasePackage"/>

コントローラーは次のようになります:

@RequestMapping(value = "/Home", method = RequestMethod.GET)
    public String getHome(Model model) {
        model.addAttribute("data", "myData");
        System.out.println("wtf");
        return "index";
    }

しかし、URLは404に変更されています:

http://localhost:8080/myWar/Home

不合格!

サーバーログは良さそうです

INFO: Deploying configuration descriptor ws.xml from C:\Users\myProfile\.IntelliJIdea11\system\tomcat\Unnamed_myWar_2\conf\Catalina\localhost
Sep 28, 2012 4:21:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Sep 28, 2012 4:21:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Sep 28, 2012 4:21:18 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3324 ms
Connected to server

そして、@Vacumnは自動生成されたデプロイメント記述子です

<Context antiJARLocking="true" docBase="E:\jetbrains-workspace\myWar\target\myWar" path="/myWar" />
4

2 に答える 2

0

アノテーション駆動型コントローラーを使用している場合は、おそらく

<context:component-scan base-package="com.package1, com.package2"/>
于 2012-09-28T15:44:24.480 に答える
0

XML 構成ファイルを ascontext-paramおよび not asとして定義します。init-param

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

Spring 構成に InternalResourceViewResolver エントリを追加してほしい:

<bean id="viewResolver"
           class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
           <property name="prefix">
              <value>/WEB-INF/pages/</value>
           </property>
           <property name="suffix">
              <value>.jsp</value>
           </property>
        </bean>
于 2012-09-28T15:41:52.657 に答える