#JSP運行原理html
#JSP九大隱式對象java
JSP九大隱式對象,其中七個已經在Servlet中講解過了,主要學習out與pageContextweb
###outexpress
<body><%out.write("hehe");response.getWriter().write("gaga");%></body>
緩存
###pageContextsession
- 使用pageContext能夠訪問別的三個域以及8大隱式對象,這種用法主要在自定義標籤技術中使用
- 經過pageContext對象,能夠直接將數據添加到別的三個域中,也能夠直接從三個域中獲取
- 使用
findAttribute
方法,直接查找各個域中是否有該屬性(EL表達式)
- pageContext類中定義了forward方法和include方法來分別簡化和替代RequestDispatcher.forward方法和include方法
- 方法接收的資源若是以「/」開頭, 「/」表明當前web應用
#JSP標籤(JSP標準動做)架構
JSP經常使用標籤:app
<jsp:include>標籤
<jsp:forward>標籤
<jsp:param>標籤
###include標籤jsp
<jsp:include>
標籤用於把另一個資源的輸出內容插入進當前JSP頁面的輸出內容之中,這種在JSP頁面執行時的引入方式稱之爲動態引入<jsp:include page="relativeURL | <%=expression%>" flush="true|false" />
<jsp:include>
與include指令的比較<jsp:include>
標籤是動態引入, <jsp:include>
標籤涉及到的2個JSP頁面會被翻譯成2個servlet,這2個servlet的內容在執行時進行合併<jsp:include>
標籤,仍是include指令,它們都會把兩個JSP頁面內容合併輸出,因此這兩個頁面不要出現重複的HTML全局架構標籤,不然輸出給客戶端的內容將會是一個格式混亂的HTML文檔###<jsp:forward>
標籤函數
<jsp:forward>
標籤用於把請求轉發給另一個資源<jsp:forward page="relativeURL | <%=expression%>" />
,
<jsp:param>
標籤當使用<jsp:include>
和<jsp:forward>
標籤引入或將請求轉發給其它資源時,可使用<jsp:param>
標籤向這個資源傳遞參數
語法1:
<jsp:include page="relativeURL | <%=expression%>"> <jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>
語法2:
<jsp:forward page="relativeURL | <%=expression%>"> <jsp:param name="parameterName" value="parameterValue|<%= expression %>" /> </jsp:include>
<jsp:param>
標籤的name屬性用於指定參數名,value屬性用於指定參數值。在<jsp:include>
和<jsp:forward>
標籤中可使用多個<jsp:param>
標籤來傳遞多個參數
###映射JSP
<servlet> <servlet-name>SimpleJspServlet</servlet-name> <jsp-file>/jsp/simple.jsp</jsp-file> <load-on-startup>1</load-on-startup > </servlet> <servlet-mapping> <servlet-name>SimpleJspServlet</servlet-name> <url-pattern>/xxx/yyy.html</url-pattern> </servlet-mapping>
###如何查找JSP頁面中的錯誤
###重點
###JavaBean相關標籤
JavaBean是一個遵循特定寫法的Java類,它一般具備以下特色
JavaBean在J2EE開發中,一般用於封裝數據,對於遵循以上寫法的JavaBean組件,其它程序能夠經過反射技術實例化JavaBean對象,而且經過反射那些遵照命名規範的方法,從而獲知JavaBean的屬性,進而調用其屬性保存數據
Javabean的屬性
JSP中的JavaBean
<jsp:useBean>
標籤:用於在JSP頁面中查找或實例化一個JavaBean組件<jsp:setProperty>
標籤:用於在JSP頁面中設置一個JavaBean組件的屬性<jsp:getProperty>
標籤:用於在JSP頁面中獲取一個JavaBean組件的屬性<jsp:useBean>標籤
<jsp:useBean>
標籤用於在指定的域範圍內查找指定名稱的JavaBean對象
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
<jsp:useBean>
執行原理
<jsp:useBean id="currentDate" class="java.util.Date"/>
帶標籤體的jsp:useBean標籤
<jsp:useBean ...> Body </jsp:useBean>
<jsp:setProperty>
標籤
<jsp:setProperty>
標籤用於設置和訪問JavaBean對象的屬性。 <jsp:setProperty name="beanName" { property="propertyName" value="{string | <%= expression %>}" | property="propertyName" [ param="parameterName" ] | property= "*" }/>
<jsp:getProperty>
標籤
<jsp:getProperty>
標籤用於讀取JavaBean對象的屬性,也就是調用JavaBean對象的getter方法,而後將讀取的屬性值轉換成字符串後插入進輸出的響應正文中<jsp:getProperty name="beanInstanceName" property="PropertyName" />