首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> JSP 程式設計 >> 關於JSP

JSP + JavaBean + Servlet 三層架構運作原理實例解析

     編輯:關於JSP

架構演進

  • 兩層(JSP + JavaBean):JSP 直接呼叫 JavaBean 處理業務邏輯與資料存取,預處理寫在 JSP 中。
  • 三層(JSP + JavaBean + Servlet):引入 Controller Servlet 分派請求、預處理,JSP 專注畫面呈現。

Web.xml Servlet 映射機制

<servlet>
    <servlet-name>ms1</servlet-name>
    <servlet-class>news.FirstAction</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ms1</servlet-name>
    <url-pattern>/newsmain</url-pattern>
</servlet-mapping>

請求流向:/newsmain → ms1 → news.FirstAction 實例。

Controller Servlet 實作範例

public final class FirstAction extends HttpServlet {
    protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        DB db = new DB();
        HttpSession session = req.getSession();
        try {
            session.setAttribute(Constants.NEWS_LIST_KEY, News.SearchNewsTitle(db));
        } catch (Exception e) { e.printStackTrace(); }
        db.close();
        resp.sendRedirect("/P43_News/newsMain.jsp");
    }
}
  1. 執行業務邏輯 News.SearchNewsTitle(db)。
  2. 將結果存入 Session。
  3. 導向顯示頁 newsMain.jsp,由 JSP 讀取 Session 資料渲染。

兩層 vs 三層差異總結

維度兩層三層
預處理位置JSP 頁面中Controller Servlet
JSP 職責邏輯 + 顯示純顯示
資料傳遞直接呼叫 Bean透過 Session/Request 屬性
維護性較低關注點分離,較高

三層架構讓 Servlet 處理「控制流程與資料準備」,JSP 專注「視圖渲染」,符合 MVC 精神。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved