管理信息系統(MIS)承載企業核心數據流轉,架構設計需兼顧開發效率、運行性能與分布式擴展性。本文闡述基於Browser/Web/Database三層體系,結合MVC模式的JSP/Servlet MIS落地架構。
三層體系結構

- 客戶層:瀏覽器,零部署,純渲染與交互。
- Web/應用層:Web容器(Tomcat/WebLogic)運行Servlet/JSP,承擔控制器與視圖職責,處理HTTP請求響應、業務流程編排、頁面渲染。
- 數據層:DB2/Oracle/MySQL等關係型數據庫,持久化業務實體,由DBA管理備份優化。
MVC設計模式在三層中的映射

| MVC角色 | 技術實現 | 職責邊界 |
| Model | JavaBean / POJO / Service層 / DAO層 | 封裝業務邏輯、數據訪問、領域規則,無Web依賴 |
| View | JSP / JSTL / EL / 模板引擎 | 純渲染:從請求屬性/Session/Model獲取數據輸出HTML/JSON |
| Controller | Servlet / Front Controller模式 | 統一入口:接收請求、參數校驗、調用Service、選擇View、設置屬性、轉發/重定向 |
請求處理流程
- 瀏覽器發起HTTP請求(
/user/add.do)。
DispatcherServlet(總控制器)攔截,解析URL映射到具體ActionServlet。
ActionServlet提取參數,封裝UserForm(JavaBean),調用UserService.add(user)。
- Service層驗證業務規則,調用
UserDAO.insert()持久化。
- Service返回結果(成功/失敗/錯誤碼),Controller設置
request.setAttribute("result", ...)。
- Controller
request.getRequestDispatcher("/view/user/result.jsp").forward(req, resp)。
- JSP通過
${result}、<c:out>渲染響應。
架構優勢
- 關注點分離:業務邏輯不污染頁面,頁面變更不影響業務代碼。
- 並行開發:後端開發Service/DAO,前端開發JSP/CSS/JS,接口契約(Form/DTO)為界。
- 可測試性:Model/Service可單元測試,無需啟動容器。
- 擴展性:新增功能只需擴展Controller/Service/View,互不干擾;易於向微服務遷移(Controller→API Gateway,Service→獨立服務)。
落地關鍵規範
- 禁止JSP中寫JDBC/SQL:嚴格代碼審查機制。
- 統一異常處理:Controller捕獲Service異常,映射友好錯誤頁/JSON。
- Form驗證前置:JavaScript前端攔截 + 服務端Bean Validation雙重保障。
- 連接池外部化:JNDI DataSource在
context.xml配置,Spring注入DAO。
- 分頁查詢標準化:通用
PageRequest/PageResponseDTO,避免各自為政。
這套「Servlet控制 + JSP視圖 + JavaBean模型」經典架構,雖不如Spring MVC成熟,但對理解Web MVC本質、維護老系統、輕量級項目極具參考價值。核心思想——請求分發、業務解耦、視圖無邏輯——永不過時。
- 上一篇文章: JSP九大內置對象速查手冊:核心API與Session會話管理實戰
- 下一篇文章: Windows下JSP開發環境三種搭建方案:Tomcat獨立/整合Apache/整合IIS
Copyright ©
程式碼之家 All Rights Reserved