Java @RequestMapping在Spring 1.5.2.0版本中不起作用

Java @RequestMapping在Spring 1.5.2.0版本中不起作用,java,spring,maven,spring-mvc,spring-boot,Java,Spring,Maven,Spring Mvc,Spring Boot,我正在尝试运行一个spring boot项目。当我选择1.5.2版时,RequestMappingURL不起作用。它总是给我404错误 有人可以确认我是否有任何标签丢失或版本中的任何设置更改。或者其他我错过的东西 POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X

我正在尝试运行一个spring boot项目。当我选择1.5.2版时,RequestMappingURL不起作用。它总是给我404错误

有人可以确认我是否有任何标签丢失或版本中的任何设置更改。或者其他我错过的东西

POM.xml

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.prizy</groupId>
    <artifactId>ProductApi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>ProductApi</name>
    <description>Project for Product Managment</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derby</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>


注意:问题更新了更多信息。

检查web.xml文件是否在src>main>webapp>web-INF>web.xml中可用。如果不可用,请输入此文件并使用以下代码

 <servlet>
    <servlet-name>myServlet</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:ApplicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/api/*</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
    <welcome-file>/index.jsp</welcome-file>
</welcome-file-list>

myServlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
类路径:ApplicationContext.xml
1.
myServlet
/原料药/*
编码过滤器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
强制编码
符合事实的
编码过滤器
/*
/index.jsp

在尝试了所有场景之后,我终于将Spring引导版本更改为1.3.2.0版本

这样做后,它的工作很好。 我仍在试图找到为什么它不能在1.5.2版本上运行的答案

但为了解决这个错误,我对POM.xml文件做了如下更改

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

org.springframework.boot
spring启动程序父级
1.3.2.1发布
更改后,我也可以在日志中看到请求映射URL:

2017-04-19 11:10:49.785  INFO 4236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello]}" onto public java.lang.String com.epic.controllers.TestController.sayHello()
2017-04-19 11:10:49.786  INFO 4236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/helloss]}" onto public java.lang.String com.epic.TestControllerTest.sayHello()
2017-04-19 11:10:49.789  INFO 4236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2
2017-04-19 11:10:49.785信息4236---[main]s.w.s.m.a.RequestMappingHandlerMapping:mapping“{[/hello]}”映射到公共java.lang.String.com.epic.controllers.TestController.sayHello()
2017-04-19 11:10:49.786 INFO 4236---[main]s.w.s.m.m.a.RequestMappingHandlerMapping:将“{[/helloss]}”映射到公共java.lang.String.com.epic.TestControllerTest.sayHello()
2017-04-19 11:10:49.789 INFO 4236-[main]s.w.s.m.m.a.RequestMappingHandlerMapping:将“{[/error]}”映射到public org.springframework.http.ResponseEntity org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2.

请注意,同时我更改了映射url的名称,因此可能与问题不同。

您尝试访问的url是什么?
package com.prizy.controller
:您的主类在哪里?您可以将主类与包名一起发布吗?此类中的其他方法是否有效?有没有可能不应该使用
get…
方法名?您是否尝试过将方法的名称或目标
/hi
更改为其他方法?他使用的是Spring Boot,它没有
web.xml
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
2017-04-19 11:10:49.785  INFO 4236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/hello]}" onto public java.lang.String com.epic.controllers.TestController.sayHello()
2017-04-19 11:10:49.786  INFO 4236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/helloss]}" onto public java.lang.String com.epic.TestControllerTest.sayHello()
2017-04-19 11:10:49.789  INFO 4236 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2