Я сделал простое приложение Spring MVC в Eclipse.Это начинает давать проблемы с аннотациями - PullRequest
0 голосов
/ 03 февраля 2019

При доступе к First_Spring_MVC / welcome я получаю следующую ошибку:

org.springframework.web.servlet.PageNotFound noHandlerFound

ПРЕДУПРЕЖДЕНИЕ: сопоставление для запроса HTTP с URI не найдено[/ First_Spring_MVC / welcome] в DispatcherServlet с именем '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>

И это Java-файл, который я использую для класса контроллера.

@Controller
public class HelloController {

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

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

        return model;
    }
}

1 Ответ

0 голосов
/ 03 февраля 2019

Вы сканируете не тот пакет.Измените:

<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

...