Получение этого org.springframework.web.servlet.DispatcherServlet noHandlerFound error и ПРЕДУПРЕЖДЕНИЕ: не найдено сопоставление для URI HTTP-запроса в Spring MVC - PullRequest
0 голосов
/ 22 сентября 2018

enter image description here Index.jsp

<html>
    <body>
        <form action="add">
            <input type="text" name="t1"><br>
            <input type="text" name="t2"><br>
            <input type="submit" />
        </form>
    </body>
</html>

Web.xml

<!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Archetype Created Web Application</display-name>
    <servlet>
        <servlet-name>telusko</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>telusko</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

telusko-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:ctx="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-2.5.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd ">
    <!-- <mvc:default-servlet-handler/>  -->
    <mvc:annotation-driven/>
    <ctx:annotation-config></ctx:annotation-config>
    <ctx:component-scan base-package="resources.com.telusko"></ctx:component-scan>
</beans>

AddController.java

package com.telusko;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class AddController {
    @RequestMapping("/add")
    public void add() {
        System.out.println("i am here");
    }
}

У меня есть файл index.jsp, в котором я объявляю действие= / добавить.Теперь в web.xml объявляем диспетчер, в котором задано имя сервлета логин.После этого создайте файл telusko-servlet.xml, где определите base-package:

<ctx:component-scan base-package="com.telusko"></ctx:component-scan>

После этого создайте класс logincontroller и используйте аннотацию @Controller над классом и @RequestMapping("/add) надметод класса logincontroller.И после этого при запуске файла index.jsp все равно выдается ошибка, почему ошибка noHandlerFound возникает, как в файле login-servlet.xml.Я дал имя базового пакета com.telusko, где находится файл AddController.java.

Я должен получить «Я здесь» сообщение на консоли, но не получаювместо того, чтобы получать ПРЕДУПРЕЖДЕНИЕ: сопоставление для HTTP-запроса не найдено

Sep 26, 2018 10:47:36 PM org.springframework.web.servlet.DispatcherServlet 
initServletBean
INFO: FrameworkServlet 'telusko': initialization started
Sep 26, 2018 10:47:36 PM 
org.springframework.web.context.support.XmlWebApplicationContext 
prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'telusko-servlet': 
startup date [Wed Sep 26 22:47:36 IST 2018]; root of context hierarchy
Sep 26, 2018 10:47:36 PM 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader 
loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB- 
INF/telusko-servlet.xml]
Sep 26, 2018 10:47:38 PM org.springframework.web.servlet.DispatcherServlet 
initServletBean
INFO: FrameworkServlet 'telusko': initialization completed in 2096 ms
Sep 26, 2018 10:47:38 PM org.apache.catalina.core.StandardWrapperValve 
invoke
SEVERE: Servlet.service() for servlet [telusko] in context with path 
[/DemoMVC] threw exception [Servlet execution threw an exception] with root 
cause
java.lang.NoSuchMethodError:   
org.springframework.http.HttpMethod.resolve(Ljava/lang/String;)
Lorg/springframe 
ork/http/HttpMethod;
at 

org.springframework.web.servlet.FrameworkServlet.service
(FrameworkServlet.java:8 
41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at 

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
 (ApplicationFilterChain.java:231)
 at 


 org.apache.catalina.core.ApplicationFilterChain.doFilter
 (ApplicationFilterChain.java:166)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
 at 

 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at 

org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166 at 
org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:199)at 

org.apache.catalina.core.StandardContextValve.invoke
 (StandardContextValve.java:96)at 

org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.jav 
a:490)
at 
org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:139)
    at 
org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:92)
at 

org.apache.catalina.valves.AbstractAccessLogValve.invoke
(AbstractAccessLogValve. 
java:668)
at 

org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:74)
at 
org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:343)
at 
org.apache.coyote.http11.Http11Processor.service
(Http11Processor.java:408)at 

org.apache.coyote.AbstractProcessorLight.process
 (AbstractProcessorLight.java:66)at 

org.apache.coyote.AbstractProtocol$ConnectionHandler.process
(AbstractProtocol.ja 
va:770)at 

org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
(NioEndpoint.java:1415)at 

org.apache.tomcat.util.net.SocketProcessorBase.run
(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at 



org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run
(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

Ответы [ 3 ]

0 голосов
/ 11 июля 2019

В структуре проекта пакет com.telusko, в котором создается контроллер, должен находиться в папке Java Resources / src / main / java, которая отсутствует и может быть создана путем просмотра свойств проекта и выбора пути сборки Java.,Там, пожалуйста, выберите вкладку источника и удалите отсутствующую папку.и снова создайте или добавьте папку с тем же путем и именем папки.Это создаст папку в структуре проекта как src / main / java.Внутри этого пути пакет com.telusko с контроллером должен быть перемещен или создан.И снова почисти и запусти сервер.Это будет работать сейчас.

0 голосов
/ 08 августа 2019
@Component
@RequestMapping(path="/add")
public class AddController {

    @RequestMapping(method=RequestMethod.GET)
    public void add() {
        System.out.println("I'm here");
    }
}
0 голосов
/ 22 сентября 2018

Добавьте bean-компонент viewResolver в вашу конфигурацию, я полагаю, ваш вид в "WEB-INF / jsp"

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

Редактировать:

<ctx:component-scan base-package="resources.com.telusko"></ctx:component- 
scan>

в

<ctx:component-scan base-package="com.telusko"></ctx:component- 
scan>

Измените метод запроса

@RequestMapping("/add")
public String add()
{
    System.out.println("i am here");
    return "index"; //return your view to render
}

Надеюсь, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...