架構探險 —— 搭建輕量級 MVC 框架
目標:打造類似 SpringMVC 的輕量級 MVC 框架,核心組件包括:
- 註解:@Controller、@Service、@Action、@Inject
- 核心模型:View(JSP 路徑+模型數據)、Data(JSON 數據)、Param(請求參數封裝)、Request(請求方法+路徑)、Handler(Controller 類+處理方法)
- 核心調度器:DispatchServlet,init 階段初始化 Helper 體系,service 階段分發請求
Helper 體系設計
- PropUtil → ConfigHelper:加載配置文件(JDBC、基礎包名、JSP 路徑、靜態資源路徑)。
- ClassUtil → ClassHelper:掃描基礎包下所有類,分類收集 Controller、Service、Bean 類集合。
- ReflectionUtil → BeanHelper:實例化 Bean 類,建立
Map<Class<?>, Object> BEAN_MAP 容器。
- IocHelper:實現依賴注入。遍歷 BEAN_MAP,反射檢查字段是否標註 @Inject,從容器獲取實例賦值。
- ControllerHelper:建立請求與處理方法映射
ACTION_MAP。掃描 @Controller 類,解析 @Action 註解中的 URL,封裝 Request 與 Handler 映射。
- HelperLoader:統一入口觸發上述 4 個 Helper 的靜態初始化塊。
請求處理流程
- DispatchServlet 接收請求,提取方法與路徑。
- ControllerHelper#getHandler 獲取 Handler。
- BeanHelper#getBean 獲取 Controller 實例。
- 封裝請求參數為 Param 對象。
- 反射調用 Action 方法,根據返回值類型處理:
- 返回 View → 轉發至 JSP
- 返回 Data → 輸出 JSON
框架架構圖

總結:通過註解驅動、Helper 分層初始化、DispatchServlet 統一分發,實現了輕量級 MVC 框架的核心閉環。