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