(一)JSP內(nèi)置對象:
1.1 簡介:
JSP內(nèi)置對象是Web容器創(chuàng)建的一組對象,不使用new關(guān)鍵字就可以使用的內(nèi)置對象之斯,比如:下面的out就是內(nèi)置對象,并沒有使用new關(guān)鍵字就可以直接使用遣铝。
<%
int[] value={60,70,80};
for(int i:value){
? ? ?out.println(i);
}
%>
1.2 JSP九大內(nèi)置對象:
——out? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——application ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——exception
——response ? ? ? ? ? ? ? ? ? ? ——Page ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——config
——request ? ? ? ? ? ? ? ? ? ? ? ——pageContext ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?——session
1.2 Web程序的請求響應模式:
用戶發(fā)送請求(request)
服務器給用戶響應(response)
如下圖:
舉個栗子:
以登錄中國大學mooc為例:說明了web應用程序是基于請求和響應的這種模式
1.3 out對象
什么是緩沖區(qū):
緩沖區(qū):Buffer涨冀,就是內(nèi)存的一塊區(qū)域用來保存臨時數(shù)據(jù)
就好像,我們煮了一鍋粥麦萤,如果我們放在鍋里面吃的話肯定很麻煩鹿鳖,如果我們把鍋里的粥盛出來一點在碗里吃,是不是會很方便频鉴,吃得很爽呢栓辜,當然我們也是可以使用勺子恋拍,就會更方便吃垛孔,在這里的碗和勺子這些容器就是緩沖區(qū)。
Out對象:
out對象是JspWriter類的實例施敢,是向客戶端輸出內(nèi)容常用的對象
常用方法如下:
——void println() 向客戶端打印字符串
——void clear() 清除緩沖區(qū)的內(nèi)容周荐,如果在flush之后調(diào)用會拋出異常
——void clearBuffer() 清除緩沖區(qū)的內(nèi)容,如果在flush之后調(diào)用不會拋出異常
——void flush() 將緩沖區(qū)內(nèi)容輸出到客戶端
——int getBufferSize() 返回緩沖區(qū)以字節(jié)數(shù)大小僵娃,如果不設(shè)緩沖區(qū)則為0
——int getRemaining() 返回緩沖區(qū)還剩多少可用空間
——boolean isAutoFlush() 返回緩沖區(qū)滿時候概作,是自動清空還是拋出異常
——void close() 關(guān)閉輸出流
舉個栗子:
打印一首唐詩《靜夜思》:
1.4 get與pos區(qū)別
<form name="regForm" action="動作" method="提交方式">
</form>
表單的提交方式有兩種:get和post
——get:
以明文的方式通過URL提交數(shù)據(jù)默怨,數(shù)據(jù)在URL中可以看到讯榕,就是瀏覽器的地址欄中可以看到。提交的數(shù)據(jù)最多不超過2kb匙睹。安全性較低愚屁,但是效率比post方式高。適合提交數(shù)據(jù)量不大痕檬,安全性不高的數(shù)據(jù)霎槐,比如:搜索、查詢功能梦谜。
——post:
將用戶提交的信息封裝在HTML丘跌、HEADER內(nèi)。適合數(shù)據(jù)量大唁桩,安全性高的用戶信息闭树。比如:注冊、修改荒澡、登錄报辱、上傳等功能。
舉個栗子:
一個簡單的登錄表單先使用get
1.5 request對象
客戶端的請求 ? 信息被封裝在request對象中,通過它才能了解到客戶的需求鸵赫,然后做出響應衣屏。它是HttpServletRequest類的實例。request對象具有請求域辩棒,即完成客戶端的請求之前狼忱,該對象一直有效。
request常用方法:
——String getParameter(String name) 返回name指定參數(shù)的參數(shù)值(獲得單個值)
——String[] getParameterValues(String name) 返回包含參數(shù)name的所有值的數(shù)組(獲得集合)
——void setAttribute(String,Object) 存儲此請求中的屬性
——object getAttribute(String,Object) 返回指定屬性的屬性值
——String getContentType() 得到請求體的MIME類型
——String getProtocol() 返回請求用的協(xié)議類型及版本號
——String getServerName() 返回請求的服務器主機名
舉個栗子:
用戶注冊
今天脖子疼QAQ一睁,未完钻弄,待續(xù)。者吁。窘俺。。