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