Home > Java > javaTutorial > body text

How to solve springboot access 404 problem

PHPz
Release: 2023-05-13 22:58:04
forward
1855 people have browsed it

This is the first time I independently developed a springboot project. I didn't expect to be so frustrated at the beginning. No matter what path I accessed, it always got 404. I spent almost twelve hours looking for this error.

And exclude:

  • The path is written incorrectly

  • The application class is not in the same package as the controller package

After solving the problem, the following solutions may be helpful to you.

Misunderstanding 1:

The console does not report an error when the request returns 404. I thought it was an error of Initializing Spring DispatcherServlet 'dispatcherServlet'. The reason is that 404 is returned during the request, and only the console will have three more lines of logs:

How to solve springboot access 404 problem

So I have been searching for errors related to Initializing Spring DispatcherServlet. Unfortunately, I have searched almost all the blogs and still haven't solved the problem. I also believe that brothers searching for line logs have also encountered this problem, but what I want to say here is that this line of logs is normal. I recreated a springboot project and found that the console will also print these three lines of logs when the request is successful.

Misunderstanding 2:

Misunderstanding 2 is based on the above misunderstanding 1, because everyone thinks that Initializing Spring DispatcherServlet is a mistake, so they look for related methods. One method is to make the following modifications in the configuration file.

How to solve springboot access 404 problem

But based on my observation, Initializing Spring DispatcherServlet only prints once during the entire project startup, which means that this DispatcherServlet is only initialized once. (A bit nonsense hahaha) The above configuration is to initialize the DispatcherServlet when the project starts. If it is not set or set to a negative number, then the DispatcherServlet is initialized when waiting for the first request to arrive. You can try it yourself and see if you add the above configuration and then start the project, the three lines of logs will be printed directly instead of waiting for the request to come.

Problem Solution:

The problem is actually very simple, because we use the @ComponentScan annotation. In normal springboot, there is no need to use this annotation, so the application class will automatically scan where it is. All files of the package and sub-packages. But if this annotation is used, the default one will be invalid. The reasons for using the @ComponentScan annotation here can be varied. I introduced a dependency on automatic table creation and followed the tutorial to add a ComponentScan to the application class. So the solution is to add the package path where the application class is located.

How to solve springboot access 404 problem

Essentially, I am still not sensitive enough to these annotations and spent a lot of time doing useless work, but fortunately it was solved.

The above is the detailed content of How to solve springboot access 404 problem. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template