<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 實例。
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");
}
}
News.SearchNewsTitle(db)。Session。newsMain.jsp,由 JSP 讀取 Session 資料渲染。| 維度 | 兩層 | 三層 |
|---|---|---|
| 預處理位置 | JSP 頁面中 | Controller Servlet |
| JSP 職責 | 邏輯 + 顯示 | 純顯示 |
| 資料傳遞 | 直接呼叫 Bean | 透過 Session/Request 屬性 |
| 維護性 | 較低 | 關注點分離,較高 |
三層架構讓 Servlet 處理「控制流程與資料準備」,JSP 專注「視圖渲染」,符合 MVC 精神。