Jsp頁面中數據和方法聲明
聲明語法:<%! 聲明表達式; %>
<%! int a; %> 定義整型變量
<%! float b,c=3.1f ; %>
注意:功能語句不能出現在聲明區域中
細節二:
區分聲明區域中的變和腳本區域中的變量
<%! int c=0; %> ç在聲明區域中聲明變量,整個jsp頁面有效,每次刷新jsp頁面並不銷燬
<% int d=10; %> ç 在腳本區域中聲明變量,刷新jsp頁面會銷燬重建
細節三:
page中指令的屬性:
page指令中,除了import屬性,其他屬性在page指令中只能出現一次。
細節四:
下列類會默認載入到jsp頁面,不需要特別聲明:
Java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.http.*;
細節五:
include 屬性只能引用靜態頁面(HTML和JSP),基本語法
<%@ include file=”被包含文件” %>
例如:
<%@ include file=”pageHead.jsp” %>
應用include指令時,要注意被包含文件不能是一個獨立的頁面,也就是不能有<html> 標籤和<body>標籤。
Jsp內置對象: out 、request、response、session、pageCounttext、application、config和exception
細節六:
<jsp:include/>動作標籤的包含結果是“結果的合併”而不是內容的合併
細節七:
response主要功能和方法
- getWrite() 獲得PrintWrite類的對象實例,實現向瀏覽器輸出信息
- addCookie() 在客戶端計算機磁盤上創建出Cookie對象實例,在Cookie對象實例可以保存客戶端信息特徵,然後採用request對象的getCookies()方法獲取客戶機所有Cookie對象
- addHeader() 添加HTTP頭文件信息,將信息傳送到客戶瀏覽器中
- containsHeader() 判斷指定名字的文件頭是否存在,返回布爾型true / false
- setHeader() 設置指定名字HTTP頭文件的值,若該值存在則覆蓋
- sendRedirect() 重定向到由參數targetURL所指示的目標JSP頁面或Servlet程序,不能向客戶端輸出信息
- setContentType() 在相應中可以設置內容的文檔數據類型和格式
- setBufferSize() 設置Web容器的緩衝區大小,配合getBufferSize()方法返回該緩衝器信息
區分重定向與跳轉方式的區別
- 請求轉發過程中客戶端瀏覽器只向server端產生一次請求,而重定向是兩次;
- 請求轉發時在瀏覽器的URL地址欄中的信息不會發生改變,仍然是原來的URL而重定向將會轉向目標URL
使用HTTP請求轉發:
使用轉發由於只有一次請求,所以在一個頁面的request.setAttribute 能夠在跳轉後的頁面使用request.getAttribute獲取其屬性值
細節九:內置對象request
request的對象的主要作用是接收客戶端HTTP協議發送到服務器端請求數據
HTTPServletRequest接口常用方法和功能:
- getCookies() 獲取保存客戶端主機中的Cookie對象數組
- getSession() 獲取會話session對象,如果還沒有創建出session對象實例,系統會自動創建
- getHeader() 獲取HTTP協議中定義的與請求頭相關的某個指定名稱的信息。
- getAttribute() 返回指定名稱request作用域中的屬性值,若沒有返回null
- getMethod() 獲取客戶端向server端傳送數據的方式 可以是post get delete put
- getParameter() 獲取客戶端傳送給server端的指定名稱的請求參數值
- getParameterNames() 獲取客戶端向server端傳送所用請求參數的的參數名,返回的結果集是一個Enumeration枚舉類對象實例
- getParameterValues() 獲取指定參數名所請求的值,一般用於獲取複選框等提交請求參數值
- getQuerySting 獲取查詢字符串,該查詢字符串由客戶端瀏覽器以get請求方式向server端傳送
- getRequestURL() 獲取發出請求字符串的客戶端地址