2019-01-17

內(nèi)置對象

一宋渔、

我們先思考一下彤委,我們這個網(wǎng)絡訪問的過程是怎樣的驹暑?

1裳食、http協(xié)議特點矛市。

超文本傳輸協(xié)議(HTTP-Hypertext transfer protocol) 是一種詳細規(guī)定了瀏覽器和萬維網(wǎng)服務器之間互相通信的規(guī)則,通過因特網(wǎng)傳送萬維網(wǎng)文檔的數(shù)據(jù)傳送協(xié)議诲祸。q超文本傳輸協(xié)議 q 無狀態(tài)協(xié)議 q 用于通過 Internet 發(fā)送請求消息和響應消息 q 使用端口接收和發(fā)送消息浊吏,默認為80端口HTTP是基于客戶/服務器模式且是面向連接的,HTTP能夠傳送任意類型數(shù)據(jù)對象救氯。HTTP連接是一種一次性連接找田,每次連接只處理一個請求,HTTP是一種無狀態(tài)協(xié)議着憨,即服務器不保留與客戶交易時的任何狀態(tài)墩衙,

2、http消息頭

我們平時上網(wǎng)感覺就是輸入網(wǎng)址,然后從服務器下載網(wǎng)頁顯示就可以了漆改,事實這個過程非常復雜心铃,需要傳輸?shù)膬?nèi)容也非常多,在一個每一次訪問都是一個請求(request),服務器對這個請求都會做出應答(response)挫剑,在這個過程中傳輸?shù)膬?nèi)容都是根據(jù)http的協(xié)議封裝到http的消息頭中的去扣。http的消息頭有其固定個格式規(guī)范,從這個消息頭里面我們可以得到很多信息樊破,雖然大部分信息對普通用戶而言都是無關重要的愉棱,但是對我們程序員來說可能是非常有用的。消息頭的內(nèi)容都已經(jīng)封裝到jsp的內(nèi)置對象里了哲戚,所以我們并不需要自己手動的去解析它奔滑,這里我們只需要簡單的理解就可以了。

二惫恼、內(nèi)置對象

qJSP 隱式對象是 Web 容器加載的一組類 q它不像一般的Java對象那樣用”new”去獲取實例档押,而是可以直接在JSP頁面使用的對象 ?q隱式對象的名稱是 JSP 的保留字 qJSP 使用 Java 定義的隱式對象來訪問網(wǎng)頁的動態(tài)內(nèi)容。

事實上我們已經(jīng)使用過jsp的隱式對象了祈纯,比如out對象令宿,不是多有的對象在使用前都必須先new出來嗎,為什么這些對象不需要呢腕窥,你可以再去查看jsp轉(zhuǎn)譯后的java文件粒没,事實這個java文件不是一個普通的java文件,它已經(jīng)幫助我們構造了很多很有用的對象了簇爆,所有這些對象我們并不需要自己手動的去new出來癞松,就可以直接使用了。

常用的隱式對象有:

輸入/輸出對象:request入蛆,response响蓉,out。

作用域通信對象:session哨毁,application枫甲,pageContext。

Servlet 對象:page,config扼褪。

錯誤對象:exception想幻。

上面這些對象我們以后都會學習到,這里先講解一下exception话浇、request和response三個內(nèi)置對象脏毯。

1、exception對象

qexception對象用于處理 JSP 頁面中的錯誤 qexception 對象用于訪問執(zhí)行 JSP 的過程中引發(fā)的異常 qexception 對象是 java.lang.Throwable 類的實例幔崖。

先要修改page指令為isErrorPage="true"食店。

然后就可以在頁面上面直接打印了渣淤。

<body>

? ?<%=exception %>

? </body>

2、request對象

request是一個非常重要的對象叛买,它會把用戶的請求操作封裝在這個對象中砂代。http消息頭中一些很有用的信息都可以取得,具體方法如下:

String encodString = request.getCharacterEncoding();//請求編碼int contentLength = request.getContentLength();//請求內(nèi)容的長度率挣,get提交是-1刻伊,post則有長度String ContentType = request.getContentType();//請求內(nèi)容的類型,get提交是null椒功,post則為application/x-www-form-urlencodedString contextPath = request.getContextPath();//頁面?zhèn)鱽淼恼埱舐窂酱废洌琭orm中的actionString LocalAddr = request.getLocalAddr();String LocalName = request.getLocalName();int LocalPort = request.getLocalPort();String RemoteAddr = request.getRemoteAddr();// 獲得客戶端的IP地址String RemoteHost = request.getRemoteHost();// 獲得客戶端電腦的名字,若失敗动漾,則返回客戶端電腦的IP地址String RemoteUser = request.getRemoteUser();String Method = request.getMethod();//頁面提交的方法String QueryString = request.getQueryString();//請求字符串,get提交則有丁屎,post為nullString RequestURI = request.getRequestURI();// 獲得發(fā)出請求字符串的客戶端地址String ServerName = request.getServerName();// 獲得服務器的名字int ServerPort = request.getServerPort();// 獲得服務器的端口號String ServletPath = request.getServletPath();// 獲得客戶端所請求的腳本文件的文件路徑System.out.println("編碼:"?+ encodString + ";請求內(nèi)容的長度:"?+ contentLength+ ";請求類型:"?+ ContentType + ";請求路徑:"?+ contextPath);System.out.println("本地地址:"?+ LocalAddr + ";本地名稱:"?+ LocalName+ ";本地端口:"?+ LocalPort);System.out.println("遠程地址:"?+ RemoteAddr + ";遠程用戶名:"?+ RemoteUser+ ";遠程端口:"?+ RemoteHost);System.out.println("請求方法:"?+ Method);System.out.println("請求字符串:"?+ QueryString + ";請求url:"?+ RequestURI);System.out.println("服務名稱:"?+ ServerName + ";服務端口:"?+ ServerPort);System.out.println("路徑:"?+ ServletPath);String user_agent = request.getHeader("User-agent");// 返回客戶端瀏覽器的版本號、類型System.out.println("user_agent>>"?+ user_agent);// 返回所有request header的名字旱眯,結果集是一個Enumeration(枚舉)類的實例System.out.println("瀏覽器和客戶端的信息");Enumeration enumeration = request.getHeaderNames();while (enumeration.hasMoreElements()) {????String elent = (String) enumeration.nextElement();????System.out.println(elent + ">>"?+ request.getHeader(elent));}

另外還有三個很有用的方法是

request.getParameter("uanme");request.setAttribute("name", "value");request.getAttribute("name");


小編整理了一些java進階學習資料和面試題晨川,需要資料的請加JAVA高階學習Q群:664389243?這是小編創(chuàng)建的java高階學習交流群,加群一起交流學習深造删豺。群里也有小編整理的2019年最新最全的java高階學習資料共虑!



rmal;t??[\?

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呀页,隨后出現(xiàn)的幾起案子妈拌,更是在濱河造成了極大的恐慌,老刑警劉巖蓬蝶,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尘分,死亡現(xiàn)場離奇詭異,居然都是意外死亡丸氛,警方通過查閱死者的電腦和手機培愁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缓窜,“玉大人定续,你說我怎么就攤上這事”⑾矗” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵卧波,是天一觀的道長时肿。 經(jīng)常有香客問我,道長港粱,這世上最難降的妖魔是什么螃成? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任旦签,我火速辦了婚禮,結果婚禮上寸宏,老公的妹妹穿的比我還像新娘宁炫。我一直安慰自己,他們只是感情好氮凝,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布羔巢。 她就那樣靜靜地躺著,像睡著了一般罩阵。 火紅的嫁衣襯著肌膚如雪竿秆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天稿壁,我揣著相機與錄音幽钢,去河邊找鬼。 笑死傅是,一個胖子當著我的面吹牛匪燕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播喧笔,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼帽驯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了溃斋?” 一聲冷哼從身側(cè)響起界拦,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梗劫,沒想到半個月后享甸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡梳侨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年蛉威,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片走哺。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡蚯嫌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出丙躏,到底是詐尸還是另有隱情择示,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布晒旅,位于F島的核電站栅盲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏废恋。R本人自食惡果不足惜谈秫,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一扒寄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拟烫,春花似錦该编、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至喜颁,卻和暖如春稠氮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背半开。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工隔披, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寂拆。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓奢米,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纠永。 傳聞我的和親對象是個殘疾皇子鬓长,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

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

  • JSP總結(經(jīng)典) day1 JSP 定義: 1)Java Server Page, Java EE 組件,本...
    java日記閱讀 3,457評論 0 13
  • JAVA面試題 1尝江、作用域public,private,protected,以及不寫時的區(qū)別答:區(qū)別如下:作用域 ...
    JA尐白閱讀 1,157評論 1 0
  • get和post方法提交涉波,mvc三層模式介紹和servlet的生命周期 servlet是一個比較重要的內(nèi)容,我們以...
    會飛的豬bj閱讀 205評論 0 0
  • jsp的實質(zhì)是什么炭序? 一啤覆、JSP的概念 我們的目標是要搞清楚什么是JSP,他和HTML的靜態(tài)頁面有什么區(qū)別呢惭聂? j...
    會飛的豬bj閱讀 276評論 0 0
  • 婆媳關系是世界難題窗声,但總有解決辦法。作為一個聰明女人辜纲,合格的妻子笨觅,負責任的母親,到底該怎樣應對婆婆呢耕腾?趕緊學學這樣...
    jnrk120閱讀 356評論 0 1