JSP:Html代碼+Java腳本+JSP标簽
1.Java腳本- <% 内容 %>:方法腳本
- <%= 内容 %>:指派腳本
- <%! 内容 %>:類腳本
JSP 三大指令
- 指令格式:<%@指令名 屬性="屬性值"... %>
- pageEncoding:指定目前JSP檔案的編碼,與目前JSP真實編碼一緻,則不會亂碼
- ContentType:相當于response.setContentType(xxx),屬性值為xxx,若和pageEncoding一緻,基本不會亂碼
- pageEncoding和ContentType若兩者都未設定,預設值均是iso;兩者定義一個,那麼表示的是另一個屬性值為xxx;若兩者同時定義,則各為其值。例如<% @page pageEncoding="utf-8" %>,表示的是Content屬性為utf-8,而pageEncoding未定義。
- import:導包,屬性可以多次定義,其表示是導入包的總和
- errorPage:如果目前頁面抛異常,轉發到哪個頁面(請求轉發)
- isErrorPage:目前頁面是否是處理異常的頁面,如果屬性值為true,那麼該頁面會設定狀态碼500,并且可以使用9大内置對象的exception
在web.xml檔案中,配置處理異常的頁面
/* 同時出現,誰越精确,優先級越高*/
// 1.根據狀态碼,轉發頁面
<error-page>
<error-code>404</error-code>
<location>頁面url<location>
</error-page>
// 2.根據抛出的異常
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>頁面url<location>
</error-page>
- autoFlush:指定jsp檔案輸出流緩沖區是否自動重新整理,預設值為true,若為false,緩沖區滿時會抛出異常
- buffer:指定緩沖區大小,預設為8KB
- isELIgnored:是否忽略EL表達式,預設值為false,不忽略。
- language:指定jsp編譯後的語言類型,預設是java
- infor:寫一些資訊
- isThreadSafe:目前jsp是否支援并發運作,true為不支援
- session:目前jsp檔案是否支援session,若為false,則不支援,沒有Session的9大内置對象
- extends:讓目前jsp檔案生成的Servlet去繼承該屬性定義的類
- 與requestdispatcher.include(request,response)類似,都是“合并”
- requestdispatcher的include方法合并的是響應的内容
- include指令合并的是jsp檔案:兩個jsp檔案編譯成一個java,然後成一個class
- include指令的“靜态”指的是include指令是一個靜态的指令(編譯時就執行)
- 把包含的jsp檔案代碼全部“複制粘貼”到include的位置,雙向都不能實作參數傳遞
- include指令的file屬性,表示指定包含檔案的路徑
- prefix:給标簽庫中的标簽加字首(防止标簽名沖突),加了字首名後的标簽格式為字首名:标簽名
- uri:指定标簽庫位置
/* 示範prefix指定标簽庫的标簽字首後,标簽的名稱
uri随便寫的,這個屬性根據具體情況應用*/
<%taglib uri="/Project/taglib" prefix="pre" >
那麼:text标簽應該為<pre:text></pre:text>
3.九大内置對象 // a.jsp
<%
/* 内置對象是可以直接通路的變量
*/
RequestDispatcher dispatcher = request.getRequestDispatcher();
%>
4.JSP動作标簽 5.JavaBean(有規範的Java類) - 有無參構造函數
- 對于每個屬性,至少有get/set方法之一
- 導入commons-beanutils和commons-logging 兩個jar包(文末有資源分享)
JavaBean類
工具類
Map-&amp;amp;amp;amp;amp;amp;amp;gt;Servlet
>JSP中與JavaBean相關的标簽//從session域中查找名為user1的JavaBean對象,若未找到,則建立一個
<jsp:userBean id = "user1" scope = "session" class = "MyJavaBean">
// 在名為user1的JavaBean對象中設定一個名為name,值為張三的參數
<jsp:setProperty name = "user1" property = "name" value = "張三">
// 擷取名為uesr1的JavaBean對象中,屬性名為name的屬性值
<jsp:getProperty name = "user1" property = "name" >
資源分享
- commons-beanutils和commons-logging兩個jar包
連結:https://pan.baidu.com/s/1tjnrNLqJaInoa7asbFRbiw
提取碼:y2i4