在Java Web組件之間的三種關聯關系:
1.請求轉發
2.URL重定向
3.包含
請求轉發:
允許把請求轉發給同一應用程序中的其他web組件。
這種技術通常用於web應用控制層的servlet流程控制器,它檢查http請求數據,並將請求轉發到適合的目標組件,目標組建執行具體的請求處理操作,並生成響應結果。
jsp頁面中添加servlet中加入下面代碼:
<jap:forward page="hello.jsp"/>
RequestDispatcher rd=request.geRequestDispatcher("hello.jsp");
//Forward to requested URL
rd.forward(request,response);
請求重定向 :
重定向的源組件和目標組件之間不能用同一個HttpServletRequest對象,因此不能共享request范圍內的共享數據。
servlet中的service()方法中加入下面代碼:
response.sendRedirect("url");
包含:
包含關系的源組件和目標組件共用一個httpServletRequest對象,因此他們共享request范圍內的共享數據。
jsp頁面中加入代碼:
<%@ include file="header.jsp"%>
<%@ include file="main.jsp"%>
<%@ include file="footer.jsp"%>
servlet的service()方法中加入下面代碼:
RequestDispatcher rd;
rd=req.getRequestDispatcher("/header.jsp");
rd.include(req,resp);
rd=req.getRequestDispatcher("/main.jsp");
rd.include(req,resp);
rd=req.getRequestDispatcher("/footer.jsp");
rd.include(req,resp);