在具有名称的DispatcherServlet中找不到具有URI ....的HTTP请求的映射

eri*_*k.c 71 spring spring-mvc

我已经检查了几乎所有关于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>
Run Code Online (Sandbox Code Playgroud)

为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>
Run Code Online (Sandbox Code Playgroud)

myController的:

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

        String message = "Hello World, Spring 3.0!";
        return new ModelAndView("hello", "message", message); 
    }
}
Run Code Online (Sandbox Code Playgroud)

网页/ index.jsp:

<html>
<head>
    <title>Spring 3.0 MVC Series</title>
</head>
<body>
    <a href="hello.html">Say Hello</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

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

<html>
<head>
    <title>Spring 3.0 MVC Series: Hello World - ViralPatel.net</title>
</head>
<body>
    ${message}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

因此,当我启动应用程序时,index.jsp已正确加载,但是当我单击href导航到hello.jsp时,我收到404错误,服务器日志显示:

No mapping found for HTTP request with URI [/Elso/hello.html] in DispatcherServlet with name 'spring'
Run Code Online (Sandbox Code Playgroud)

我查了几十篇这样的文章,但我找不到错误,任何人都知道它会是什么?

use*_*884 69

  <mvc:default-servlet-handler/>
Run Code Online (Sandbox Code Playgroud)

到spring-servlet.xml


Nil*_*ils 38

您可以尝试@Controller在myController类的顶部添加注释并尝试以下URL /<webappname>/my/hello.html.这是因为org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMappingprepends / my对myController类中的每个RequestMapping.


小智 27

如果你正在使用

<mvc:annotation-driven/> 
Run Code Online (Sandbox Code Playgroud)

确保你的spring-servlet.xml正确无误

<context:component-scan base-package="com.....controller" /> tag. 
Run Code Online (Sandbox Code Playgroud)

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

另外,请确保您没有重复组件扫描(用于发现bean).如果您的配置XML已经包含该元素,则任何使用@ComponentScan注释的Controller类(basePackages = ...)都需要删除所述注释.


小智 15

我解决了我的问题:Java Build Path - > JRE系统库 - > Edit - > Alternate JRE - > - > Finish

因为它被配置为JDK文件夹所以它给出了Exception


小智 10

请检查您的[PROJECT_NAME]\target\classes目录以查看是否myController.class生成.

如果没有,请检查所有java源代码是否有任何编译错误.


pra*_*upd 10

确保

<mvc:annotation-driven/>
<context:component-scan base-package="com.hireartists.web.controllers"/>
Run Code Online (Sandbox Code Playgroud)

指向包含控制器的正确包.

  • Spring应该在他们的文档中强调这一点.非常感谢! (3认同)

小智 9

尝试:

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

为我工作!  


小智 6

如果您正在使用基于Spring MVC配置的Java代码,则DefaultServletHandlerConfigurerWebMvcConfigurerAdapter对象中启用它.

@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { 
        configurer.enable();
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

327123 次

最近记录:

7 年,1 月 前