Sobes.tech
Junior — Middle

Kāpēc, ja lietojama kontrolieris, DispatcherServlet to nevar atrast?

sobes.tech AI

Atbilde no AI

DispatcherServlet nevarēs atrast kontrolieri, ja tas nav reģistrēts Spring kontekstā vai nav atzīmēts ar atbilstošu anotāciju, piemēram, @Controller vai @RestController.

Galvenie iemesli:

  • Kontrolieris nav atrodams Spring skenētā paketē (nav iekļauts basePackages skenēšanai).
  • Kontrolieris nav atzīmēts kā Spring komponenta.
  • Kontrolieris ir izveidots manuāli, necaur Spring konteineru, tāpēc DispatcherServlet to nezin.

DispatcherServlet meklē kontrolieru bīnus lietojumprogrammas kontekstā, lai maršrutizētu HTTP pieprasījumus. Ja kontrolieris nav reģistrēts kā Spring Bīns, tas tiks ignorēts.