前言:我是一名Java后臺(tái)學(xué)習(xí)者,但是后臺(tái)程序員也需要掌握一定的前端技術(shù)。雖然說現(xiàn)在前端基本上是react、vue、angular三分天下,但是作為一名Java程序員,如果說不會(huì)jsp,那未免有點(diǎn)說不過去。接下來就了解一下jsp技術(shù)。 一、簡(jiǎn)介:jsp是一種動(dòng)態(tài)網(wǎng)頁技術(shù),全稱是java server pages,常見的動(dòng)態(tài)網(wǎng)頁技術(shù)還有asp和php。jsp可以近似的理解為java+html,但是jsp的實(shí)質(zhì)就是servlet,也就是java類。我們知道在servlet中可以通過 二、hello world:新建一個(gè)web項(xiàng)目,然后new jsp file:
把項(xiàng)目部署到tomcat服務(wù)器上,然后運(yùn)行。在瀏覽器中訪問: 三、jsp語法:JSP語法分為三種類型: 1、編譯器指令: include:用來導(dǎo)入文件的,分靜態(tài)導(dǎo)入和動(dòng)態(tài)導(dǎo)入。
靜態(tài)導(dǎo)入: page: taglib:用來引入標(biāo)簽庫 2、腳本語法: 注釋:<%-- ... --> 聲明:<%! ... %>
這就是聲明,轉(zhuǎn)譯后就是java類的成員變量。所以聲明就是用來定義類的成員變量和成員方法的,用得并不多。 表達(dá)式:<% =... %>
那么在頁面會(huì)直接輸出3,在轉(zhuǎn)譯后的java文件中就是
也就是在<% %>之間就可以寫java代碼。 3、動(dòng)作語法: < jsp:forward>:用來做轉(zhuǎn)發(fā)的,看下面的例子: index.jsp:
hello.jsp:
訪問index.jsp頁面,就會(huì)轉(zhuǎn)發(fā)到hello.jsp,在頁面中就會(huì)輸出hello。 四、九大內(nèi)置對(duì)象:所謂內(nèi)置對(duì)象,就是jsp已經(jīng)給我們提供了的對(duì)象。因?yàn)閖sp轉(zhuǎn)譯后就是servlet,而servlet中是已經(jīng)定義了一些對(duì)象的。jsp有9大內(nèi)置對(duì)象,接下來就看看這九大內(nèi)置對(duì)象。 1、request:就是HttpServletRequest的對(duì)象,代表來自客戶端的請(qǐng)求,關(guān)于它的方法用得較多的是getParameter、getParameterNames、getAttribute、setAttribute等方法。 2、response:就是HttpServletResponse的對(duì)象,代表客戶端的響應(yīng),也就是可以通過response對(duì)象來組織發(fā)送到客戶端的數(shù)據(jù)。 3、out:像客戶端輸出內(nèi)容的對(duì)象。 4、session:表示客戶端與服務(wù)器的一次會(huì)話,用戶瀏覽某個(gè)網(wǎng)站時(shí)從進(jìn)入到關(guān)閉所經(jīng)過的時(shí)間session實(shí)際上是一個(gè)特定的時(shí)間概念。在服務(wù)器中一個(gè)用戶對(duì)應(yīng)一個(gè)session。當(dāng)一個(gè)用戶訪問一個(gè)服務(wù)器時(shí),可能會(huì)在不同頁面之間切換,服務(wù)器應(yīng)當(dāng)通過某種方法知道這是同一個(gè)對(duì)象,這就用到了session。 5、application:實(shí)現(xiàn)用戶間的數(shù)據(jù)共享,可存放全局變量。開始于服務(wù)器的啟動(dòng),終止于服務(wù)器的關(guān)閉。常用方法是setAttribute和getAttribute。 6、pageContext:頁面上下文對(duì)象,封裝了當(dāng)前jsp頁面的運(yùn)行信息。也就是說,如果需要當(dāng)前頁面的信息傳到其他頁面,只需要傳pageContext即可,通過pageContext就可以獲得request、session等九個(gè)對(duì)象的信息。 7、config:提供一些配置信息,一般用不到。 8、page:代表正在運(yùn)行的由jsp文件產(chǎn)生的類對(duì)象,一般不建議使用。 9、exception:代表了jsp文件運(yùn)行時(shí)產(chǎn)生的異常對(duì)象,也用得很少。 總結(jié):本文簡(jiǎn)單的介紹了jsp基礎(chǔ)語法以及九大內(nèi)置對(duì)象,特別注意如果開發(fā)工具用的是idea,那么需要添加servlet-api和jsp-api兩個(gè)jar包,否則可能導(dǎo)致內(nèi)置對(duì)象的某些方法無法調(diào)用。jsp的本質(zhì)是servlet,所以學(xué)習(xí)的時(shí)候應(yīng)該先學(xué)servlet,再來學(xué)jsp就好理解了。 |
|