当前位置: 首页 > 知识库问答 >
问题:

没有找到与URI Spring MVC HTTP请求的映射[重复]

孟沛
2023-03-14

这是我的网站。xml

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

<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

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

我的servlet上下文。xml

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

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

最后是Handler类。这是在com下。比如Spring。控制器。恳求

@Controller
public class IndexControllerImpl implements IndexController {

    @RequestMapping("/")
    public String index() {

        return "index";
    }
}

但是,我们将转到localhost:8080/projectname/

它返回404错误。

Jul 27, 2013 8:18:31 PM org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/tasklist/WEB-INF/views/index.jsp] in DispatcherServlet with name 'dispatcherServlet'
Jul 27, 2013 8:18:37 PM org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/tasklist/index] in DispatcherServlet with name '

这是我的项目结构

共有3个答案

祁彬
2023-03-14

首先检查java类是否已在[PROJECT_NAME]\target\classes目录中编译。

如果没有,java类中就会出现一些编译错误。

洪鹏海
2023-03-14

我有同样的问题......我改变我的项目名称,我有这个问题......我的解决方案是检查项目重新定义,并在我的web.xml中使用/(而不是/*

商绍元
2023-03-14

通过网络。xml以您在问题中的方式配置它们,尤其是:

<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

对您的web应用程序发出的所有请求都将被定向到DispatcherServlet。这包括像/tasklist//tasklist/之类的请求。html/tasklist/WEB-INF/views/index。jsp

因此,当控制器返回指向的视图时。jsp,而不是允许您的服务器容器为请求提供服务,DispatcherServlet跳入并开始寻找可以为该请求提供服务的控制器,它没有找到任何控制器,因此找到了404

最简单的解决方法是让servlet url映射如下:

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

请注意缺少的*。这告诉容器,任何没有路径信息的请求(末尾没有. xxx的URL)都应该发送到DispatcherServlet。使用此配置,当收到xxx.jsp请求时,不会咨询DispatcherServlet,您的servlet容器的默认servlet将为请求提供服务,并按预期呈现jsp。

希望这能有所帮助,我意识到您之前的评论指出问题已经解决,但解决方案不能只是添加method=RequestMethod。进入请求方法

 类似资料:
  • 从控制器返回Html页面时获取此错误 org.springframework.web.servlet.页未找到noHandler已找到警告:没有找到HTTP请求与URI[/SpringMVCDemo/WEB-INF/response.html]在DispatcherServlet名称调度器映射 放在哪里response.html? 这是我的密码

  • 我写了一个spring boot项目。它有三个文件。 appconfig.java HelloController.java 当我尝试运行它时,它出现了错误“没有为名为'DispatcherServlet中URI[/springc1_01/]的HTTP请求找到映射”。这是因为服务器没有找到控制器还是其他原因?THX.

  • 在学习Spring时,我试图运行Spring in Action的代码示例,但它向我展示了tomcat日志中提到的以下错误: 我正在尝试仅借助基于java的配置来配置spring。相同的代码如下所述: TestProjectInitializer.java WebConfig.java 根配置.java HomeController.java pom.xml web.xml 目录结构 请帮助我了解

  • 当我把它放在我的url上时,浏览器会显示这样一条消息:“请求的资源(/ChickenTest/index.jsp)不可用。”eclipse控制台会显示这样一条消息:“在名为“DispatcherServlet”的DispatcherServlet中,找不到URI为[/ChickenTest/index]的HTTP请求的映射。” 控制器: mvc配置。xml: web.xml:

  • 很抱歉再次问这种问题,但我无法通过查看其他线程和Spring doc来解决我的问题。 我正在使用maven的3.1.0.RELEASE,并尝试使用注释和java配置。 以下是我的web.xml: 这是我的档案web-application-config.xml. 我有两个类。第一个配置视图解析器 第二个定义我的控制器: 根据我的配置,我想一切都应该指向我的home()函数。然而,事实并非如此,以下

  • 我试图将我的Springmvc项目转换为Spring启动。我根据Spring启动转换了所有必要的文件。控制台上没有错误。但是当我在浏览器中运行我的网络应用程序时,我得到了这个错误。 在名为“DispatcherServlet”的DispatcherServlet中找不到URI为[/onlineshopping/WEB-INF/views/page.jsp]的HTTP请求的映射 我尝试运行的任何ur