1. 程式人生 > >[Java][Web]Request 實現轉發和 MVC 設計模式

[Java][Web]Request 實現轉發和 MVC 設計模式

寫入 頁面 str quest 表示 請求轉發 但是 write att

String data = "aaaaa";

request.setAttribute("data",data); // 將數據存在 request

request.getRequestDispatcher("/message.jsp").forward(request,response); // 實現轉發


MVC => M model/javabean V view/jsp C controller / servlet

在 message.jsp 頁面上 可以在 body 節點中以 $(data) 來得到數據

也可以寫成

<%
    String data = (String) request.getAttribute("data");
    out.write(data);
%>

效果是一樣的。 jsp 頁面修改後不需要重啟 Tomcat 服務。

forward 方法用於將請求轉發到 RequestDispatcher 對象封裝的資源。

如果在調用 forward 方法之前,在 Servlet 程序中寫入的部分內容已經被真正地傳送到了客戶端, forward 方法將會拋出

異常 java.lang.IllegalStateException。

如果在調用 forward 方法之前向 Servlet 引擎的緩沖區 response 中寫入了內容,只要寫入到緩沖區的內容還沒有被真正輸

出到客戶端, forward 方法就可以被正常執行,原來寫入到輸出緩沖區的內容將被清空,但是,已寫入到

HttpServletResponse 對象中的響應頭字段信息保持有效。


request.getRequestDispatcher("/public/head.jsp").include(request,response);

request.getWriter().write("<font>內容</fong>");

request.getRequestDispatcher("/public/head.jsp").include(request,response);

這段代碼表示:用 include 實現頁面包含

[Java][Web]Request 實現轉發和 MVC 設計模式