3

我在设置 Spring MVC 时遇到问题...我有这个项目结构

-SpringTest<br />
   -Java Resources
      -src
         -org.basic.controller
             FormController.java
.
.
.
.
-WebContent
   +META-INF
   -WEB-INF
       dispatcher-servlet.xml
       +lib
       -views
           form.jsp
       web.xml

这些是代码页:

web.xml

<web-app id="WebApp_ID" version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <display-name>Spring Web MVC Application</display-name>

  <servlet>
    <servlet-name>dispatcher</servlet-name>
        <servlet-class>
                  org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
  </servlet-mapping>

</web-app>

调度程序-servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">



    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
        <property name="prefix">
            <value>/WEB-INF/views/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>

</beans>

FormController.java

package org.basic.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/form.html")
public class FormController {


}

但是,在使用 jboss 部署后,我尝试访问“/SpringTest/form.htm”,它会返回此错误:

WARN [org.springframework.web.servlet.PageNotFound] (http-localhost-127.0.0.1-8080-1) 在 DispatcherServlet 中找不到带有 URI [/SpringTest/form.htm] 的 HTTP 请求的映射,名称为“dispatcher”

4

2 回答 2

5
@RequestMapping("/form.html")

对比

/SpringTest/form.htm

您的网址中有一个额外l的内容。@RequestMapping

不要忘记component-scan你的控制器所在的包。

于 2013-09-11T21:12:34.947 回答
2

我看到你没有扫描控制器。您的上下文在哪里:组件扫描?尝试添加它。

另外,为什么你的控制器是空的?是你没有粘贴代码只是为了让它在问题中看起来更清楚,还是你没有在类中写任何东西?——</p>

于 2013-09-12T10:32:24.290 回答