丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當(dāng)前位置:首頁 > 攻略

jsp入門教程看這里!JSP的基本使用總結(jié)

一、JSP的介紹和生成

JSP的全名是Java Server Pages。換句話說,Java的服務(wù)器頁面JSP的主要作用是代表servlet程序右鍵單擊返回HTML頁面的數(shù)據(jù)web目錄(或其他)。- new - JSP/JSPX -輸入文件名-選擇jj

默認(rèn)情況下,第一次訪問JSP頁面時(shí)(運(yùn)行Tomcat服務(wù)器后,在瀏覽器地址欄中輸入路徑),Tomcat服務(wù)器會將JSP頁面轉(zhuǎn)換為Java源文件。class字節(jié)代碼文件(.Java

另一方面,HttpJspBase類直接從http servlet類繼承。換句話說,JSP翻譯的Java類間接繼承自http servlet類,證明JSP頁是servlet程序

三、JSP語法

JSP頭的page命令:

JSP標(biāo)頭中的page指令可以修改JSP頁上的一些重要屬性或行為

以下所有屬性都記錄在page指令中,未出現(xiàn)在默認(rèn)page指令中的所有屬性都使用默認(rèn)值。

(1) contentType屬性:表示JSP返回的數(shù)據(jù)類型,即re()的參數(shù)值

(2) language屬性:表示JSP翻譯后的哪些語言文件(當(dāng)前僅支持Java)

(3) pageEncoding屬性:表示當(dāng)前JSP文件本身的字符集(顯示在IDEA右下角)

(4) import屬性:表示與Java匹配的指南包(指南類)

(5) autoFlush屬性:設(shè)置out輸出流緩沖區(qū)滿后是否自動刷新緩沖區(qū)。默認(rèn)值為true

(6) buffer屬性:設(shè)置out緩沖區(qū)的大小。默認(rèn)值為8kb

注意:如果out緩沖區(qū)已滿,無法自動刷新,則會報(bào)告錯(cuò)誤

(7) errorPage屬性:設(shè)置在JSP頁執(zhí)行錯(cuò)誤時(shí)自動轉(zhuǎn)到的頁(錯(cuò)誤消息頁)的路徑。此路徑通常以斜線開頭,表示請求地址為http://IP 3360 port/engineering path/相應(yīng)的代碼web目錄

(8) isErrorPage屬性:設(shè)置當(dāng)前JSP頁是否為錯(cuò)誤信息頁。默認(rèn)值為false,如果為true,則可以獲取錯(cuò)誤信息

(9)會話屬性:設(shè)置在訪問當(dāng)前JSP頁時(shí)是否創(chuàng)建HttpSession對象。默認(rèn)值為true

(10) extends屬性:設(shè)置默認(rèn)情況下由JSP頁翻譯的Java類繼承的人員

注意:除非有特殊要求,否則建議不要修改上面的默認(rèn)值

四、JSP中常用的腳本

1.腳本聲明

格式:%!聲明Java代碼%

功能:您可以為JSP可以翻譯的Java類定義屬性、方法、靜態(tài)代碼塊、內(nèi)部類等。

功能:不出現(xiàn)在瀏覽器頁面上,僅存在于翻譯的Java類中

代碼演示:聲明使用腳本(此JSP文件在web目錄中稱為Fir)

% @ page content type=' text/HTML;Charset=UTF-8' language='java'%

% @ page import=' java.u%

% @ page import=' java.u%

Html

頭(電影)

標(biāo)題標(biāo)題/標(biāo)題

/head

菩提

%-1。聲明類屬性- %

%!

私有字符串name

Private static mapstring、object map

%

%-2。類方法聲明- %

%!

公共intsum () {

Return 12

}

%

%-3。靜態(tài)代碼塊聲明- %

<%!

static {

Map = new HashMap<String, Object>();

map.put("key1", "value1");

}

%>

</body>

</html>

對應(yīng)的翻譯后的java源文件:

2. 表達(dá)式腳本

格式:<%=表達(dá)式 %>

作用:在瀏覽器的JSP頁面上輸出數(shù)據(jù)(只有此腳本可以在瀏覽器的頁面上輸出數(shù)據(jù))

特點(diǎn):

(1) 所有的表達(dá)式腳本都會被翻譯到對應(yīng)的Java類的_jspService()方法中,故表達(dá)式腳本可以 直接使用_jspService()方法參數(shù)中的對象

(2) 表達(dá)式腳本都會被編譯后的Java類中的out.print()方法輸出到瀏覽器頁面上

(3) 表達(dá)式腳本中的表達(dá)式不能以分號結(jié)束

代碼演示:表達(dá)式腳本的使用(此JSP文件在web目錄下,名為Fir)

<%=22 %> <br/>

<%="可以輸出字符串" %> <br/>

<%=map %> <br/>

<%--使用_jspService方法中的對象--%>

<%=reque("username") %>

啟動Tomcat服務(wù)器后瀏覽器的運(yùn)行結(jié)果:

對應(yīng)的翻譯后的Java源文件(在_jspService方法中):

注意:

1.write方法中的標(biāo)簽、轉(zhuǎn)義字符自動識別為對應(yīng)的

功能,不在頁面輸出,執(zhí)行各自代表的功能

2.out的兩個(gè)方法也在_jspService方法中,也都是java語言

3.只有print、write方法、表達(dá)式腳本中的內(nèi)容才可在瀏覽器中顯示,其余Java代碼的sout在控制臺輸出

3. 代碼腳本

格式:<% Java語句 %>

作用:在JSP頁面中可以編寫需要的Java代碼

特點(diǎn):

(1) 代碼腳本翻譯后都在_jspService方法中,故代碼腳本可以直接使用此方法參數(shù)中的對象

(2) 可以由多個(gè)代碼腳本塊組合完成一個(gè)完整的Java語句

(3) 代碼腳本還可以和表達(dá)式腳本一起組合使用,在JSP頁面上輸出數(shù)據(jù)

代碼演示:代碼腳本的使用(此JSP文件在web目錄下,名為Fir)

<%--1.if語句--%>

<%

int i = 1;

if (i == 1) {

Sy("我愛祖國!");

} else {

Sy("我很愛祖國!");

}

%> <br/>

<%--2.for循環(huán)語句--%>

<%

for (int j = 0 ; j < 3; j++) {

Sy("第" + j + "次循環(huán)");

}

%> <br/>

<%--3.使用_jspService方法參數(shù)中的對象--%>

<%

String username = reque("username");

Sy("username對應(yīng)的值為:" + username);

%>

運(yùn)行結(jié)果:

啟動Tomcat服務(wù)器后在地址欄輸入:http://localhost:8080/MyTest/Fir?username=Jaychou

在控制臺顯示:

對應(yīng)的翻譯后的Java源文件(在_jspService方法中):

五、JSP三種注釋

1.HTML注釋:<!--HTML注釋-->

HTML注釋會被翻譯到JSP文件對應(yīng)的Java類的_jspService方法中,以out.write()輸出到客戶端,

write方法會自動識別標(biāo)簽,執(zhí)行標(biāo)簽對應(yīng)的功能,不會在瀏覽器的頁面上輸出注釋

2.Java注釋:(1) //單行注釋 (2) /*多行注釋*/

Java注釋要寫在聲明腳本和代碼腳本中才被認(rèn)為是Java注釋,會被翻譯到JSP文件對應(yīng)的Java類的_jspService方法中,在對應(yīng)的Java類中也是注釋

3.JSP注釋:<%- -這是JSP注釋- -%>

JSP注釋中的內(nèi)容不會在JSP文件翻譯后的Java類中出現(xiàn),即注釋中的內(nèi)容沒有任何功能

六、JSP九大內(nèi)置對象

JSP的內(nèi)置對象指的是Tomcat服務(wù)器將JSP頁面翻譯為Java類之后內(nèi)部提供的九大對象:

(將page指令的isErrorPage屬性寫成true可以出現(xiàn)exception對象)

request:請求對象

response:響應(yīng)對象

pageContext:JSP的上下文對象

session:會話對象

application:servletContext對象

config:ServletConfig對象

out:JSP輸出流對象

page:指向當(dāng)前JSP的對象

exception:異常對象

七、JSP四大域?qū)ο?/p>

域?qū)ο笫侵缚梢韵馦ap一樣存取數(shù)據(jù)的對象,四個(gè)域?qū)ο蠊δ芤粯?,只是對?shù)據(jù)的存取范圍不同

代碼演示1:四個(gè)域?qū)ο蟠嫒?shù)據(jù)的范圍的不同(在web目錄下創(chuàng)建)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

<title>scope1</title>

</head>

<body>

<h1>頁面</h1>

<%

//向四個(gè)域?qū)ο笾蟹謩e保存數(shù)據(jù)

("key", "pageContext");

reque("key", "request");

("key", "session");

a("key", "application");

%>

<%-- <jsp:forward page=""></jsp:forward>是請求轉(zhuǎn)發(fā)標(biāo)簽,

page屬性設(shè)置請求轉(zhuǎn)發(fā)的路徑 --%>

<jsp:forward page=";></jsp:forward>

</body>

代碼演示2:在web目錄下創(chuàng)建

<head>

<title>Title</title>

</head>

<body>

<h1>頁面</h1>

<%-- JSP頁面中不加任何標(biāo)簽直接輸入的內(nèi)容被write方法輸出在瀏覽器的頁面上 --%>

pageContext域是否有值:<%=("key")%> <br>

request域是否有值:<%=reque("key")%> <br>

session域是否有值:<%=("key")%> <br>

application域是否有值:<%=a("key")%> <br>

</body>

運(yùn)行結(jié)果1:

運(yùn)行結(jié)果2:

注意:若四個(gè)域?qū)ο笤谑褂脮r(shí)范圍都可滿足要求,則使用的優(yōu)先順序是(范圍從小到大):

pageContext --> request --> session --> application

八、JSP的out輸出和re輸出的異同

1.相同點(diǎn):response表示響應(yīng),用于給客戶端(瀏覽器)返回內(nèi)容

out同樣也是用于給客戶端(瀏覽器)輸出內(nèi)容

2.不同點(diǎn):

3.注意:由于官方的代碼中翻譯后的Java代碼底層都是使用out進(jìn)行輸出,故一般都使用out進(jìn)行 輸出,out又分為write方法和print方法:

(1) out.print():會將任何內(nèi)容轉(zhuǎn)換成字符串后調(diào)用write方法輸出

(2) out.write():輸出字符串沒有問題,但輸出int型時(shí)會將int轉(zhuǎn)換成char輸出,導(dǎo)致輸出的并非是想要的數(shù)字而是數(shù)字對應(yīng)的ASCII碼

結(jié)論:JSP頁面的代碼腳本中任何要輸出在瀏覽器的內(nèi)容均使用out.print()方法

九、JSP的常用標(biāo)簽

1. 靜態(tài)包含

(1)使用場景:

(2)使用方法:

<%@include file=""%>

其中file屬性設(shè)置要包含的JSP頁面,以/打頭,代表http://ip:port/工程路徑/,對應(yīng)web目錄

代碼演示1:在web目錄下創(chuàng)建body.jsp

<body>

頭部信息 <br>

主體信息 <br>

<%@include file=";%>

</body>

代碼演示2:在web目錄下創(chuàng)建

<body>

頁腳信息 <br>

</body>

運(yùn)行結(jié)果:

(3)靜態(tài)包含的特點(diǎn):

①靜態(tài)包含不會將被包含的JSP頁面翻譯成.java.class文件

②靜態(tài)包含是把被包含的頁面的代碼拷貝到body.jsp對應(yīng)的Java文件的對應(yīng)位置執(zhí)行輸出

2. 動態(tài)包含

(1)使用方法:

<jsp:include page=””></jsp:include>

其中page屬性設(shè)置要包含的JSP頁面,與靜態(tài)包含一致

(2)動態(tài)包含的特點(diǎn):

①動態(tài)包含將被包含的JSP頁面翻譯成.java.class文件

②動態(tài)包含還可以傳遞參數(shù)

③動態(tài)包含底層使用如下代碼調(diào)用被包含的JSP頁面執(zhí)行輸出:

org.a(request, response, “/”, out, false);

代碼演示1:在web目錄下創(chuàng)建body.jsp

<body>

頭部信息 <br>

主體信息 <br>

<jsp:include page=";>

<jsp:param name="username" value="Jaychou"/>

<jsp:param name="password" value="root"/>

</jsp:include>

</body>

注意:

  1. 設(shè)置參數(shù)的標(biāo)簽要寫在動態(tài)包含之中
  2. 出現(xiàn)Expecting “jsp:param” standard action with “name” and “value” attributes異常,兩個(gè)原因:

①動態(tài)包含中未設(shè)置參數(shù)但沒有把<jsp:include page=””></jsp:include>放在一行上

②動態(tài)包含中加了注釋

代碼演示2:在web目錄下創(chuàng)建

<body>

頁腳信息 <br>

<%=reque("username")%>

</body>

運(yùn)行結(jié)果:

(3)動態(tài)包含的底層原理:

十、ServletContextListener監(jiān)聽器

1. Listener監(jiān)聽器的介紹

(1) Listener監(jiān)聽器是JavaWeb的三大組件之一

(2) Listener監(jiān)聽器是JavaEE的規(guī)范(接口)

(3) Listener監(jiān)聽器的作用是監(jiān)聽某件事物的變化,然后通過回調(diào)函數(shù)反饋給程序做一些處理

2. ServletContextListener監(jiān)聽器

ServletContextListener監(jiān)聽器可以監(jiān)聽ServletContext對象的創(chuàng)建和銷毀(web工程啟動時(shí)創(chuàng)建,停止時(shí)銷毀),監(jiān)聽到創(chuàng)建和銷毀之后都會調(diào)用ServletContextListener監(jiān)聽器的方法進(jìn)行反饋:

public interface ServletContextListener extends EventListener {

//在ServletContext對象創(chuàng)建之后調(diào)用

public void contextInitialized(ServletContextEvent sce);

//在ServletContext對象銷毀之后調(diào)用

public void contextDestroyed(ServletContextEvent sce);

}

3. ServletContextListener監(jiān)聽器的使用步驟

(1) 編寫一個(gè)類實(shí)現(xiàn)ServletContextListener接口

(2) 重寫兩個(gè)方法

(3) 在web.xml文件中配置監(jiān)聽器

代碼演示1:創(chuàng)建一個(gè)類

ublic class ListenerTest implements ServletContextListener {

@Override

public void contextInitialized(ServletContextEvent servletContextEvent) {

Sy("ServletContext對象創(chuàng)建");

}

@Override

public void contextDestroyed(ServletContextEvent servletContextEvent) {

Sy("ServletContext對象銷毀");

}

}

代碼演示2:在web.xml中配置

<listener>

<!-- <listener-class>標(biāo)簽中寫上述程序的全類名 -->

<listener-class>com.qizegao.;/listener-class>

</listener>

運(yùn)行結(jié)果:

Tomcat服務(wù)器啟動之后控制臺輸出ServletContext對象創(chuàng)建

Tomcat服務(wù)器停止之后控制臺輸出ServletContext對象銷毀

注意:

  1. 查看翻譯后的Java源文件的方法:啟動Tomcat服務(wù)器訪問到JSP頁面之后在控制臺輸出的信息的前端找到Using CATALINA_BASE中的路徑,在硬盤中打開此目錄,點(diǎn)擊work --> Catalina --> localhost,找到對應(yīng)的工程文件夾尋找即可
  2. 訪問JSP頁面其實(shí)是在執(zhí)行對應(yīng)的翻譯后的Java代碼的_jspService方法:翻譯后的Java類中沒有service方法,而是重寫了父類的_jspService方法,這個(gè)方法會被父類的service方法調(diào)用


[機(jī)智]點(diǎn)擊獲取資料

1.《jsp入門教程看這里!JSP的基本使用總結(jié)》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《jsp入門教程看這里!JSP的基本使用總結(jié)》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2494261.html

上一篇

當(dāng)我看了20集《陽光之下》

下一篇

2016年最新中國電商網(wǎng)站活躍度全球排名

jsp入門教程看這里!Javaweb學(xué)習(xí)(五)JSP技術(shù)

jsp入門教程看這里!Javaweb學(xué)習(xí)(五)JSP技術(shù)

jsp入門教程相關(guān)介紹,JSP技術(shù) 提問量: 15滿分3360 100 響應(yīng)時(shí)間:11-01 22336020 ~ 再做一次 100分 一.選擇題(共8題,52.8分) 1.JSP文件在第一次運(yùn)行時(shí)由JSP引擎編譯為()文件...

jsp入門教程,干貨看這篇!關(guān)于Java中的 JSP 你了解多少?

jsp入門教程,干貨看這篇!關(guān)于Java中的 JSP 你了解多少?

jsp入門教程相關(guān)介紹,JSP代表Java服務(wù)器頁面。應(yīng)用程序服務(wù)器端使用的編程工具。 JSP 基本上用于支持平臺 – 獨(dú)立和動態(tài)的方法來構(gòu)建 Web 依賴的應(yīng)用程序。JSP 頁面類似于 ASP 頁面,因?yàn)樗鼈兪窃诜?wù)器上編...

jsp入門教程看這里!Java教程:JSP的九大內(nèi)置對象是什么?JSP作用是什么?

jsp入門教程看這里!Java教程:JSP的九大內(nèi)置對象是什么?JSP作用是什么?

jsp入門教程相關(guān)介紹,(1)問題分析: 考官主要想審查你前端知識的基本功。這樣的問題不僅可以問四大范圍,還可以問OSI 7層物理模型、共同標(biāo)簽、角色等基礎(chǔ)知識。(大衛(wèi)亞設(shè))。 (2)核心答案講解: 1)request對象 ...

jsp入門教程,干貨看這篇!「JSP入門」JavaWeb項(xiàng)目如SSH或SSM等如何提升80%以上效率

jsp入門教程,干貨看這篇!「JSP入門」JavaWeb項(xiàng)目如SSH或SSM等如何提升80%以上效率

jsp入門教程相關(guān)介紹,Java web項(xiàng)目的主流MVC框架 結(jié)構(gòu)字符串希伯來人(SSH) 最輕的理學(xué)SSM(Structs Spring Mybatis) 最常見(JSP servlet JavaBean) Java we...

jsp入門教程專題之干貨分享:帶你玩轉(zhuǎn)JSP網(wǎng)站開發(fā)技術(shù)

jsp入門教程專題之干貨分享:帶你玩轉(zhuǎn)JSP網(wǎng)站開發(fā)技術(shù)

jsp入門教程相關(guān)介紹,Java server pages(JSP)是一種服務(wù)器端編程技術(shù),使您能夠創(chuàng)建獨(dú)立于動態(tài)平臺的方法來構(gòu)建基于web的應(yīng)用程序。 JSP 可以訪問 Java API 的整個(gè)家族,包括訪問企業(yè)級數(shù)據(jù)庫的...

jsp入門教程專題之web編程教程-jsp入門學(xué)習(xí)的筆記

jsp入門教程專題之web編程教程-jsp入門學(xué)習(xí)的筆記

jsp入門教程相關(guān)介紹,1課程復(fù)習(xí) 會話管理 1)會話管理:管理瀏覽器和服務(wù)器之間會話期間生成的會話數(shù)據(jù) 2)cookie技術(shù):會話數(shù)據(jù)存儲在瀏覽器客戶端。 Cookie核心的API: 2.1 在服務(wù)器端創(chuàng)建Cookie對象...

jsp入門教程,干貨看這篇!一文學(xué)會JSP

jsp入門教程,干貨看這篇!一文學(xué)會JSP

jsp入門教程相關(guān)介紹,構(gòu)建web應(yīng)用程序 使用IDEA構(gòu)建web應(yīng)用程序。 新建項(xiàng)目 添加新Tomcat 選擇正確的Tomcat 選擇Filsh 創(chuàng)建一個(gè)好目錄,如下所示 自動生成的Web。XML文件如下 ?嗯?Xml版本...

jsp入門教程,干貨看這篇!Java學(xué)習(xí)知識點(diǎn):小白如何掌握J(rèn)SP技術(shù)?

jsp入門教程,干貨看這篇!Java學(xué)習(xí)知識點(diǎn):小白如何掌握J(rèn)SP技術(shù)?

jsp入門教程相關(guān)介紹,今天,廣州編輯陳峰將告訴大家如何掌握零基礎(chǔ)JSP技術(shù)。請看下面。(大衛(wèi)亞設(shè))。 一、Java基本開發(fā)JSP概述 1.關(guān)于JSP Javaserver Pages (JSP)從單詞“server”中可以...