注釋: <%-- --%>:jsp的注釋,客戶端看不見(jiàn) <!-- -->:客戶端可以看見(jiàn) scriptlet(腳本小程序) <% %>:局部變量和編寫(xiě)語(yǔ)句 與(<jsp:scriptlet></jsp:scriptlet>)效果一樣 <%! %>:全局變量,方法,類 <%= %>:輸出一個(gè)變量或者一個(gè)具體內(nèi)容 pageEncoding指的是JSP文件本身的編碼,而contentType中的charset指的是服務(wù)器發(fā)送給客戶端的內(nèi)容編碼 靜態(tài)包含語(yǔ)法:(先包含后編譯) <%@ include file=""%> 動(dòng)態(tài)包含語(yǔ)法: <jsp:include page = ""></jsp:include> 跳轉(zhuǎn)指令:(服務(wù)器端跳轉(zhuǎn))(立刻跳轉(zhuǎn)) <jsp:forward page=""> <jsp:param name = "參數(shù)名稱" value = "參數(shù)內(nèi)容"/> </jsp:forward> (客戶端跳轉(zhuǎn))(執(zhí)行完后再跳轉(zhuǎn)) <% response.sendRedirect("www.baidu.com"); %> <% response.setHeader("refresh","0;URL=www.baidu.com"); %> getParameter :得到的都是 String 類型的,獲取 POST/GET 傳遞的參數(shù)值,客戶端重定向時(shí) getAttribute 則可以是對(duì)象,獲取對(duì)象容器中的數(shù)據(jù)值,服務(wù)器端重定向時(shí),forward 函數(shù),獲取 SESSION 的值 9個(gè)內(nèi)置對(duì)象: pageContext(PageContext):JSP的頁(yè)面容器 request(HttpServletRequest):請(qǐng)求信息 response(HttpServletResponse):回應(yīng)信息 session(HttpSession):用來(lái)保存每一個(gè)用戶的信息 application(ServletContext):表示所有用戶的共享信息 config(ServletConfig):服務(wù)器配置,可以取得初始化參數(shù) out(JspWriter):頁(yè)面輸出 page(Object):表示從該頁(yè)面中表示出來(lái)的一個(gè)Servlet實(shí)例 exception(Throwable):表示JSP頁(yè)面所發(fā)送的異常,在錯(cuò)誤頁(yè)中才起作用 4中屬性范圍: page(使用pageContext表示):只在一個(gè)頁(yè)面中保存屬性,跳轉(zhuǎn)之后無(wú)效 request:只在一次請(qǐng)求中保存,服務(wù)器跳轉(zhuǎn)后依然有效 session:在一次會(huì)話范圍中,無(wú)論何種跳轉(zhuǎn)都可以使用,但是新開(kāi)瀏覽器無(wú)法使用 application:在整個(gè)服務(wù)器上保存,所有用戶都可以使用 1、當(dāng)一個(gè)用戶連接到服務(wù)器后,服務(wù)器會(huì)自動(dòng)為此session分配一個(gè)不會(huì)重復(fù)的Session Id。 2、對(duì)于每一個(gè)已連接到服務(wù)器上的用戶,如果重新啟動(dòng)服務(wù)器,則這些用戶再次發(fā)出請(qǐng)求實(shí)際上表示的都是一個(gè)新連接的用戶,服務(wù)器會(huì)為每個(gè)用戶重新分配一個(gè)新的Session Id。 在Java EE 的標(biāo)準(zhǔn)中,Web目錄中的WEB-INF是必須存在的,而且此文件夾的安全性是最高的,在各個(gè)程序的開(kāi)放中,基本上都將一些配置信息保存在此文件中,名字大寫(xiě)。 如果將一個(gè)hello.jsp的文件放在WEB-INF文件夾中,外面永遠(yuǎn)無(wú)法訪問(wèn),此時(shí)只能通過(guò)映射進(jìn)行操作 Web標(biāo)準(zhǔn)的結(jié)構(gòu)目錄: ![]() 在JSP中使用JavaBean: 使用<jsp:useBean>指令:<jsp:useBean id = "實(shí)例化對(duì)象名稱" scope = "保存范圍" class = "包.類名稱"/> 設(shè)置屬性:<jsp:setProperty/> 自動(dòng)匹配:<jsp:setProperty name = "實(shí)例化對(duì)象的名稱(id)" property = "*"/> 指定屬性:<jsp:setProperty name = "實(shí)例化對(duì)象的名稱(id)"" property = "屬性名稱"/> 指定參數(shù):<jsp:setProperty name = "實(shí)例化對(duì)象的名稱(id)"" property = "屬性名稱" param = "參數(shù)名稱"/> 指定內(nèi)容:<jsp:setProperty name = "實(shí)例化對(duì)象的名稱(id)"" property = "屬性名稱" value = "內(nèi)容"/> 取得屬性:<jsp:getProperty/>(會(huì)自動(dòng)調(diào)用JavaBean中的getter()方法) <jsp:getProperty name = "實(shí)例化對(duì)象的名稱(id)" property = "屬性名稱"/> 如果一個(gè)JavaBean不再使用的話,則可以直接使用4中屬性范圍的removeAttribute()方法進(jìn)行刪除 Servlet: 客戶端跳轉(zhuǎn): response.sendRedirect("url"); 服務(wù)器端跳轉(zhuǎn): RequestDispatcher rd = request.getRequestDispatcher("url"); rd.forward(request,response); 在Web中可以對(duì)application、session、request3種操作進(jìn)行監(jiān)聽(tīng)。 表達(dá)式語(yǔ)言:可以避免出現(xiàn)許多的Scriptlet代碼 語(yǔ)法:${屬性名稱} 表達(dá)式語(yǔ)言的內(nèi)置對(duì)象: pageContext:表示javax.servlet.jsp.PageContext對(duì)象(可以取得request、session、application的實(shí)例) pageScope:表示從page屬性范圍查找輸出屬性 requestScope: sessionScope: applicationScope: param:接收傳遞到本頁(yè)面的參數(shù) paramValues:一組參數(shù) header:取得一個(gè)頭信息數(shù)據(jù) headerValues:一組頭信息數(shù)據(jù) cookie:取出cookie中的數(shù)據(jù) initParam:取得配置的初始化參數(shù) |
|
來(lái)自: 學(xué)習(xí)的倉(cāng)庫(kù) > 《Jsp》