java - 我在 Eclipse 中制作了一个简单的 Spring MVC 应用程序。它开始出现注释问题

标签 java spring spring-mvc http-status-code-404

当我访问 First_Spring_MVC/welcome 时,出现以下错误:

org.springframework.web.servlet.PageNotFound noHandlerFound

WARNING: No mapping found for HTTP request with URI [/First_Spring_MVC/welcome] in DispatcherServlet with name 'spring-dispatcher'

这是我的文件夹结构:

enter image description here

这是我的 web.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>First_Spring_MVC</display-name>
  <servlet>
    <servlet-name>spring-dispatcher</servlet-name>
    <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>spring-dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

这是 spring-dispatcher-servlet.xml:

<?xml version="1.0" encoding="UTF-8"?>

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

<context:component-scan base-package="com.webapp.helloController" /> 

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

这是我用于 Controller 类的 java 文件。

@Controller
public class HelloController {

    @RequestMapping("/welcome")
    public ModelAndView helloWorld(){

        ModelAndView model = new ModelAndView("HelloPage");
        model.addObject("welcomeMessage", "hello world");

        return model;
    }
}

最佳答案

您正在扫描错误的包裹。更改:

<context:component-scan base-package="com.webapp.helloController" />

<context:component-scan base-package="com.app.helloController" /> 

还要确保您在您的情况下点击了正确的网址:

http://localhost:{your_port_num}/First_Spring_MVC/welcome

关于java - 我在 Eclipse 中制作了一个简单的 Spring MVC 应用程序。它开始出现注释问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54501858/

相关文章:

java - 如何在android中设置日历中日期的颜色

java - 应用程序引擎 req.getParameter 类型为 float

java - 优化java程序中trie结构的空间使用

java - boolean 帮助 : Testing the parameters for a password JAVA

spring - 为什么 Spring Data 不允许页面大小为零?

java - 确保调用的方法在 Spring @Transactional 边界内

java - 从 Spring Integration 启动 Spring Batch 作业

java - Spring StoredProcedure 可选参数

java - Bean 属性 xxxDAO 不可写或具有无效的 setter 方法

spring-mvc - 如何使用 Spring RestTemplate 客户端读取 HTTP 500