Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 精品国产日韩久久亚洲,99精品一区二区三区,日韩精品一区二区三区视频网

          整合營(yíng)銷(xiāo)服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢(xún)熱線(xiàn):

          你知道的不一定是最好的,Java學(xué)習(xí)JSP知識(shí)點(diǎn)總結(jié)

          、JSP的本質(zhì)就是servlet.

          JSP運(yùn)行規(guī)則:先轉(zhuǎn)化成Java文件,然后編譯成class文件,最后才可以執(zhí)行。

          了解了servlet之后,好多JSP的知識(shí)可以從JSP翻譯后的Java文件中看出。

          JSP頁(yè)面轉(zhuǎn)化為Java文件后所在的位置:

          Eclipse的工作目錄下的

          .metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\Demo0808\org\apache\jsp

          二、JSP中的Java代碼段

          介紹下我自己的Java學(xué)習(xí)群:548511899,不管你是小白還是大牛,小編我都挺歡迎,不定期分享干貨,包括我自己整理的一份2017最新的Java資料和零基礎(chǔ)到學(xué)成出山的全套教程,歡迎所有喜歡Java的小伙伴。

          JSP中的代碼片段,翻譯到Servlet的方法中,所以可以寫(xiě)Java方法中允許的代碼,

          不能寫(xiě)訪(fǎng)問(wèn)標(biāo)識(shí)符等在方法中都不允許的代碼。

          腳本中的代碼要保持結(jié)構(gòu)完整,可以分開(kāi)寫(xiě)到兩個(gè)腳本中,比如:

          <% for(int I = 0; I < 10; I ++){ %> hello <% } %>

          Java片段翻譯為Servlet的時(shí)候是按照從上向下的順序的。

          三、JSP注釋

          JSP注釋?zhuān)涸贘SP源碼界面可見(jiàn),Java文件中不可見(jiàn),頁(yè)面源碼中不可見(jiàn)。

          HTML注釋?zhuān)涸诟鱾€(gè)界面都可見(jiàn)。

          Java注釋?zhuān)挥性陧?yè)面源碼中不可見(jiàn)

          四、JSP指令

          1.page指令

          • language屬性:指示當(dāng)前的JSP頁(yè)面會(huì)被翻譯成何種語(yǔ)言。

          • ContentType:指定瀏覽器的編碼方式,瀏覽器使用。

          • pageEncoding:指定當(dāng)前頁(yè)面的編碼方式,供瀏覽器使用。

          • autoFlush:是否自動(dòng)刷新,默認(rèn)true.

          • errorPage:當(dāng)前頁(yè)面發(fā)生錯(cuò)誤后,轉(zhuǎn)發(fā)到的頁(yè)面,地址欄不變化。

          • buffer:緩沖的大小

          • isErrorPage:指定當(dāng)前頁(yè)面是否為錯(cuò)誤頁(yè)面,默認(rèn)是false,此時(shí)內(nèi)置對(duì)象Exception不可用。true的時(shí)候才可以使用。

          • isELIgnored:是否忽略El表達(dá)式,默認(rèn)不忽略。

          2.include靜態(tài)加載。

          被包含頁(yè)面的代碼完全加到目標(biāo)頁(yè)面中,轉(zhuǎn)化為Java文件的時(shí)候只轉(zhuǎn)化目標(biāo)頁(yè)面,被包含頁(yè)面在Java文件中也有輸出。

          file屬性

          五、JSP動(dòng)作標(biāo)簽

          最終會(huì)被翻譯成Java代碼執(zhí)行。(Java學(xué)習(xí)交流群 548511899)

          1.forword標(biāo)簽:

          只有page屬性。此時(shí)路徑是相對(duì)于服務(wù)器端的。轉(zhuǎn)發(fā)。 這個(gè)標(biāo)簽可以訪(fǎng)問(wèn)WEB-INF目錄下的文件 不帶參數(shù)其實(shí)標(biāo)簽和結(jié)束標(biāo)簽不可以分開(kāi)。 可以通過(guò)param傳遞參數(shù)。

          2.include標(biāo)簽:

          和指令相比,為動(dòng)態(tài)包含,被包含界面和杰界面都生成Java文件和class文件

          3.tablib標(biāo)簽

          引入jstl時(shí)使用

          六、web的四大域?qū)ο螅?/h1>

          pageContext(page域):作用范圍是整個(gè)JSP頁(yè)面,是四大作用域中最小的一個(gè);生命周期是當(dāng)對(duì)JSP的請(qǐng)求時(shí)開(kāi)始,當(dāng)響應(yīng)結(jié)束時(shí)銷(xiāo)毀。

          Request:作用范圍是整個(gè)請(qǐng)求鏈(請(qǐng)求轉(zhuǎn)發(fā)也存在);生命周期是在service方法調(diào)用前由服務(wù)器創(chuàng)建,傳入service方法。整個(gè)請(qǐng)求結(jié)束,request生命結(jié)束。

          Session:作用范圍是一次會(huì)話(huà)。

          servletContext(application域):作用范圍是整個(gè)Web應(yīng)用。當(dāng)Web應(yīng)用被加載進(jìn)容器時(shí)創(chuàng)建代表整個(gè)web應(yīng)用的ServletContext對(duì)象,當(dāng)服務(wù)器關(guān)閉或Web應(yīng)用被移除時(shí),ServletContext對(duì)象跟著銷(xiāo)毀。

          四個(gè)域的作用域范圍大小:PageContext (page域) < request < session < servletContext(application域)

          sp

          1 什么是JSP

          Java Server Pages : Java服務(wù)器端頁(yè)面,也和Servlet一樣,用于動(dòng)態(tài)web技術(shù)!

          最大的特點(diǎn):

          寫(xiě)Jsp就像寫(xiě)HTML

          區(qū)別:

          HTML只給用戶(hù)提供靜態(tài)的數(shù)據(jù)

          JSP頁(yè)面中可以嵌套Java代碼,為用戶(hù)提供動(dòng)態(tài)數(shù)據(jù)

          2 jSP原理

          思路: JSP到底怎么執(zhí)行的!

          代碼層面沒(méi)有任何問(wèn)題

          服務(wù)器內(nèi)部 工作

          tomcat 中有一個(gè)work目錄

          idea中使用tomcat會(huì)在idea中產(chǎn)生一個(gè)work目錄

          這個(gè)是 idea tomcat的工作空間

          路徑:

          瀏覽器向服務(wù)器發(fā)送請(qǐng)求,不管訪(fǎng)問(wèn)什么資源,起始都是在訪(fǎng)問(wèn)Servlet

          JSP最終也會(huì)被轉(zhuǎn)換成為一個(gè)Java類(lèi)

          JSP本質(zhì)上就是一個(gè)Servlet

          1.判斷請(qǐng)求

          2.內(nèi)置對(duì)象

          3.輸出頁(yè)面前增加的代碼

          以上的這些個(gè)對(duì)象我們可以在JSP頁(yè)面中直接使用

          jsp原理圖

          在JSP頁(yè)面中;

          只要是Java代碼就會(huì)原封不動(dòng)的輸出

          如果是HTML代碼,就會(huì)被轉(zhuǎn)換

          這樣的格式,輸出到前端

          3 JSP基礎(chǔ)語(yǔ)法

          任何語(yǔ)言都有自己的語(yǔ)法,Java中有,JSP作為Java技術(shù)的一種應(yīng)用,它擁有一些自己的擴(kuò)容的語(yǔ)法,Java所有語(yǔ)法都支持

          JSP表達(dá)式

          述(最多18字

          jsp 腳本片段

          腳本片段的實(shí)現(xiàn)

          JSP聲明

          JSP聲明: 會(huì)被編譯到JSP生成Java類(lèi)中! 其他的,就會(huì)被生成到 _jspService 方法中

          在JSP中嵌入Java代碼即可

          jsp的注釋?zhuān)粫?huì)在客戶(hù)端顯示,HTML就會(huì)

          4 JSP指令

          總結(jié):

          在實(shí)際開(kāi)發(fā)中建議使用 下面 jsp:include/的方式

          如果使用上面那一種的話(huà) 如果在header.jsp或者在footer.jsp中聲明了 int a=1; 又在當(dāng)前jsp中聲明了相同的變量 在jsp頁(yè)面不會(huì)報(bào)錯(cuò),去了瀏覽器里面 就報(bào)錯(cuò)了。

          所以建議使用 jsp標(biāo)簽 進(jìn)行頁(yè)面拼接

          5 九大內(nèi)置對(duì)象

          >PageContext 存東西

          >Request 存東西

          >Response

          >Session 存東西

          >Application 【ServletContext 】 存東西

          >config 【ServletConfig】

          >out

          >page

          >exception

          equest:客戶(hù)端向服務(wù)器發(fā)送請(qǐng)求,產(chǎn)生的數(shù)據(jù),用戶(hù)看完了就沒(méi)作用了,比如:新聞 用戶(hù)看完了沒(méi)作用了。

          session:客戶(hù)端向服務(wù)器發(fā)送請(qǐng)求,產(chǎn)生的數(shù)據(jù),用戶(hù)用完了一會(huì)還有用,比如:購(gòu)物車(chē);

          application:客戶(hù)端向服務(wù)器發(fā)送請(qǐng)求,產(chǎn)生的數(shù)據(jù),一個(gè)用戶(hù)用完了,其他用戶(hù)還可能使用:比如:聊天數(shù)據(jù)

          6 JSP標(biāo)簽 JSTL標(biāo)簽 EL表達(dá)式

          開(kāi)始之前導(dǎo)入所學(xué)的依賴(lài)

          EL表達(dá)式: ${ }

          >獲取數(shù)據(jù)

          >執(zhí)行運(yùn)算

          >獲取web開(kāi)發(fā)的常用對(duì)象

          JSP 標(biāo)簽

          發(fā)送:

          接收:

          JSTL 表達(dá)式

          JSTL表達(dá)式的使用就是為了彌補(bǔ)HTML標(biāo)簽的不足;它自定義許多標(biāo)簽,供我們使用,標(biāo)簽的功能和Java代碼一樣

          核心標(biāo)簽

          JSTL 標(biāo)簽庫(kù)使用步驟

          引入對(duì)應(yīng)的taglib

          使用其中的方法

          在Tomcat也需要引入jstl的包,否則會(huì)報(bào)錯(cuò)

          c:if

          c:choose c:when

          c:forEach

          天千鋒廣州小編就給大家分享零基礎(chǔ)如何掌握J(rèn)SP技術(shù),下面一起來(lái)看看吧!

          一、Java初級(jí)開(kāi)發(fā)之jsp概述

          1.關(guān)于jsp

          JavaServer Pages簡(jiǎn)稱(chēng)jsp,從“server”這個(gè)詞可以看出,這其實(shí)也是一門(mén)java服務(wù)端技術(shù),其實(shí)可以簡(jiǎn)單的把jsp認(rèn)為是servlet,一點(diǎn)錯(cuò)也沒(méi)有。Jsp的實(shí)質(zhì),就是客戶(hù)端需要的資源是通過(guò)jsp技術(shù)動(dòng)態(tài)生成的。

          2.jsp的技術(shù)原理

          1)當(dāng)客戶(hù)端在訪(fǎng)問(wèn)一個(gè)jsp資源時(shí),服務(wù)器上有相應(yīng)的servlet來(lái)負(fù)責(zé)jsp資源,那么該servlet將會(huì)把jsp頁(yè)面翻譯成一個(gè)servlet,然后執(zhí)行該servlet的service方法。

          2)服務(wù)器將jsp翻譯成java程序(就是一個(gè)Servlet),然后執(zhí)行該Servlet的service方法,在方法內(nèi)部動(dòng)態(tài)地向客戶(hù)端寫(xiě)html代碼。

          因此jsp就是一個(gè)servlet,也就是jsp頁(yè)面將被翻譯成servlet

          3.jsp與servlet的選擇

          jsp就是servlet,那么如果碰到需要寫(xiě)繁多的html代碼,建議使用jsp,如果需要寫(xiě)繁多的java代碼,建議使用servlet。

          ?二、JSP技術(shù)詳解

          1.JSP腳本

          就是怎樣在jsp頁(yè)面中使用java代碼,使用了腳本的地方,就不會(huì)作為輸出流的內(nèi)容,而是作為java代碼來(lái)執(zhí)行。使用方式有三種:

          1) <% java代碼 %>

          jav代碼會(huì)被作為程序的一部分來(lái)執(zhí)行,而不會(huì)被翻譯成out.write(),這是常用的。

          2) <% java代碼 %>

          會(huì)被翻譯成 out.print(java代碼)

          3) <% java代碼 %>

          聲明成員變量。

          4)jsp的注釋方式

          · html的注釋?zhuān)?/p>

          用戶(hù)看得到,程序員也看得到

          · java的注釋?zhuān)?/ 單行注釋 /多行注釋/

          用戶(hù)看不到,但是會(huì)被翻譯

          · jsp的注釋?zhuān)?/p>

          用戶(hù)看不到,不會(huì)被翻譯,只有程序員在寫(xiě)jsp頁(yè)面時(shí)才看得到。

          2.三大指令

          1)page指令

          page指令是用于告訴服務(wù)器該如何翻譯此jsp頁(yè)面。通過(guò)page指令的屬性來(lái)指明翻譯的效果。

          · language: 指的是jsp頁(yè)面支持哪種語(yǔ)言,只支持java,所以該屬性可以省略

          · pageEncoding和contentType寫(xiě)一個(gè)就行,建議使用pageEncoding,更加簡(jiǎn)單

          · session:默認(rèn)值是true,默認(rèn)情況下服務(wù)器會(huì)為該頁(yè)面開(kāi)辟一個(gè)session空間

          · import:用于導(dǎo)入該頁(yè)面中的java類(lèi)需要用到的包

          · errorPage:當(dāng)發(fā)生錯(cuò)誤時(shí)跳轉(zhuǎn)到的資源,注意,該地址是一個(gè)服務(wù)器地址。

          · isErrorPage:默認(rèn)值是false。當(dāng)在web.xml中配置錯(cuò)誤頁(yè)面時(shí),需要將該jsp頁(yè)面的isErrorPage設(shè)為true.

          404

          /error.jsp

          總結(jié):一般情況下,page指令就這么寫(xiě)即可:

          2)include指令:靜態(tài)包含,file屬性使用的是服務(wù)器地址。

          include指令是用于在一個(gè)jsp頁(yè)面中包含另一個(gè)jsp頁(yè)面,兩個(gè)頁(yè)面組合成一個(gè)頁(yè)面發(fā)送給客戶(hù)端。

          所謂的靜態(tài)包含,在翻譯時(shí)是把被包含的jsp頁(yè)面寫(xiě)給客戶(hù)端。那么此時(shí)客戶(hù)端拿到的是兩套html標(biāo)簽。

          3)taglib指令:標(biāo)簽庫(kù)

          taglib指令用于引入第三方標(biāo)簽庫(kù),通過(guò)taglib指令中的prefix指明前綴,通過(guò)前綴來(lái)使用第三方標(biāo)簽庫(kù)中的標(biāo)簽

          3.四大域?qū)ο?(jsp有四個(gè),servlet有三個(gè)(request,session,servletContext))

          1) pageContext

          (1)pageContext作為域?qū)ο?/p>

          · 描述當(dāng)前page的上下文。那么pageContext對(duì)象是一個(gè)域?qū)ο螅^域?qū)ο螅褪翘峁┝艘粋€(gè)區(qū)域,用來(lái)存儲(chǔ)數(shù)據(jù)。因此當(dāng)前的page就能向pageContext對(duì)象中存儲(chǔ)數(shù)據(jù).

          pageContext域?qū)ο蟮淖饔梅秶寒?dāng)前page(頁(yè)面)

          setAttribute(String key,Object value);

          getAttribute(String key);

          removeAttribute(String key);

          · 向其他域?qū)ο笾胁僮鲾?shù)據(jù).

          pageContext.setAttribute(String key,Object value, int scope);向其他域?qū)ο笾写嬷?/p>

          pageContext.getAttribute(String key, int scope);向其他域?qū)ο笾腥≈?/p>

          pageContext.removeAttribute(String key, int scope);向其他域?qū)ο笾幸瞥?/p>

          int scope來(lái)自于PageContext類(lèi)的常量

          REQUEST_SCOPE: 表示request域

          SESSION_SCOPE: 表示session域

          APPLICATION_SCOPE: 表示application域

          · findAttribute(String key):Object :這是通過(guò)鍵,向所有域中搜索數(shù)據(jù)。

          搜索的順序:

          pageContext->request->session->application

          (2)可以通過(guò)pageContext對(duì)象來(lái)獲取其他八個(gè)內(nèi)置對(duì)象

          通過(guò)pageContext的get*()來(lái)獲得。

          2)request

          作用范圍:一次請(qǐng)求

          3)session

          作用范圍:一次會(huì)話(huà)

          4)application

          作用范圍:當(dāng)前web應(yīng)用

          4.九大內(nèi)置對(duì)象

          所謂的內(nèi)置對(duì)象,即在jsp頁(yè)面的腳本中能直接使用的java對(duì)象。

          · out: 輸出流

          當(dāng)通過(guò)out的write()寫(xiě)內(nèi)容時(shí),實(shí)際是往out的緩沖區(qū)(默認(rèn)大小是8kb)中去寫(xiě),有兩種情況導(dǎo)致緩沖區(qū)的內(nèi)容會(huì)沖刷進(jìn)底層的輸出流中

          1)out對(duì)象被銷(xiāo)毀

          2)out的緩沖區(qū)不夠用了。其實(shí)我們可以設(shè)置out緩沖區(qū)的大小。如果緩沖區(qū)是0kb,那么out就把內(nèi)容直接寫(xiě)到response緩沖區(qū)中。

          · page:this,表示當(dāng)前的Servlet對(duì)象

          · pageContext:重點(diǎn),表示當(dāng)前page的上下文對(duì)象,也是一個(gè)域?qū)ο?/p>

          · session:當(dāng)jsp頁(yè)面的page指令的session屬性為true時(shí),才會(huì)有session對(duì)象

          · request:

          · response

          · exception 當(dāng)jsp頁(yè)面的page指令的isErrorPage屬性為true時(shí),才會(huì)有exception對(duì)象

          · application: 實(shí)際就是ServletContext對(duì)象

          · config:實(shí)際就是ServletConfig對(duì)象

          5.Jsp標(biāo)簽

          1) jsp:include

          動(dòng)態(tài)包含:在一個(gè)頁(yè)面中包含另一個(gè)頁(yè)面的內(nèi)容

          和靜態(tài)的區(qū)別:

          靜態(tài)包含會(huì)在翻譯的過(guò)程中直接翻譯被包含的頁(yè)面,被包含的頁(yè)面不會(huì)產(chǎn)生java文件。

          而動(dòng)態(tài)包含會(huì)在翻譯的過(guò)程中只翻譯自己頁(yè)面的內(nèi)容,被包含的頁(yè)面的翻譯交給相應(yīng)的類(lèi)來(lái)完成,被包含的頁(yè)面會(huì)產(chǎn)生java文件,實(shí)際開(kāi)發(fā)中更加常用動(dòng)態(tài)包含。

          2)jsp:forward

          請(qǐng)求轉(zhuǎn)發(fā),與servlet中的請(qǐng)求轉(zhuǎn)發(fā)的效果一致。


          主站蜘蛛池模板: 日韩免费观看一区| 亚洲av无码一区二区三区不卡| 中文字幕一区日韩在线视频| 亚洲国产激情在线一区| 福利在线一区二区| 久久无码AV一区二区三区| 在线精品亚洲一区二区小说| 国产福利电影一区二区三区久久久久成人精品综合 | 久久国产精品无码一区二区三区 | 蜜臀AV免费一区二区三区| 亚洲中文字幕丝袜制服一区| 国产一区二区在线观看视频| 日本一区二区三区爆乳| 精品无码一区二区三区电影| 无码视频一区二区三区在线观看| 国产福利电影一区二区三区久久久久成人精品综合 | 人妻少妇AV无码一区二区| 一区二区在线视频观看| 精品女同一区二区| 无码精品人妻一区二区三区影院| 美女视频一区二区三区| 日韩精品中文字幕视频一区| 韩国福利视频一区二区| 国产精品一区二区无线| 四虎永久在线精品免费一区二区 | 在线精品动漫一区二区无广告| 久久毛片免费看一区二区三区 | 亚洲AV无码一区二区三区性色| 精品无码AV一区二区三区不卡| 91在线一区二区三区| 中文字幕在线一区二区在线| 色一乱一伦一图一区二区精品| 亚洲制服中文字幕第一区| 国产99视频精品一区| 无码一区二区三区AV免费| 日本韩国一区二区三区| 亚洲国模精品一区| 亚洲AV无码一区二区二三区软件 | 日本一区视频在线播放| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 国产一区二区视频在线播放|