JSP基礎(chǔ)

1.JSP注釋
1./........./ Java代碼注釋顶掉,頁面不顯示草娜,客戶端不可見
2<!-- ..... --> HTML注釋痒筒,頁面不顯示宰闰,但是會發(fā)送到客戶端
3.<%-- ..... --%> JSP注釋,頁面不顯示簿透,也不會發(fā)送到客戶端
2.JSP的腳本scriptlet
1.<%=...%>表示在頁面上打印數(shù)據(jù)
2.<%!...%>聲明移袍,全局變量
3.<%....%>局部變量,java語句
3.JSP的四個域?qū)ο?/strong>
1.pageContext:當(dāng)前頁面內(nèi)有效
2.request:當(dāng)前請求內(nèi)有效
3.session:當(dāng)前的會話內(nèi)有效(瀏覽器不關(guān)閉一直有效)
4.application:當(dāng)前服務(wù)器生命周期內(nèi)有效(項目不重啟一直有效)
4.JSP的@指令
1.page:contentType 設(shè)置頁面的編碼和格式
pageEncoding 設(shè)置頁面的編碼
import 引包
errorPage 當(dāng)前頁面出現(xiàn)錯誤跳轉(zhuǎn)的頁面
isErrorPage 這是一個錯誤頁面
2.include:包含頁面
3.taglib:引入第三方標(biāo)簽庫
5.動態(tài)標(biāo)簽
格式:<jsp: include..... >老充、<jsp:forword .........>
include:用于包含其他文件(同時存在)
forword:用于重定向文件葡盗、頁面跳轉(zhuǎn)(覆蓋)
Param:用于參數(shù)傳遞
useBean:用于調(diào)用JavaBean
setProperty:用于設(shè)置JavaBean的屬性值
getProPerty:用于訪問Bean的屬性
plugin:用于Applet的嵌入操作元素
6.九大內(nèi)置對象
*request 封裝用戶提交的消息
*response 向客戶端發(fā)送數(shù)據(jù)
*session 用來保存每一個用戶的信息
*application 表示所有用戶的共享信息
out 頁面輸出信息
page jsp頁面本身
*pageContext JSP的頁面容器
config 服務(wù)器配置信息,可以取得初始化參數(shù)
exception 顯示異常信息
7.修改代碼
一般而言啡浊,修改web.xml觅够、配置文件胶背、java需要重新啟動tomcat服務(wù)。
修改jsp喘先、html钳吟、css、js不需要重啟服務(wù)
8.內(nèi)置對象中的常用方法
request:
String GetParameter(String name):
根據(jù)請求的字段key窘拯,返回字段值value
String[ ] GetParameter(String name):
根據(jù)請求的字段key红且,返回多個字段值value(checkbox)
void setCharacterEncoding("編碼格式utf-8"):
設(shè)置請求編碼,不設(shè)置則默認(rèn)(tomcat以前默認(rèn)ISO-8859-1涤姊,tomcat8以后改為了utf-8)
getRequestDisPatcher("b.jsp"):請求轉(zhuǎn)發(fā)的方式跳轉(zhuǎn)頁面
getServiceContext():獲取項目的ServletContext對象

response:響應(yīng)對象
提供的方法:
void addCookie(Cookie cookie):服務(wù)端向客戶端增加cookie對象
void sendRedirect(String location) throw IOException:頁面跳轉(zhuǎn)的一種方式
void setContetType(String type):設(shè)置服務(wù)器響應(yīng)的編碼(設(shè)置服務(wù)器的contentType類型)
頁面重定向 response.sendRedirect("success.jsp");屬于跳轉(zhuǎn)頁面直焙,取不到數(shù)據(jù),而且地址會改變砂轻,重定向有兩次響應(yīng)
頁面請求轉(zhuǎn)發(fā)request.getRequestDispatcher("success.jsp").forward(request,response);能夠拿到數(shù)據(jù)蛾狗,而且地址不會變航邢,請求轉(zhuǎn)發(fā)只有一次響應(yīng)

session:(服務(wù)端)
Cookie(客戶端游盲,不是內(nèi)置對象):Cookie是由服務(wù)端生成的到逊,再發(fā)送給客戶端保存领猾。相當(dāng)于本地緩存应又。
作用:提高服務(wù)端的訪問效率鸯乃,但是安全性較差剖张。
服務(wù)端準(zhǔn)備Cookie:
response.addCookie(Cookie cookie)
頁面跳轉(zhuǎn)(轉(zhuǎn)發(fā)派阱、重定向)
客戶端獲取Cookie:
request.getCookie();
服務(wù)器增加Cookie:response對象诬留;
客戶端獲取對象:request對象
不能直接獲取一個單獨的對象,只能一次性將全部的cookie拿到

session機制:
客戶端第一次請求服務(wù)器時贫母,服務(wù)端會產(chǎn)生一個人session對象(用于保存該客戶的信息);
并且每個session對象文兑,都會有一個唯一的sessionId(用于區(qū)分其他session)
服務(wù)端又會產(chǎn)生一個cookie,并且該cookie的name=JSESSIONID腺劣,value=服務(wù)端sessionId的值绿贞;
然后服務(wù)端會在響應(yīng)客戶端的同時將該cookie發(fā)送給客戶端,至此橘原,客戶端就有了一個人cookie(JSESSIONID);
因此籍铁,客戶端的cookie就可以和服務(wù)端的session一一對應(yīng)(JSESSIONID---sessionID)
cookie保存在客戶端,session保存在服務(wù)端
session方法:
String getId():獲取sessionId
boolean inNew():判斷是否是新用戶(第一次訪問)
void invalidate():使session失效(退出登錄趾断、注銷)
void setMaxInactiveInterval(秒 ):設(shè)置最大有效非活動時間

appliation 全局對象
String getContextPath():虛擬路徑
String getRealPath(Strring name):絕對路徑
9.四大域?qū)ο?/strong>
小-->大
pageCOntext:當(dāng)前頁面有效(頁面跳轉(zhuǎn)后無效)
request:同一次請求有效拒名;其他請求無效(請求轉(zhuǎn)發(fā)后有效;重定向后無效)
session:同一次會話有效(無論怎么跳轉(zhuǎn)都有效芋酌;關(guān)閉/切換瀏覽器后無效增显;)
appliation:全局變量;整個項目運行期間都有效(切換瀏覽器任然有效)隔嫡;關(guān)閉服務(wù)甸怕、運行其他項目無效
以上4個對象共有的方法:
Object getAttribute(String name):根據(jù)屬性名甘穿,獲取屬性值
void setAttribute(String name,Object obj):設(shè)置屬性值(新建,修改)
setAttribute("a","b");
如果a對象之前不存在梢杭,則新建一個a對象温兼;如果a之前已經(jīng)存在,則將a的值改為b
void removeAttribute(String name):根據(jù)屬性名武契。刪除對象

多個項目共享募判、重啟后任然有效:JNDI技術(shù)
以上的4個范圍對象,通過setAttribute()復(fù)制咒唆,通過getAttribute()取值届垫;
以上范圍對象。盡量使用最小的范圍全释。因為對象的范圍越大装处,造成的性能損耗越多。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浸船,一起剝皮案震驚了整個濱河市妄迁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌李命,老刑警劉巖登淘,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異封字,居然都是意外死亡黔州,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門阔籽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來流妻,“玉大人,你說我怎么就攤上這事笆制『霞剑” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵项贺,是天一觀的道長君躺。 經(jīng)常有香客問我,道長开缎,這世上最難降的妖魔是什么棕叫? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮奕删,結(jié)果婚禮上俺泣,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好伏钠,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布横漏。 她就那樣靜靜地躺著,像睡著了一般熟掂。 火紅的嫁衣襯著肌膚如雪缎浇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天赴肚,我揣著相機與錄音素跺,去河邊找鬼。 笑死誉券,一個胖子當(dāng)著我的面吹牛指厌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踊跟,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼踩验,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了商玫?” 一聲冷哼從身側(cè)響起晰甚,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎决帖,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓖捶,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡地回,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了俊鱼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻像。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖并闲,靈堂內(nèi)的尸體忽然破棺而出细睡,到底是詐尸還是另有隱情,我是刑警寧澤帝火,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布溜徙,位于F島的核電站,受9級特大地震影響犀填,放射性物質(zhì)發(fā)生泄漏蠢壹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一九巡、第九天 我趴在偏房一處隱蔽的房頂上張望图贸。 院中可真熱鬧,春花似錦、人聲如沸疏日。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沟优。三九已至涕滋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間净神,已是汗流浹背何吝。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鹃唯,地道東北人爱榕。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像坡慌,于是被迫代替她去往敵國和親黔酥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容