【问题标题】:Java Spring MVC: No mapping found for HTTP request with URIJava Spring MVC:找不到带有 URI 的 HTTP 请求的映射
【发布时间】:2013-09-16 01:50:21
【问题描述】:

我在设置 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>

dispatcher-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 请求的映射名称“调度员”

【问题讨论】:

  • 我下载了一个用于将类放在 web-inf 文件夹中的示例......它可以工作......这可能是问题吗?

标签: java eclipse spring spring-mvc


【解决方案1】:
@RequestMapping("/form.html")

对比

/SpringTest/form.htm

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

别忘了component-scan你的控制器所在的包。

【讨论】:

  • 我试过了,但我得到了同样的错误:(逻辑有什么问题吗?
【解决方案2】:

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

另外,为什么你的控制器是空的?是你没有粘贴代码只是为了在问题中看起来清楚,或者你没有在类中写任何东西? ——

【讨论】:

  • 添加了组件扫描和注释驱动,但仍然得到 404 :(
  • @AndreaDorigo 当您进行一些更改时,请同时更新问题。
  • @AndreaDorigo 为什么你的控制器是空的?是你没有粘贴代码只是为了让问题看起来更清楚,还是你没有在课堂上写任何东西?
  • 我做到了!!!!在您提出各种建议后,它起作用了;我只需要关闭然后在 jboss 服务器上才能使更新生效...我不知道为什么 jboss eclipse 插件经常让我将其关闭并打开以查看更改...好像我'检查“自动构建”属性...
  • @AndreaDorigo 很酷。请接受我的回答,如果您在控制器类中进行了任何更改,请告诉我。检查我之前的评论。如果是这样,那么我也会在我的回答中更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
  • 2013-07-27
  • 2012-10-26
  • 2011-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多