查看匯總:2014年計(jì)算機(jī)二級(jí)《WEB》程序考點(diǎn)匯總
HttpServetlResponse
設(shè)置Http狀態(tài)碼:
setStatus(intcode);
設(shè)置Http響應(yīng)頭:
setHeader(headername,value);getHeader(headername)getHeaders()
設(shè)置響應(yīng)內(nèi)容類型:
response.setContentType(text/html);
--text/xml、image/gif、image/jpeg
設(shè)置Http消息體(出現(xiàn)在設(shè)置響應(yīng)內(nèi)容之后):
文本字符:PrintWriterout=response.getWriter();
二進(jìn)制流:ServletOutputStream(extendsOutputStream)out=
response.getOutputStream();
設(shè)置字符編碼集(處理中文亂碼),要求出現(xiàn)在得到請(qǐng)求數(shù)據(jù)和響應(yīng)內(nèi)容的前面
客戶端重定向原理(302響應(yīng)嗎)及特點(diǎn):
HttpServletResponse-----sendRedirect(url);
HttpServetRequest
得到請(qǐng)求行:getMethod()......
得到請(qǐng)求頭:getHeader(headername)、getHeaders()獲取瀏覽器信息getHeader(User-Agent);
得到請(qǐng)求參數(shù):getParameter(param)、getParameters(param)
服務(wù)器端轉(zhuǎn)發(fā):得到RequestDispatcher的方式有哪些?
request.getRequestDispatcher();
servletContext.getRequestDispatcher(/xxxx);
servletContext.getNamedServlet(serlvet-name);
forward(request,response)與include(request,response)的區(qū)別
forward方法是把請(qǐng)求的內(nèi)容轉(zhuǎn)發(fā)到另外的一個(gè)servlet/jsp.
include是把另一個(gè)servlet/jsp處理過后的內(nèi)容拿過來與此時(shí)servlet的內(nèi)容一同輸出.
轉(zhuǎn)發(fā)與客戶端重定向的區(qū)別?
重定向:以前的request中存放的變量全部失效,并進(jìn)入一個(gè)新的request作用域。
轉(zhuǎn)發(fā):以前的request中存放的變量不會(huì)失效,就像把兩個(gè)頁面拼到了一起。
請(qǐng)求范圍:HttpServletRequest、ServletContext的范圍區(qū)別
setAttribute(Stringkey,Objectvalue);Objectobj=getAttribute(Stringkey);removeAttribute(Stringkey);
contenxt-param
param-name/param-name
param-value/param-value
/contenxt-param
Web應(yīng)用程序狀態(tài)管理方式:
隱藏字段、Cookie、HttpSession、URL重寫
為什么需要狀態(tài)管理?
根本原因是由于Http協(xié)議是無狀態(tài)的造成的
什么是Cookie?原理?如何使用?
Cookie原理:
ession是一種保存上下文信息的機(jī)制,它是針對(duì)每一個(gè)用戶的,變量的值保存在服務(wù)器端,通過SessionID來區(qū)分不同的客戶,session是以Cookie或URL重寫為基礎(chǔ)。默認(rèn)使用Cookie來實(shí)現(xiàn),系統(tǒng)會(huì)創(chuàng)造一個(gè)名為JSESSIONID的輸出Cookie,或稱為SessionCookie,以區(qū)別PersistentCookies(通常所說的Cookie).SessionCookie是存儲(chǔ)在瀏覽器中,并不是寫在硬盤上的,但是把瀏覽器的Cookie禁止后,使用response對(duì)象的encodeURL或encodeRedirectURL方法編碼URL,WEB服務(wù)器會(huì)采URL重寫的方式傳遞Sessionid,用戶就可以在地址欄看到j(luò)sessionid=A09JHGHKHU68624309UTY84932之類的字符串。
通常SessionCookie是不能跨窗口使用,當(dāng)用戶新開了一個(gè)瀏覽器進(jìn)入相同的頁面時(shí),系統(tǒng)會(huì)賦予用戶一個(gè)新的SessionID,這樣信息共享的目的就達(dá)不到,此時(shí)可以把SessionID保存在PersistentCookie中,然后再新的窗口中讀出來,就可以得到上一個(gè)窗口的SessionID了,這樣通過SessionCookie和PersistentCookie的結(jié)合,實(shí)現(xiàn)了跨窗口的會(huì)話跟蹤。
Cookie和會(huì)話狀態(tài)
什么是Cookie?
Cookie是一小段文本信息,伴隨著用戶請(qǐng)求和頁面在Web服務(wù)器和瀏覽器之間傳遞。用戶每次訪問站點(diǎn)時(shí),Web應(yīng)用程序都可以讀取Cookie包含的信息。Cookie的基本工作原理如果用戶再次訪問站點(diǎn)上的頁面,當(dāng)該用戶輸入U(xiǎn)RLwww.*****.com時(shí),瀏覽器就會(huì)在本地硬盤上查找與該URL相關(guān)聯(lián)的Cookie。如果該Cookie存在,瀏覽器就將它與頁面請(qǐng)求一起發(fā)送到您的站點(diǎn)。
Cookie有哪些用途?
最根本的用途是:Cookie能夠幫助Web站點(diǎn)保存有關(guān)訪問者的信息。更概括地說,Cookie是一種保持Web應(yīng)用程序連續(xù)性(即執(zhí)行“狀態(tài)管理”)的方法.使Web站點(diǎn)記住您.
什么是會(huì)話Session?
當(dāng)用戶訪問您的站點(diǎn)時(shí),服務(wù)器會(huì)為該用戶創(chuàng)建唯一的會(huì)話,會(huì)話將一直延續(xù)到用戶訪問結(jié)束。
session的工作原理
就session的實(shí)現(xiàn)而言,好像是這樣的:
(1)當(dāng)有Session啟動(dòng)時(shí),服務(wù)器生成一個(gè)唯一值,稱為SessionID(好像是通過取進(jìn)程ID的方式取得的)。
(2)然后,服務(wù)器開辟一塊內(nèi)存,對(duì)應(yīng)于該SessionID。
(3)服務(wù)器再將該SessionID寫入瀏覽器的cookie(一些在網(wǎng)頁的源代碼中有所體現(xiàn))。
(4)服務(wù)器內(nèi)有一進(jìn)程,監(jiān)視所有Session的活動(dòng)狀況,如果有Session超時(shí)或是主動(dòng)關(guān)閉,服務(wù)器就釋放該內(nèi)存塊。
(5)當(dāng)瀏覽器連入IIS(服務(wù)器)時(shí)并請(qǐng)求的ASP(腳本語言)內(nèi)用到Session時(shí),IIS(服務(wù)器)就讀瀏覽器Cookie中的SessionID。
(6)然后,服務(wù)檢查該SessionID所對(duì)應(yīng)的內(nèi)存是否有效。
(7)如果有效,就讀出內(nèi)存中的值。
(8)如果無效,就建立新的Session。
注意:
(1)在大瀏覽量的網(wǎng)站,Session并不保險(xiǎn),我們過去的網(wǎng)站就經(jīng)常碰到存在Session中得值不正確(可能出現(xiàn)重復(fù)的SessionID)。
(2)SessionID不能從硬盤上的Cookie文件獲得,如果想在客戶端獲知自己的SessionID,只能通過Javascrīpt來讀取。
會(huì)話失效的三種情況(服務(wù)器重啟/關(guān)閉、會(huì)話超時(shí)(-1永不失效)、invalidate())
設(shè)置鍵值對(duì)setAttribute(key,value);Objectobj=getAttribute(key);
為什么需要URL重寫?
Stringstr=HttpServletResponse.encodeURL(Stringurl);url;jsessionid=sessionid
對(duì)于搜索引擎而言,在主觀上對(duì)靜態(tài)頁面和動(dòng)態(tài)頁面并沒有特殊的好惡,只是很多動(dòng)態(tài)頁面的參數(shù)機(jī)制不利于搜索引擎收錄,而靜態(tài)頁面更容易收錄而已。此外,頁面靜態(tài)化在一定程度上也提高了頁面訪問速度和系統(tǒng)性能及穩(wěn)定性—-這使得在搜索引擎優(yōu)化上面,為使得效果更加明顯,問題簡單快速解決,大家對(duì)站點(diǎn)的靜態(tài)化非常的看重。
URL應(yīng)當(dāng)是用戶友好的;
URL應(yīng)當(dāng)是可讀的;
URL應(yīng)當(dāng)是可預(yù)測(cè)的;
URL應(yīng)當(dāng)是統(tǒng)一的;
URL面向搜索引擎是友好的;
相關(guān)推薦:
各地2014年職稱計(jì)算機(jī)考試報(bào)名時(shí)間匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |