ВНИМАНИЕ: Не найдено сопоставление для HTTP-запроса с URI [] в DispatcherServlet с именем [] - PullRequest
1 голос
/ 03 февраля 2020

Я действительно новичок в Spring Framework и изо всех сил пытаюсь получить это предупреждение. Я посмотрел на вопросы в StackOverflow и coderanch, но кажется, что я не могу найти свою ошибку. Я даже дважды пытался посмотреть учебник youtube Spring MVC, и я делаю то же самое, что и Youtuber, но я все еще получаю эту ошибку. Буду очень признателен, если вы, ребята, сможете мне помочь. Я поставлю свои коды ниже.

pom. xml

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.telusko</groupId>
  <artifactId>DemoMVC2</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>DemoMVC2 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
     <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.1.8.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.1.8.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
  </dependencies>
  <build>
    <finalName>DemoMVC2</finalName>
  </build>
</project>

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>
</web-app>

телуско-сервлет. 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:annotation-driven/>
    <ctx:component-scan base-package="com.telusko"></ctx:component-scan>
</beans>

index. jsp

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

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() {
        return "display.jsp";
    }
}

дисплей. jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    I'm here

</body>
</html>

Ответы [ 3 ]

0 голосов
/ 04 февраля 2020

Это сервлет, который вы создали. Вы создали сервлет telusko для класса DispatcherServlet. И тогда вы сопоставили это с /. Когда приложение запускается, оно не находит функцию, сопоставленную с /. Так что вам придется перенастроить свой веб. xml файл

0 голосов
/ 05 февраля 2020

Через два дня я наконец решил создать новый проект и начать с нового. Я думаю, у меня были некоторые проблемы с настройкой, потому что после того, как я создал свой новый проект, все работало гладко, но спасибо за ваши ответы.

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

тип возврата: void

требуемый тип: String

AddController. java:

package com.telusko;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class addController {
    @RequestMapping("/add")
    public String add() {
        return "display.jsp";
    }
}

или другое Вы можете сделать это:

package com.telusko;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class addController {
    @RequestMapping("/add")
    public ModelAndView add() {
        return new ModelAndView("display.jsp");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...