Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 运行简单服务时出现白标签错误页面_Java_Spring - Fatal编程技术网

Java 运行简单服务时出现白标签错误页面

Java 运行简单服务时出现白标签错误页面,java,spring,Java,Spring,我已经用简单的控制器在STS(Spring工具套件)中创建了Spring Starter项目: @RestController public class GreetingController { private static final String template = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @GetMapping("/gre

我已经用简单的控制器在STS(Spring工具套件)中创建了Spring Starter项目:

@RestController
public class GreetingController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    @GetMapping("/greeting")
    public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
        return new Greeting(counter.incrementAndGet(), String.format(template, name));
    }
}
如中所示

我从IDE运行服务,它开始运行正常。但是当我去http://localhost:8080/greeting?name=User 我得到一个错误:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Oct 01 10:25:10 PDT 2020
There was an unexpected error (type=Not Found, status=404).
为什么我会犯这个错误?如何解决这个问题

UPD

添加更多日志后,我得到了到错误的映射:

2020-10-02 06:17:46.078[0;39m [32mDEBUG[0;39m [35m4851[0;39m [2m---[0;39m [2m[           main][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m 2 mappings in 'requestMappingHandlerMapping'
[2m2020-10-02 06:17:46.136[0;39m [32m INFO[0;39m [35m4851[0;39m [2m---[0;39m [2m[           main][0;39m [36mo.s.b.w.embedded.tomcat.TomcatWebServer [0;39m [2m:[0;39m Tomcat started on port(s): 8080 (http) with context path ''
[2m2020-10-02 06:17:46.142[0;39m [32m INFO[0;39m [35m4851[0;39m [2m---[0;39m [2m[           main][0;39m [36mcom.example.demo.Demo1Application       [0;39m [2m:[0;39m Started Demo1Application in 1.221 seconds (JVM running for 1.934)
[2m2020-10-02 06:17:51.491[0;39m [32m INFO[0;39m [35m4851[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.a.c.c.C.[Tomcat].[localhost].[/]      [0;39m [2m:[0;39m Initializing Spring DispatcherServlet 'dispatcherServlet'
[2m2020-10-02 06:17:51.493[0;39m [32m INFO[0;39m [35m4851[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m Initializing Servlet 'dispatcherServlet'
[2m2020-10-02 06:17:51.496[0;39m [32m INFO[0;39m [35m4851[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m Completed initialization in 3 ms
[2m2020-10-02 06:17:51.508[0;39m [32mTRACE[0;39m [35m4851[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m 2 matching mappings: [{ /error, produces [text/html]}, { /error}]
[2m2020-10-02 06:17:51.509[0;39m [32mTRACE[0;39m [35m4851[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse)

如果您获得了
404
,那么显然您的控制器没有注册。如果我们缺少其他源代码,就很难帮助您

也许你的控制器在国外的软件包里。Spring boot默认情况下对主Spring boot类(带有
@SpringBootApplication
注释的类)的所有包(和子包)使用组件扫描

要查找问题,只需添加

logging.level.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping=TRACE
到您的
应用程序.properties
并在日志中搜索
问候语
字符串 你应该找到类似的东西

2020-10-01 19:49:12.610 TRACE 36840 --- [  restartedMain] s.w.s.m.m.a.RequestMappingHandlerMapping : 
    c.t.t.c.RootController:
    {GET /}: welcome()
    {GET /greeting}: greeting(Model)

已在日志文件中获得到错误的映射。更多详情请参见问题正文UPD