1.什么是jsp?
sun公司制定的一種服務(wù)器端動態(tài)生成頁面的技術(shù)規(guī)范
它本質(zhì)上還是Servlet
2.jsp的組成
1.html(css,js)
2.java代碼
①java代碼片段/jsp腳本<% %>
②jsp表達(dá)式<%= %>
③jsp聲明<%! %>
3.制定
①page指令
import屬性(導(dǎo)入)
pageEncoding屬性
contentType屬性(設(shè)置文本的類型和編碼)
session屬性 true/false 若為false,jsp就不能使用session這個隱含對象
isELlgnorde屬性 true/false 是否忽略el表達(dá)式,若為true,忽略
②include指令(引入文件對頁面公共部分,,我們可以使用相同的jsp文件,并使用include指令導(dǎo)入
如此可以實現(xiàn)代碼的優(yōu)化)
file屬性
③taglib指令 用于導(dǎo)入標(biāo)簽
uri屬性 標(biāo)簽文件的命名空間
prefix屬性 命名空間的前綴
4.注釋
①
注釋中若有java代碼,會執(zhí)行,但不會在頁面上輸出
②<%-- --%>
jsp中特有的注釋,注釋中若有java代碼,會忽略
二、jsp源文件如何轉(zhuǎn)換成.java文件
html --> service(),使用out.write()輸出
<% %> --> service(),照搬
<%= %> --> service(),使用out.print()輸出
指令 --> 會影響源代碼的生成,如導(dǎo)包
<%! %> --> jsp聲明中定義的變量回變?yōu)镾ervlet對應(yīng)的成員變量,聲明的方法會變成Servlet成員方法
jsp隱含對象
在jsp中可以直接使用的對象,這些對象是在jsp執(zhí)行前初始化的,其實是在生成service方法開頭初始化的,其實是在生成service方法開頭初始化 的
包含九個隱含對象
a、request
HttpServletRequest
b、response
HttpServletResponse
c、out
JSPWriter==PrinterWriter
d、conf
就是ServletConfig,可以讀取jsp的配置參數(shù)
e、application
ServletContext
f、exeception
Throwable是頁面發(fā)生的異常,只有頁面發(fā)生異常時,該對象才會有效
h、page
Object 代表頁面本身
i、pageContext
是pageContext的實例,服務(wù)器會為每一個jsp實例(指的是jsp對應(yīng)的那個Servlet對象創(chuàng)建一個唯一的一個pageContext,可以通過該實例,獲取其他八個對象)
jsp隱藏對象訪問范圍 從小到大
pageContext 只能對應(yīng)jsp實例自己可以訪問,生命周期從對應(yīng)的jsp對象創(chuàng)建到j(luò)sp對象消亡
request 一次請求能訪問,生命周期在請求和響應(yīng)周期
session 一次會話期間能訪問,多起請求和響應(yīng)期間都存在
ServletContext 整個應(yīng)用內(nèi)部所有的應(yīng)用組件都能訪問,除非服務(wù)器關(guān)閉,否則會一直存在

