DayFour JSP基礎(chǔ)(上)

1.1jsp簡介

jsp是 Java Sever Page的縮寫华弓。

1.2幾種常見的WEB語言優(yōu)劣

JSP:java平臺,安全性高,適合開發(fā)大型的企業(yè)型WEB應(yīng)用程序畦幢,與SERVLET一樣拙吉,在服務(wù)器端執(zhí)行潮孽。

ASP.NET 簡單易學(xué),但是安全性以及跨平臺性較差筷黔。

PHP:簡單高效往史,成本低,開發(fā)周期短佛舱,適合中小型企業(yè)的WEB應(yīng)用開發(fā)椎例。LAMP=Linux+Apache + Mysql + PHP

1.3java頁面元素構(gòu)成

聲明+表達式+小腳本+指令+注釋+靜態(tài)內(nèi)容

1.4JSP指令

Page指令:通常用于jsp頁面的頂端,同一個頁面可以有多個Page指令

include指令:將一個外部文件嵌入到當前JSP頁面中请祖,同時订歪,解析這個頁面中的JSP語句。

taglib指令:使用標簽定義新的自定義標簽在JSP中啟用定制行為肆捕。

2.1JavaWeb開發(fā)基本知識

Web 應(yīng)用程序有以下特點:

1)使用HTTP協(xié)議通信

2)服務(wù)器把數(shù)據(jù)組織成HTML格式

3)瀏覽器安裝方便

2.2jsp實質(zhì)

jsp從本質(zhì)上來說就是一個servlet文件刷晋,只不過在創(chuàng)建上的方式不同,在進行編譯之后就會再次變成一個servlet這個文件

2.3 jsp注釋

在jsp頁面的注釋慎陵。

在HTML上的注釋:<!--? html注釋 --> 當jsp被解析為java文件時眼虱,客戶端可見,注釋的語句會被out.println()方法返回到客戶端席纽。

JSP的注釋:<%-- html --%> .只能用來注釋JSP文件捏悬,在JSP文件被解析成Java文件時,注釋會被刪除润梯,客戶端不可見过牙。PS:即服務(wù)器端元素

Java注釋:單行注釋 //? 多行注釋/* */?????????????? 不可見

2.4 JSP 腳本

概念:在JSP文件中插入的Java腳本

語法:<% Java代碼 %>

Jsp聲明:定義插入到Servlet中的成員變量和方法甥厦,在頁面上不會有數(shù)據(jù)的輸出,要輸出所聲明的數(shù)據(jù)寇钉,就要和其他表達式配合使用矫渔。

語法:<%!? java變量或者是方法 ? %>

JSP表達式:把方法的結(jié)果或者是變量的值作為一個字符串輸出。即在JSP頁面執(zhí)行的表達式

語法:<%=? Java表達式? %>? 注意:表達式不以分號結(jié)尾

2.5 頁面元素Page

JSP通過多線程進行處理

2.6 JSP內(nèi)置對象

2.6.1內(nèi)置對象簡介

JSP內(nèi)置對象是WEB容器創(chuàng)建的一組對象摧莽,不需要使用new關(guān)鍵字就可以使用的空置對象庙洼。

2.6.2常用內(nèi)置對象

out ? ?? request ?? ? response ? ? ? session????? application??? Page?? pageContent???? exception?? config?? 當然,后面四個不常用

web應(yīng)用程序:請求和響應(yīng)模式镊辕。

緩沖區(qū):Buffer油够。所謂緩沖區(qū)就是內(nèi)存的一塊區(qū)域用來保存臨時數(shù)據(jù)。

2.6.7? out對象

里面有一系列的方法能對緩沖區(qū)之類的進行處理征懈。其中有.cleare() 和? .flush()? 這兩個方法但是前者如果在后者之后再調(diào)用的話就會報出異常石咬。解決辦法:使用 .cleareBuffer() 這個方法。

2.6.8 get 與 post 兩者之間的區(qū)別

這兩個是表單 form 的提交方式卖哎。

get:以明文的方式鬼悠,通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到亏娜,提交的數(shù)據(jù)最多不超過2kb焕窝,安全性較低,但是效率比post方式高维贺,適合提交數(shù)據(jù)量不大它掂,安全性不高的數(shù)據(jù),比如:搜查溯泣、查詢等功能虐秋。

post:將用戶提交的信息封裝在HTML、HEADER內(nèi)垃沦,適合提交數(shù)據(jù)量大客给,安全性高的用戶信息,比如:注冊修改上傳等功能肢簿。

2.6.9 request對象

客戶端的請求信息被封裝在request對象中靶剑,通過它才能了解到客戶的需求,然后做出響應(yīng)译仗,它是HttpServeltRequest類的實例抬虽。request對象具有請求域官觅,即完成客戶端的請求之前纵菌,該對象一直有效。同樣休涤,也有很多不一樣的方法:

setCharacterEncoding(String encoding) 設(shè)置表單的編碼方式咱圆。

getParameter(String key) 返回客戶端用戶提交的參數(shù)笛辟。

getParameterValues(String keys) 返回多個同名參數(shù)值,以數(shù)組的形式返回序苏。

void setAttribute(String Object)? 存儲此請求中的屬性

object getAttribute(String name) 返回指定屬性的屬性值手幢。

2.6.10?? 控制服務(wù)器的響應(yīng)信息? response

response 對象包含了響應(yīng)客戶請求的有關(guān)信息,但在JSP中很少直接用到他忱详,它是HttpServeltResponse 類的實例围来,response 對象具有頁面作用域,即訪問一個頁面時匈睁,該頁面內(nèi)的response 對象只能對這次訪問有效其他頁面的response 對象對當前頁面無效监透。

常用方法:。航唆。胀蛮。

2.6.11 請求重定向與請求轉(zhuǎn)發(fā)的區(qū)別

請求重定向:客戶端行為。response.sendRedirect().從本質(zhì)上講糯钙,等同于兩次請求粪狼,前一次對象不會保存,地址欄的URL會改變任岸。

請求轉(zhuǎn)發(fā):服務(wù)器行為再榄。request.getRequestDispatcher().forward(). 是一次請求,轉(zhuǎn)發(fā)后請求對象會保存享潜,地址欄的URL不會發(fā)生改變不跟。

2.6.12 session? 對象

session 對象,表示客戶端的一次會話米碰,web中的session指的是用戶在瀏覽某個網(wǎng)站時窝革,從進入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過的這段時間也就是用戶瀏覽這個網(wǎng)站所花費的時間。

什么是session吕座?

?在服務(wù)器的內(nèi)存中保存著不同用戶的session

session對象在第一個JSP頁面被裝載時自動創(chuàng)建完成會話期管理虐译。

會話:從一個客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器吴趴,離開這個服務(wù)器結(jié)束被稱為一個會話漆诽。

當一個客戶訪問一個服務(wù)器時,可能會在服務(wù)器的幾個頁面之間切換锣枝,服務(wù)器應(yīng)當通過某種方法知道這是一個用戶厢拭,這就需要用到session

session對象是一個 HttpSession 對象實例。

session創(chuàng)建周期:

????? 創(chuàng)建:當客戶端第一次訪問某個jsp或者Servelt 時撇叁,服務(wù)器會為當前會話創(chuàng)建一個SessionId供鸠,每次客戶端向服務(wù)器端發(fā)送請求時,都會將此sessionId 攜帶過去陨闹,服務(wù)器端會為這個ID進行校驗楞捂。

?????? 活動:1》某次會還中通過超鏈接打開的新頁面屬于同一次會話薄坏。

????????????????? 2》只要當前頁面沒有全部關(guān)閉重新打開新的瀏覽器窗口進行訪問同一項目資源時,屬于同一次會話寨闹。

????????????????? 3》除非本次會話的所有頁面都關(guān)閉后再重新訪問某個JSP或者Servlet將會創(chuàng)建一個新的會話胶坠。

注意事項:注意原有的會話還存在,只是這個舊的sessionId 任然存在繁堡,存在于服務(wù)器沈善,只不過再也沒有客戶端攜帶他然后交與服務(wù)器進行校驗。

?????? 銷毀:1》調(diào)用了session.invalidate() 方法椭蹄。

????????????????? 2》session超時(默認30分鐘)矮瘟。當然這個時間我們也能進行修改,@1:調(diào)用方法:setMaxInactiveInterval() 單位:秒塑娇。? @2:在web.xml 文件中進行修改 單位十分鐘澈侠。

其他四個對象不常用,這里就不再一一說明埋酬。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哨啃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子写妥,更是在濱河造成了極大的恐慌拳球,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珍特,死亡現(xiàn)場離奇詭異祝峻,居然都是意外死亡,警方通過查閱死者的電腦和手機扎筒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門莱找,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人嗜桌,你說我怎么就攤上這事奥溺。” “怎么了骨宠?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵浮定,是天一觀的道長。 經(jīng)常有香客問我层亿,道長桦卒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任匿又,我火速辦了婚禮方灾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘琳省。我一直安慰自己迎吵,他們只是感情好躲撰,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布针贬。 她就那樣靜靜地躺著击费,像睡著了一般。 火紅的嫁衣襯著肌膚如雪桦他。 梳的紋絲不亂的頭發(fā)上蔫巩,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機與錄音快压,去河邊找鬼圆仔。 笑死,一個胖子當著我的面吹牛蔫劣,可吹牛的內(nèi)容都是我干的坪郭。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脉幢,長吁一口氣:“原來是場噩夢啊……” “哼歪沃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起嫌松,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤沪曙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后萎羔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體液走,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年贾陷,在試婚紗的時候發(fā)現(xiàn)自己被綠了缘眶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡髓废,死狀恐怖磅崭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓦哎,我是刑警寧澤砸喻,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蒋譬,受9級特大地震影響割岛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜犯助,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一癣漆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剂买,春花似錦惠爽、人聲如沸癌蓖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽租副。三九已至,卻和暖如春较性,著一層夾襖步出監(jiān)牢的瞬間用僧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工赞咙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留责循,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓攀操,卻偏偏與公主長得像院仿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子速和,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

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

  • 1.什么是JSP (1)jsp全稱是Java Server Pages歹垫,它和Servlet技術(shù)一樣都是sun公司定...
    yjaal閱讀 3,648評論 5 99
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)健芭,斷路器县钥,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法慈迈,內(nèi)部類的語法若贮,繼承相關(guān)的語法,異常的語法痒留,線程的語...
    子非魚_t_閱讀 31,623評論 18 399
  • 前面講了servlet入門實踐現(xiàn)在開始介紹jsp入門實踐谴麦,開發(fā)環(huán)境的搭建請參考我前面的tomcat的文章,jsp入...
    伊豚wall閱讀 3,368評論 2 56
  • JSP(Java Server Pages)伸头,其根本是一個簡化的 Servlet 設(shè)計匾效,實現(xiàn)了在 Java 當中使...
    靜候那一米陽光閱讀 468評論 0 1