JSP的三個編譯指令
Page:該指令是針對當前頁面的指令
<%@ page [Attribute="Value"] %>
language:聲明當前jsp頁面使用的腳本語言的種類
通常是java,默認是java,無需設置
extends:指定jsp編譯產生的類繼承的父類,或者實現的接口
import:用於導入包,默認已經導入的包有
java.lang.*,javax.servlet.*,javax.servlet.jsp.*,javax.servlet.http.* session:設定這個jsp頁面是否需要HttpSession
buffer:指定輸出緩沖區的大小
autoflush:當緩沖區即將溢出時,是否自動強制輸出緩沖區的內容
info:設置該JSp程序的信息,采用Servlet.getServletInfo()獲取該值
errorPage:指定錯誤處理頁
isErrorPage:設置本JSp是否為錯誤處理程序
ContentType:用於設定生成網頁的文件格式和編碼格式
include:用於指定包含另一個頁面
<%@include
file="path"%>
taglib:用於定義和訪問自定義標簽
JSP的7個動作指令
jsp:forward 執行頁面轉向,將請求的處理交給下一個頁面
<jsp:forward page="path<%expression%>">
<jsp:param name="" value="" />
</jsp:forward>
常和param指令一起
jsp:param 用於傳遞參數,必須與其他支持參數的標簽一起使用
jsp:include 用於動態引入一個jsp頁面
<jsp:include page="<url|expressions>" flush='true'/>
也可以在標簽內向引用頁面傳遞param
jsp:plugin 用於下載javaBean 或Applet到客戶端執行
jsp:useBean 創建一個javaBean實例
<jsp:seBean id="name" class="classname"
scope="page|request|session|application" />
scope屬性:page:該javaBean實例僅在本頁面有效
request: 僅本次請求有效
session:在本次session有效
application:在本應用內一直有效
jsp:setProperty 設置
javaBean實例的屬性值
<jsp:setProperty name="BeanName"
property="propertyName"
value=""
/>
jsp:getProperty 取得JavaBean實例的屬性值
<jsp:getProperty name="beanName" property="propertyName">
JSP的9大內置對象
1.application javax.servlet.ServletContext 的實例,代表JSp所屬的web應用本身,可用於頁面之間交換信息
2.config javax.servlet.ServletConfig 的實例,代表JSP的配置信息,常用的方法有
getInitParameter(String paramName)
getInitParameternames()
3.exception java.lang.Throwable 的實例,代表其他頁面中的異常和錯誤,只用當頁面時錯誤處理頁面,即page的isErrorPage=true 時,該對象才可以使用,方法getMessage(),printStackTrace()
4.out javax.servlet.jsp.JspWriter 的實例,該實例代表jsp的頁面輸出流,用於輸出內容
5.page:代表頁面本身,也就是servlet中的this,一般不用
6.pageContext javax.servlet.jsp.PageContext的實例,該對象代表該jsp的上下文,使用該對象可以訪問頁面中的共享數據
常用方法:getServletContext() getServletConfig()
7.request javax.servlet.http.HttpServletRequest 的實例,封裝了一次請求
8.response javax.servlet.http.HttpServletResponse的實例,封裝了一次響應
9.session javax.servlet.http.HttpSession 的實例,代表一次會話