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

找不到URI为的HTTP请求的映射。。。。在名为[副本]的DispatcherServlet中

祁永嘉
2023-03-14

我已经查阅了几乎所有关于stackoverflow的相关文章,但我就是不能解决我的问题。

下面是代码:web.xml:

   <display-name>Spring3MVC</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <context-param>
        <param-name>contextConfigLocation</param-name> 
        <param-value>/WEB-INF/spring-servlet.xml</param-value> 
    </context-param> 
    <listener> 
        <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> 
    </listener>
    <servlet>
        <servlet-name>spring</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>spring</servlet-name>
        <url-pattern>*.html</url-pattern>
        <url-pattern>/</url-pattern>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
</web-app>

spring servlet。xml:

<context:component-scan base-package="com.mycompany.elso" />
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>   

    <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/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

myController:

public class myController {
    @RequestMapping("/hello")
    public ModelAndView helloWorld() {

        String message = "Hello World, Spring 3.0!";
        return new ModelAndView("hello", "message", message); 
    }
}

网页/index.jsp:

<html>
<head>
    <title>Spring 3.0 MVC Series</title>
</head>
<body>
    <a href="hello.html">Say Hello</a>
</body>
</html>

网页/WEB-INF/jsp/hello.jsp:

<html>
<head>
    <title>Spring 3.0 MVC Series: Hello World - ViralPatel.net</title>
</head>
<body>
    ${message}
</body>
</html>

所以当我启动应用程序时,索引。jsp加载正确,但当我点击href导航到hello时。jsp我收到一个404错误,服务器日志显示:

No mapping found for HTTP request with URI [/Elso/hello.html] in DispatcherServlet with name 'spring'

我查阅了几十篇这样的文章,但我就是找不到错误,有人知道会是什么吗?

共有3个答案

轩辕修能
2023-03-14

如果你正在使用

<mvc:annotation-driven/> 

确保你的spring servlet。xml具有正确的

<context:component-scan base-package="com.....controller" /> tag. 

基本上,您需要在java代码中包含使用注释的所有包。

另外,请确保您没有重复的组件扫描(用于发现bean)。如果您的配置XML已经包含了该元素,那么您的任何用@ComponentScan(base Packages=...注释的Controller类都需要去掉上述注释。

别兴国
2023-03-14

您可以尝试在myController类的顶部添加一个@Controller注释,并尝试以下url/

孟乐
2023-03-14

添加

  <mvc:default-servlet-handler/>

spring servlet。xml

 类似资料: