一、jsp內置對象
由容器實現和管理,不需要通過JSP頁面編寫來實例化,在所有的JSP頁面中都可以直接使用,起到了簡化頁面的作用。JSP有9個內置對象:request,response,session,application,out,pageContext,config,page,exception。
二、request對象封裝了由客戶端生成的HTTP請求的所有細節,主要包括HTTP頭信息,系統信息,請求方式和請求參數等。通過該對象可以處理客戶端瀏覽器提交的HTTP請求中的各項參數。
2.1 訪問請求參數
當通過超鏈接的形式發送請求時,可以為該請求傳遞參數,通過在超鏈接后面加上問號實現,多個參數用&分隔。在被連接到的頁面可以通過request對象的getParameter()方法獲取傳遞的參數值。
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>使用request對象獲取請求參數值</title></head><body><a href="deal.jsp?id=1&user=wj&pwd=123">處理頁</a></body></html><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><% String id=request.getParameter("id"); String user=request.getParameter("user"); String pwd=request.getParameter("pwd");%><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>處理頁</title></head><body>id 參數的值為:<%=id %><br>user 參數的值為:<%=user %><br>pwd 參數的值為:<%=pwd %></body></html>2.2 在作用域中管理屬性
在進行請求轉發時,需要把一些數據傳遞到轉發后的頁面進行處理。這時,就需要使用request對像的setAttribute()方法將數據保存到request范圍內的變量中
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title> 在作用域中管理屬性</title></head><body><% try{ int money=100; int number=0; request.setAttribute("result", money/number); }catch(Exception e){ request.setAttribute("result", "頁面產生錯誤!"); }%><jsp:forward page="deal.jsp" /></body></html><%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>結果頁deal</title></head><body><%String message=request.getAttribute("result").toString(); %><%=message %></body></html>2.3 獲取cookie
cookie是小段的文本信息,在網絡服務器上生成,并發送給瀏覽器。通過使用cookie可以標識用戶身份,記錄用戶名和密碼,跟蹤重復用戶等。瀏覽器將cookie以key/value的形式保存到客戶機的某個指定目錄中。通過cookie的getCookie()方法可獲取到所有cookie對象的集合;通過getName()方法可以獲取到指定名稱的cookie;通過getValue)()方法可獲得cookie對象的值,使用response的addCookie()方法將一個cookie對象發送到客戶端。
2.4 獲取客戶端信息
通過request可以獲取客戶端相關信息,例如,HTTP報頭信息、客戶信息提交方式、客戶端主機ip地址、端口號等。
三、respons對象
用戶響應客戶請求,向客戶端輸出信息。
3.1 重定向網頁
利用response對象提供的sendRedirect()方法可以將網頁重定向到另一個頁面。重定向后request中的屬性全部失效,并開始一個新的request對象。地址欄中顯示的是重定向后的地址。
語法格式:response.sendRedirect(String path);
3.2 處理HTTP文件頭可以禁用緩存,設置頁面自動刷新,定時跳轉網頁。
3.3 設置輸出緩沖
四、session對象
session對象在網絡中被稱為對話,通過session可以在應用程序的web頁面間進行跳轉時,保存用戶的狀態,使整個用戶會話一直存在下去,直到瀏覽器關閉。
4.1 創建及獲取客戶的會話
session.setAttribute(String name, Object obj);
session.getAttribute(String name);
4.2 從會話中移動指定的綁定對象session.removeAttribute(String name);
4.3 銷毀session
session.invalidate();
4.4 會話超時管理
五、application對象
用于保存所有應用程序中的共有數據。在服務器啟動時自動創建,在服務器停止時銷毀。application對象提供了對應用程序進行初始化參數進行訪問的方法。應用程序初始化參數在web.xml文件中進行設置,web.xml文件位于web應用所在目錄下的WEB-INF子目錄中,在web.xml文件中通過<context-param>標記配置應用程序初始化參數。
六、out對象out對象用于在web瀏覽器內輸出信息,并且管理應用服務器上的輸出緩沖區。
七、pageContext對象該對象可以獲取JSP頁面的request、response、session、application等對象。它的創建和初始化都是由容器來完成。
八、config對象用于取得服務器的配置信息。讀取web.xml配置信息
九、page對象代表JSP本身,本質上是包含當前Servlet接口引用的變量,可以看做是this關鍵字的別名。
十、exception對象處理JSP文件執行時發生的所有錯誤和異常,只有在page指令中設置為isErorPage屬性為TRUE的頁面中才可以被使用,在一般的jsp頁面中使用該對象將無法編譯JSP文件。
新聞熱點
疑難解答