javascript
JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)
JSP的基本構成:HTML文件+Java片斷+JSP標簽
三大指令:page指令、include指令、taglib指令。
page指令:
1.language屬性:設置當前頁面中編寫JSP腳本使用的語言,默認值為java。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <%@page language="java"%>
2.contentType屬性:設置頁面響應的MIME類型,通常被設置為text/html。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <%@page contentType="text/html"%>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?還可以設置JSP字符的編碼:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<%@page contentType="text/html;charset=gb2312"%>
3.import屬性:類似于Java中的import語句,用來向JSP文件中導入需要用到的包。
? ? ? ? ? ? ? ? ? ? ? ? ? 在page指令中可多次使用該屬性來導入多個包。例如:
? ? ? ? ? ? ? ? ? ? ? ? ? <%@page?import="java.util.*" %>
? ? ? ? ? ? ? ? ? ? ? ? ? <%@page import="java.text.*"%>
? ? ? ? ? ? ? ? ? ? ? ? ?或者通過逗號間隔,來導入多個包。
? ? ? ? ? ? ? ? ? ? ? ? ?<%@page import="java.util.*,java.text.*"%>
在JSP中已經默認導入了以下的包。
- java.lang.*
- java.servlet.*
- java.servlet.jsp.*
- java.servlet.http.*
4.extends屬性:
5.session屬性:該屬性默認為ture,表示當前頁面支持session。
6.buffer屬性:(緩沖)
7.autoFlush屬性:
8.isThreadSafe屬性:
9.info屬性:該屬性可設置為任意字符串,如當前頁面的作者或其他有關的頁面信息。可通過Servlet.getServletInfo()方法來設置的字符串。例如:
<%@page info="This is index.jsp!"%>
<%=this.getServletInfo()%>
訪問頁面后,顯示如下結果: ? ? ?This is index.jsp!
10.errorPage屬性和isErrorPage屬性:
例如:若當前應用下包含index.jsp和error.jsp文件。
在index.jsp頁面中進行數據類型的轉換操作,其代碼如下。
<%@page contentType="text/html;charset=utf-8" errorPage="error.jsp"%> <% String name="YXQ"; Integer.parseInt(name); //將字符串轉化為int型 %>上述代碼將一個非數字格式的字符串轉化為int型,因此將發生異常,最終進入errorPage屬性指定的error.jsp頁面顯示錯誤信息。
在error.jsp頁面中需要將isErrorPage屬性設為true,然后才能調用exception對象輸出錯誤信息。
error.jsp頁面的代碼如下。
<%page contentType="text/html;charset=gb2312" isErrorPage="true"%> 出現錯誤!錯誤如下:<br> <%=exception.getMessage()%>include指令:
<%@include file="文件的絕對路徑或相對路徑"%>
使用include指令引用外部文件,可以減少代碼的冗余。(如:頁面公用)
<%@page contentType="text/html;charset=utf-8"%> <table> <tr><td colspan="2"><%include file="top.jsp"%></td></tr> <tr> <td><%@include file="side.jsp"%></td> <td>內容顯示</td> </tr> <tr><td colspan="2"><%@include file="top.jsp"%></tr> </table>taglib指令:
六大標簽:偽指令標簽:<%@ ? ? ?%>
? ? ? ? ? ? ? ? ? ? 注釋標簽:<%-- ? ?--%>
? ? ? ? ? ? ? ? ? ? 聲明標簽:<%! ? ? ? %>
? ? ? ? ? ? ? ? ? ?動作標簽:<jsp:action ?Name/>
? ? ? ? ? ? ? ? ? ? 腳本標簽:<% ? ? ?%>
? ? ? ? ? ? ? ? ? ?表達式標簽:<%= ? ? ?%>
九大內置對象:?request、response、session、applicatin? ?config 、exception? ? ?out、page、pageContext、
四大作用域:
JSP作用域
JSP頁面中的對象,包括用戶創建的和JSP內置對象都有一個范圍屬性。
Application——具有應用程序作用域的對象,在應用程序存活期間均可用。
Session——具有會話作用域的對象,在會話的存活期間可用。
Request——具有請求作用域的對象,在所有處理同一個請求的頁面內部內都可以訪問。
Page——具有頁面作用域的對象,在當前頁內可用
方法:setAttribute(String name,Object ?attribute)
? ? ? ? ? ?getAttribute(String ?name)
作用域范圍從大到小:
Allication作用域:范圍最大
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可以被不同頁面、不同用戶共享
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 可以通過Allication內置對象或ServletContext
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 訪問Allication作用域對象
Session作用域:范圍僅次于Allication作用域
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可以被同一客戶端的請求訪問
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可以通過Session內置對象訪問Session作用域對象
Request作用域:范圍小于Session作用域
? ? ? ? ? ? ? ? ? ? ? ? ? ? 可以被forward()方法轉向頁面或者include()包含頁面訪問
? ? ? ? ? ? ? ? ? ? ? ? ? ?可以通過request內置對象訪問request作用域對象
page作用域:范圍最小
? ? ? ? ? ? ? ? ? ? ? 只能被創建對象的頁面訪問
? ? ? ? ? ? ? ? ? ? ? ?只能通過pageContext內置對象訪問page作用域對象
?
JSP的七個動作指令:
jsp:forward:頁面跳轉,其實就是request.getRequestDispatcher("index.jsp").forward(request, response)演化而來。
jsp:param:用于傳遞參數,前提是必須與其他支持它的標簽一起使用
jsp:include:用于動態在當前的JSP中嵌入另一個JSP頁面(被包含的JSP頁面是通過方法來實現動態包含的,并且被包含的內容只有<body>,相對靜態包含不會出現重復的聲明)
jsp:plugin:用于下載JavaBean或Applet到客戶端執行
jsp:userBean:創建一個JavaBean實例,其實就是類似<% %>的java代碼塊中創建一個對象實例
jsp:setProperty:設置JavaBean實例的屬性值
jsp:getProperty:獲取JavaBean實例的屬性值
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 河南热成了可南 高温致水泥路断裂翘起:地
- 下一篇: 新变异株在美国35天占比飙升21倍引热议