DispatcherServlet
DispatcherServlet Spring MVC ka CENTRAL component hai — HAR incoming HTTP request YAHI SE hoke guzarта hai. Ye "Front Controller" design pattern hai — EK SINGLE entry point, jo request ko ANALYZE karके, SAHI controller method ko ROUTE karta hai.
DispatcherServlet ke process mein KAI steps hain: HandlerMapping se PUCHNA (kaun sa controller method?), HandlerAdapter se method INVOKE karvaна, aur agar view-based response hai to ViewResolver se ACTUAL view (HTML) resolve karvaна. REST APIs mein, view resolution SKIP ho jaati hai (@ResponseBody ki wajah se).
// Application flow (conceptually):
// 1. HTTP request aata hai → DispatcherServlet
// 2. DispatcherServlet → HandlerMapping ("kaun sa method?")
// 3. HandlerMapping → UserController.getUser() milta hai
// 4. Method execute hota hai, result return karta hai
// 5. @RestController mein: result JSON mein convert hoke response ban jaata hai- Front Controller pattern — EK entry point saari requests ke liye
- HandlerMapping URL ko controller method se JODता hai
- Spring Boot mein AUTOMATICALLY configured
DispatcherServlet "FRONT CONTROLLER" design pattern IMPLEMENT karta hai — EK SINGLE entry point SAARI requests ke liye, jo phir unhe APPROPRIATE handler ko route karta hai. Isse cross-cutting concerns (logging, security checks) EK JAGAH handle ho sakte hain, HAR controller mein duplicate karne ke bajaye.
Request aane par, DispatcherServlet HandlerMapping se PUCHTA hai "is URL ke liye KAUN SA controller method chalाना hai?" — @RequestMapping/@GetMapping annotations SCAN karके, ye mapping PEHLE SE build kar li jaati hai application startup par, taaki HAR request par lookup FAST ho.
- DispatcherServlet = single entry point, saari requests ke liye
- HandlerMapping = URL → controller method ka mapping
- HandlerAdapter = actual method ko invoke karta hai