Java Spring Interceptor не работает, и я получил ошибку 406 от HTTP - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь вставить Java Spring Interceptors в свой бэкэнд, потому что я хочу выполнить некоторые действия перед каждым HTTP-запросом;Я создал класс Interceptor, где методы печатают только «метод внутри».Я создал файл spring-mvc-servlet.xml, это мой код:

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

<!-- Annotation are configuring the application -->
<mvc:annotation-driven/>

<!-- controllers package -->

<context:component-scan base-package="com.isssr.ticketing_system.controller" />

<!-- Configures Interceptors -->
<mvc:interceptors>
    <!-- This XML will intercept all URIs -->
    <!--<bean class="com.isssr.ticketing_system.interceptor.DemoInterceptor" />-->

    <!-- This XML will apply interceptor to only certain URIs -->

    <mvc:interceptor>
     <mvc:mapping path="public/login"/>
     <bean class="com.isssr.ticketing_system.interceptor.DemoInterceptor" />
    </mvc:interceptor>

</mvc:interceptors>

    </beans>

Я также создаю файл 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>www.howtodoinjava.com</display-name>-->

  <servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

    <servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>/</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>src/main/webapp/WEB-INF/spring-mvc-servlet.xml</param-value>
    <!--<param-value>/WEB-INF/spring-mvc-servlet.xml</param-value>-->
</context-param>

    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

Наконец, я добавил зависимости в свой файл pom.xml:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.0.4.RELEASE</version>
    </dependency>

Теперь, когда я пытаюсь войти в систему, я получаю эту ошибку: Страница ошибки Whitelabel Это приложение не имеет явного сопоставления для / error, так что вы видите это как запасной вариант.

"Произошла непредвиденная ошибка (тип = Внутренняя ошибка сервера, статус = 500). Метод запроса 'GET' не поддерживается", но если я удалю эти зависимости, онпробеги.В чем проблема?

...