隨筆 - 0, 文章 - 75, 評論 - 0, 引用 - 0
          數據加載中……

          JSP的3個編譯指令,7個動作指令,9個內置對象


          3個編譯指令


          1、page指令
          page指令用戶定義JSP頁面中的全局屬性,它的語法格式如下:






          <%page
          {language="java"}
          {extends="package.class"}
          {import="{package.class|package.*},..."}
          {session="true
          | false"}
          {buffer="none | 8kb | sizekb"}
          { false"}
          {isThreadSafe="true
          |
          false"}
          {info="text"}
          {errorPage="relativeURL"}
          {contentType="mimeType
          [;charset=characterSet]" | "text/html ;
          charset=ISO-8859-1"}
          {isErrorPage="true |
          false"}
          {pageEncoding="charset=characrerSet |
          ISO-8859-1"}
          %>


          page指令對整個頁面有效,包括靜態的包含文件,但page指令不能用于被動態包含的文件,例如使用<jsp:include>包含的文件。在一個JSP頁面中可以使用多個page指令,但page指令中的屬性只能出現一次(import屬性除外)。
          2、include指令
          include指令用于在JSP頁面中包含其他文件,它的語法格式如下:





          <% include
          file="路徑名">
          include指令僅有一個屬性file,其值為文件的相對路徑。include指令包含的過程是靜態的,包含的文件可以是JSP、HTML或者Inc文件等。
          3、taglib指令
          taglib指令允許用戶使用標簽庫自定義新的標簽,它的語法格式如下:




          <% taglib uri="taglibURI"
          prefix="tabPrefix"%>

          taglib指令中的uri屬性用于根據標簽的前綴對自定義的標簽進行唯一的命名,其值可以食相對路徑,就對路徑或標簽庫描述文件。屬性prefix制定了標簽的前綴。



          7個動作指令


          動作指令與編譯指令不間,編譯指令是通知 Servlet 引擎的處理消息,而動作指令只是運行時的腳本動作。編譯指令在將JSP 編譯成 Servlet
          時起作用:處理指令通常可替換成 Java腳本,是 JSP腳本的標準化寫法。


          JSP7 個
          動作指令如下 :



          1. jsp:forward: 執行頁面轉向,將請求的處理轉發到下一個頁面。
          2. jsp:param: 用于傳遞參數,必須與其他支持參數曲標簽一起使用。
          3. jsp:include: 用于動態引入一個 JSP 頁面。
          4. jsp:p1ugin: 用于下載 JavaBean 或 Applet 到客戶端執行。
          5. jsp:useBean: 使用 JavaBean。
          6. jsp:setProperty: 修改 JavaBean 實例的屬性值。
          7. jsp:getProperty: 獲取 JavaBean 實例的屬性值。

          下面依次講解這些動作指令


          1..jsp:forward動作
          (拿目標頁面代替原有頁面)  jsp:forward動作把請求轉到另外的頁面。可以轉發靜態的HTML頁面,也可以轉發動態的JSP頁面,或者轉發到容器中的servlet
          jsp:forward標記只有一個屬性page。 page屬性包含的是一個相對URL。 page的值既可以直接給出,也可以在請求的時候動態計算,
          如下面的例子所示:       此頁面在轉發時增加惡劣一個參數 參數名為 age 值為 29;


          <!--request.getParamenter("age"-->


          獲得上個頁面傳個來的參數值


          2.jsp:include動作
          (拿目標頁面插入原有頁面)該動作是一個動態的include指令,也用于帶入某個頁面,他不會導入被include頁面的編譯指令,僅僅導入頁面的body內容插入到本頁面  該動作把指定文件插入正在生成的頁面。其語法如下:  
          flush:用于指定輸出緩存是否轉移到被導入的文件中, true:包含在被導入的文件中
          false:包含在源文件中  前面已經介紹過include指令,它是在JSP文件被轉換成Servlet的時候引入文件,而這里的jsp:include動作不同,插入文件的時間是在頁面被請求的時候。jsp:include動作的文件引入時間決定了它的效率要稍微差一點,而且被引用文件不能包含某些JSP代碼(例如不能設置HTTP頭),但它的靈活性卻要好得多。  例如,下面的JSP頁面把4則新聞摘要插入一個“What''s
          New ?”頁面。改變新聞摘要時只需改變這四個文件,而主JSP頁面卻可以不作修改:     


            



          </CENTER>
            <P>
            Here is a summary of our four most recent
          news stories:
            <OL>
            <LI><jsp:include
          page="news/Item1.html" flush="true"/>
            <LI><jsp:include
          page="news/Item2.html" flush="true"/>
            <LI><jsp:include
          page="news/Item3.html" flush="true"/>
            <LI><jsp:include
          page="news/Item4.html" flush="true"/>
            </OL> 


            


          3..jsp:useBean動作
          useBean:用于在jsp頁面中初始化一個java實例(如果多個jsp中需要重復使用某段代碼,可以把這段代碼定義成java類在頁面中引用)  


          jsp:useBean動作用來裝載一個將在JSP頁面中使用的JavaBean。這個功能非常有用,因為它使得我們既可以發揮Java組件重用的優勢,同時也避免了損失JSP區別于Servlet的方便性。


          jsp:useBean動作最簡單的語法為:<jsp:useBean id="JavaBean的名稱"
          class="package.class"包名.類名" scope="有效范圍"/>


          這行代碼的含義是:“創建一個由class屬性指定的類的實例,然后把它綁定到其名字由id屬性給出的變量上”。不過,就象我們接下來會看到的,定義一個scope屬性可以讓Bean關聯到更多的頁面,它可接受四個值:request、session、page、application。此時,jsp:useBean動作只有在不存在同樣id和scope的Bean時才創建新的對象實例,同時,獲得現有Bean的引用就變得很有必要。 


           獲得Bean實例之后,要修改Bean的屬性既可以通過jsp:setProperty動作進行,也可以在Scriptlet中利用id屬性所命名的對象變量,通過調用該對象的方法顯式地修改其屬性。這使我們想起,當我們說“某個Bean有一個類型為X的屬性foo”時,就意味著“這個類有一個返回值類型為X的getFoo方法,還有一個setFoo方法以X類型的值為參數”。  有關jsp:setProperty動作的詳細情況在后面討論。但現在必須了解的是,我們既可以通過jsp:setProperty動作的value屬性直接提供一個值,也可以通過param屬性聲明Bean的屬性值來自指定的請求參數,還可以列出Bean屬性表明它的值應該來自請求參數中的同名變量。  


          在JSP表達式或Scriptlet中讀取Bean屬性通過調用相應的getXXX方法實現,或者更一般地,使用jsp:getProperty動作。  


          注意,包含Bean的類文件應該放到服務器正式存放Java類的目錄下,而不是保留給修改后能夠自動裝載的類的目錄。例如,對于Java Web
          Server來說,Bean和所有Bean用到的類都應該放入classes目錄,或者封裝進jar文件后放入lib目錄,但不應該放到servlets下。
          id:javaBean的實例名 class: javaBean的實現類 scope:指定javaBean實例的生存范圍 page:javaBean僅在該頁面有效
          request:javaBean在本次請求中有效 session: javaBean在本次session內有效 application:
          javaBean在本應用內一直有效  下面是一個很簡單的例子,它的功能是裝載一個Bean,然后設置/讀取它的message屬性。 


          3.1關于jsp:useBean的進一步說明  


          使用Bean最簡單的方法是先用下面的代碼裝載Bean:  


          <jsp:useBean id="name" class="package.class" />


              然后通過jsp:setProperty和jsp:getProperty修改和提取Bean的屬性。


          不過有兩點必須注意。  


          第一,我們還可以用下面這種格式實例化Bean:


          <jsp:useBean ...>
            Body
            </jsp:useBean>


           它的意思是,只有當第一次實例化Bean時才執行Body部分,如果是利用現有的Bean實例則不執行Body部分。正如下面將要介紹的,jsp:useBean并非總是意味著創建一個新的Bean實例。  


          第二,除了id和class外,jsp:useBean還有其他三個屬性,即:scope、type、beanName。  


          id:命名引用該Bean的變量。如果能夠找到id和scope相同的Bean實例,jsp:useBean動作將使用已有的Bean實例而不是創建新的實例。  


          class:指定Bean的完整包名。   


          scope:指定Bean在哪種上下文內可用,可以取下面的四個值之一:page、request、session和application。  默認值是page,表示該Bean只在當前頁面內可用(保存在當前頁面的PageContext內)。  


          request表示該Bean在當前的客戶請求內有效(保存在ServletRequest對象內)。  


          session表示該Bean對當前HttpSession內的所有頁面都有效。   


          最后,如果取值application,則表示該Bean對所有具有相同ServletContext的頁面都有效。   


          scope之所以很重要,是因為jsp:useBean只有在不存在具有相同id和scope的對象時才會實例化新的對象;


          如果已有id和scope都相同的對象則直接使用已有的對象,此時jsp:useBean開始標記和結束標記之間的任何內容都將被忽略。  


          type:指定引用該對象的變量的類型,它必須是Bean類的名字、超類名字、該類所實現的接口名字之一。請記住變量的名字是由id屬性指定的。 


          beanName:指定Bean的名字。如果提供了type屬性和beanName屬性,允許省略class屬性。



          4.jsp:setProperty動作
            jsp:setProperty用來設置已經實例化的Bean對象的屬性,有兩種用法。首先,你可以在jsp:useBean元素的外面(后面)使用jsp:setProperty,如下所示:    ...
              此時,不管jsp:useBean是找到了一個現有的Bean,還是新創建了一個Bean實例,jsp:setProperty都會執行。第二種用法是把jsp:setProperty放入jsp:useBean元素的內部,如下所示:    ...
                此時,jsp:setProperty只有在新建Bean實例時才會執行,如果是使用現有實例則不執行jsp:setProperty。  jsp:setProperty動作有下面四個屬性:name:表示要設置屬性的是哪個Bean。  property:表示要設置哪個屬性。有一個特殊用法:如果property的值是"*",表示所有名字和Bean屬性名字匹配的請求參數都將被傳遞給相應的屬性set方法。  value:value屬性是可選的。該屬性用來指定Bean屬性的值。字符串數據會在目標類中通過標準的valueOf方法自動轉換成數字、boolean、Boolean、byte、Byte、char、Character。例如,boolean和Boolean類型的屬性值(比如“true”)通過Boolean.valueOf轉換,int和Integer類型的屬性值(比如"42")通過Integer.valueOf轉換。  value和param不能同時使用,但可以使用其中任意一個。  Param:param是可選的。它指定用哪個請求參數作為Bean屬性的值。如果當前請求沒有參數,則什么事情也不做,系統不會把null傳遞給Bean屬性的set方法。因此,你可以讓Bean自己提供默認屬性值,只有當請求參數明確指定了新值時才修改默認屬性值。  例如,下面的代碼片斷表示:如果存在numItems請求參數的話,把numberOfItems屬性的值設置為請求參數numItems的值;否則什么也不做。    如果同時省略value和param,其效果相當于提供一個param且其值等于property的值。進一步利用這種借助請求參數和屬性名字相同進行自動賦值的思想,你還可以在property(Bean屬性的名字)中指定“*”,然后省略value和param。此時,服務器會查看所有的Bean屬性和請求參數,如果兩者名字相同則自動賦值。  下面是一個利用JavaBean計算素數的例子。如果請求中有一個numDigits參數,則該值被傳遞給Bean的numDigits屬性;numPrimes也類似。  JspPrimes.jsp
           


          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
          Transitional//EN">
            <HTML>
            <HEAD>
            <TITLE>在JSP中使用JavaBean</TITLE>
            </HEAD>
            <BODY>
            <CENTER>
            <TABLE
          BORDER=5>
            <TR><TH
          CLASS="TITLE">
            在JSP中使用JavaBean</TABLE>
            </CENTER>
            <P>
            <jsp:useBean
          id="primeTable" class="hall.NumberedPrimes" />
            <jsp:setProperty name="primeTable" property="numDigits"
          />

            <jsp:setProperty name="primeTable" property="numPrimes"
          />
            Some <jsp:getProperty name="primeTable" property= "numDigits"
          />
            digit primes:
            <jsp:getProperty name="primeTable"
          property="numbered List" />
            </BODY>
            </HTML>


          5.jsp:getProperty動作
            jsp:getProperty動作提取指定Bean屬性的值,轉換成字符串,然后輸出。jsp:getProperty有兩個必需的屬性,即:name,表示Bean的名字;property,表示要提取哪個屬性的值。下面是一個例子,更多的例子可以在前文找到。    ...
            



          <jsp:useBean id="itemBean" ...
          />
            ...
            <UL>
            <LI>Number of
          items:
            <jsp:getProperty name="itemBean" property="numItems"
          />
            <LI>Cost of each:
            <jsp:getProperty name="itemBean"
          property="unitCost" />
            </UL>    


          6.jsp:plugin動作
          (用于下載服務器端的javaBean或applet到客戶端)  jsp:plugin動作用來根據瀏覽器的類型,插入通過Java插件運行Java
          Applet所必需的OBJECT或EMBED元素。


          <jsp:plugin
          type="bean |
          applet" :
          被執行的java程序的類型
          code="classFileName" :被執行的文件名,必須以
          .class
          結尾
          codebase="classFileDirectoryName"
          :被執行文件的所在目錄


          [ name="instanceName"
          ] :給程序起一個名字用來標識該程序
          [ archive="URIToArchive,
          ..." ] :指向一些要預先載入的將要使用到的類
          [ align="bottom |
          top | middle | left | right" ] :
          [
          height="displayPixels" ]
          [ width="displayPixels"
          ]
          [ hspace="leftRightPixels"
          ]
          [ vspace="topBottomPixels"
          ]
          [ jreversion="JREVersionNumber | 1.1"
          ] :能正確運行改程序必須的JRE的版本
          [
          nspluginurl="URLToPlugin" ]
          [
          iepluginurl="URLToPlugin" ] >


          [ <jsp:params>
          [
          <jsp:param name="parameterName" value="{parameterValue | <%= expression
          %>}" /> ]+
          </jsp:params> ]


          [ <jsp:fallback> text message for user
          </jsp:fallback> ] :當不能正確顯示該Applet時,顯示該指令中的文本提示


          <jsp:plugin>


          7.jsp:param 用于設定參數值,這個指令不能單獨使用
          可以與以下三個指令結合使用:


          jsp:include :用于將參數值出入被導入頁面


          jsp:forword : 用于將參數值傳入被轉向頁面


          jsp:plugin : 用于將參數值傳入頁面中javaBean的實例



          9個內置對象


          JSP中的內置對象(9個)























          對象名

          對象的類型

          范圍
          pageContext

          Javax.servlet.jsp.PageContext

          Page
          page

          Javax.servlet.jsp.HttpJspPage

          Page
          request

          Javasx.servlet.jsp.HttpServletRequest
          Request
          response


          Javax.servlet.jsp.HttpServletResponse
          Page
          session

          Javax.servlet.HttpSessio
          Session
          application

          Javax.servlet.ServletContext

          Application
          out

          Javax.servlet.jsp.JspWriter

          Page
          config

          Javax.servlet.ServletConfig
          Page
          exception

          Java.lang.ThrowAble

          page


          內置對象是不需要聲明,直接可以在JSP中使用的對象,JSP有以下幾種內置對象:
          1.request對象
          request表示HttpServletRequest對象。它包含了有關瀏覽器請求的信息,并且提供了幾個用于獲取cookie,
          header,
          和session數據的有用的方法。客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,然后做出響應。

          1
          Object getAttribute(String name) 返回指定屬性的屬性值,該屬性不存在時返回null。
          2
          Enumeration getAttributeNames() 返回所有可用屬性名的枚舉
          3 String
          getAuthType() ;返回用來保護servlet的認證方法的名稱,未受保護時返回null。
          4 String
          getCharacterEncoding() 返回字符編碼方式
          5 int getContentLength()
          返回請求體的長度(以字節數),不能確定長度時返回-1。
          6 String getContentType()
          得到請求體的MIME類型
          7 String getContentPath() 返回請求的路徑。
          8
          Cookie[] getCookies() 返回客戶端所有的Cookie的數組。
          9 Enumeration
          getHeaderNames() 返回所有HTTP頭的名稱的集合。
          10 Enumeration getHeaders(
          String name ) 返回指定HTTP頭的所有值的集合。
          11 String getHeader( String name )
          返回指定名稱的HTTP頭的信息。
          12 long getDateHeader( String name )
          返回指定名稱的Data類型的HTTP頭的信息。
          13 int getIntHeader( String name )
          返回指定名稱的Int類型的HTTP頭的信息。
          14 ServletInputStream getInputStream()
          得到請求體中一行的二進制流
          15 Locale getLocale()
          返回當前頁的Locale對象,可以在response中設定。
          16 Enumeration getLocales()
          返回請求中所有的Locale對象的集合。
          17 String getLocalName()
          獲取響應請求的服務器端主機名。
          18 String getLocalAddr()
          獲取響應請求的服務器端地址。
          19 int getLocalPort()
          獲取響應請求的服務器端端口
          20 String getMethod()
          獲取客戶端向服務器端發送請求的方法(GET、POST)。
          21 String getParameter(String name)
          返回name指定參數的參數值
          22 Map getParameterMap()
          該方法返回包含請求中所有參數的一個Map對象。
          23 Enumeration getParameterNames()
          返回請求中所有參數的集合。
          24 String[] getParameterValues(String name)
          返回包含參數name的所有值的數組
          25 String getQueryString()
          返回get方法傳遞的參數字符串,該方法不分解出單獨的參數。
          26 String getPathInfo()
          取出請求中處于ServletPath和QueryString之間的額外信息。
          27 String
          getPathTranslated() 返回用getPathInfo()方法取得的路徑信息的實際路徑。
          28 String
          getProtocol() 返回請求使用的協議。可以是HTTP1.1或者HTTP1.0。
          29 BufferedReader
          getReader()
          返回請求的輸入流對應的Reader對象,該方法和getInputStream()方法在一個頁面中只能調用一個。
          30 String
          getRemoteAddr() 返回發送此請求的客戶端IP地址
          31 String getRemoteHost()
          返回發送此請求的客戶端主機名
          32 String getRemoteUser()
          返回經過客戶端驗證的用戶名,未經驗證返回null。
          33 int getRemotePort()
          返回發出請求的客戶端主機端口。
          34 String getRealPath(String path)
          返回一虛擬路徑的真實路徑
          35 RequestDispatcher getRequestDispatcher( String
          path ) 按給定的路徑生成資源轉向處理適配器對象。
          36 String getRequestedSessionId()
          返回請求的session的標識。
          37 String RequestURI()
          返回發出請求的客戶端地址,但是不包括請求的參數字符串。
          38 StringBuffer getRequestURI()
          返回響應請求的服務器端地址
          39 String getScheme()
          返回請求用的計劃名,如:http.https及ftp等
          40 String getServerName()
          返回響應請求的服務器名稱。
          41 String getServletPath()
          獲取客戶端所請求的腳本文件的文件路徑。
          42 int getServerPort()
          返回服務器接受此請求所用的端口號
          43. void removeAttribute( String name )
          在屬性列表中刪除指定名稱的屬性。
          44. void setAttribute( String name, Object value
          ) 在屬性列表中添加/刪除指定的屬性。
          45. void setCharacterEncoding( String name )
          設置請求的字符編碼格式。
          46. HttpSession getSession()
          ;
          HttpSession getSession( boolean create )
          獲取session,如果create為true,在無session的情況下創建一個。
          47. boolean
          isRequestedSessionIdFromCookie()
          檢查請求的會話ID是否為通過Cookie傳入。
          48. boolean
          isRequestedSessionIdFromURL() 檢查請求的會話ID是否為通過URL傳入。
          49.
          boolean isRequestedSessionIdValid() 檢查請求的會話ID是否仍然有效。
          50.
          boolean isSecure() 檢查請求是否使用安全鏈接,如果HTTPS等。
          51. boolean
          isUserInRole( String role ) 檢查已經通過驗證的用戶是否在是role所指定的角色。
          52.
          Principal getUserPrincipal()
          返回包含用戶登陸名的一個java.security.Principal對象。
          成員:
          String
          BASIC_AUTH = "BASIC"
          String CLIENT_CERT_AUTH =
          "CLIENT_CERT"
          String DIGEST_AUTH = "DIGEST"
          String
          FORM_AUTH = "FORM"

          2.response對象 response
          表示HttpServletResponse對象,主要將JSP容器處理后的結果傳回到客戶端。

          1
          void addCookie( Cookie cookie ) 添加一個Cookie對象,保存客戶端信息。
          2 void
          addDateHeader( String name, long value )
          添加一個日期類型的HTTP頭信息,覆蓋同名的HTTP頭信息。
          3 void addHeader( String name,
          String value ) 添加一個HTTP頭,覆蓋同名的舊HTTP頭。
          4 void addIntHeader( String
          name, int value ) 添加一個整型的HTTP頭,覆蓋同名的舊HTTP頭。
          5 boolean
          containsHeader( String name ) 判斷指定的HTTP頭是否存在。
          6 String
          encodeRedirectURL( String url ) 對sendRedirect()方法使用的URL進行編碼。
          7
          String encodeURL( String url ) 將URL予以編碼,回傳包含session ID的URL。
          8 void
          flushBuffer() 強制把當前緩沖區的內容發送到客戶端。
          9 int getBufferSize()
          取得以kb為單位的緩沖區大小。
          10 String getCharacterEncoding()
          獲取響應的字符編碼格式。
          11 String getContentType() 獲取響應的類型。
          12
          Locale getLocale() 獲取響應的Locale對象。
          13 ServletOutputStream
          getOutputStream() 返回客戶端的輸出流對象。
          14 PrintWriter getWriter()
          獲取輸出流對應的writer對象。
          15 boolean isCommitted()
          判斷服務器端是否已經將數據輸出到客戶端。
          16 void reset()
          清空buffer中的所有內容。
          17 void resetBuffer()
          情況buffer中所有的內容,但是保留HTTP頭和狀態信息。
          18 void sendError( int xc, String
          msg )
          void sendError( int xc ) 發送錯誤,包括狀態碼和錯誤信息。
          19
          void sendRedirect( String locationg ) 把響應發送到另外一個位置進行處理。
          20 void
          setBufferSize( int size ) 設置以kb為單位的緩沖區大小。
          21 void
          setCharacterEncoding( String charset )設置響應使用的字符編碼格式。
          22 void
          setContentLength( int length ) 設置響應的BODY長度。
          23 void
          setContentType( String type ) 設置響應的類型。
          24 void setDateHeader(
          String name, long value ) 設置指定名稱的Data類型的HTTP頭的值。
          25 void
          setHeader( String name, String value ) 設置指定名稱的HTTP頭的值。
          26 void
          setIntHeader( String name, int value ) 設置指定名稱的int類型的HTTP頭的值。
          27
          void setStatus( int xc )
          設置響應狀態碼,新值會覆蓋當前值。
          成員(HTTP狀態碼):
          int SC_CONTINUE = 100
          int SC_SWITCHING_PROTOCOLS = 101
          int SC_OK = 200 int
          SC_NON_AUTHORITATIVE_INFORMATION = 203
          int SC_ACCEPTED = 202 int
          SC_CREATED = 201
          int SC_NO_CONTENT = 204 int SC_RESET_CONTENT =
          205
          int SC_PARTIAL_CONTENT = 206 int SC_MULTIPLE_CHOICES =
          300
          int SC_MOVED_PERMANENTLY = 301 int SC_MOVED_TEMPORARILY =
          302
          int SC_FOUND = 302 int SC_SEE_OTHER = 303
          int
          SC_NOT_MODIFIED = 304 int SC_USE_PROXY = 305
          int
          SC_TEMPORARY_REDIRECT = 307 int SC_BAD_REQUEST = 400
          int
          SC_UNAUTHORIZED = 401 int SC_PAYMENT_REQUIRED = 402
          int
          SC_FORBIDDEN = 403 int SC_NOT_FOUND = 404
          int
          SC_METHOD_NOT_ALLOWED = 405 int SC_NOT_ACCEPTABLE

          3.session對象
          session表示一個請求的javax.servlet.http.HttpSession對象。指的是客戶端與服務器的一次會話,從客戶連到服務器的一個WebApplication開始,直到客戶端與服務器斷開連接為止。
          1
          long getCreationTime() 返回SESSION創建時間
          2 public String getId()
          返回SESSION創建時JSP引擎為它設的惟一ID號
          3 long getLastAccessedTime()
          返回此SESSION里客戶端最近一次請求時間
          4 int getMaxInactiveInterval()
          返回兩次請求間隔多長時間此SESSION被取消(ms)
          5 String[] getValueNames()
          返回一個包含此SESSION中所有可用屬性的數組
          6 void invalidate()
          取消SESSION,使SESSION不可用
          7 boolean isNew()
          返回服務器創建的一個SESSION,客戶端是否已經加入
          8 void removeValue(String name)
          刪除SESSION中指定的屬性
          9 void setMaxInactiveInterval()
          設置兩次請求間隔多長時間此SESSION被取消(ms)

          4.out對象
          out
          對象是javax.jsp.JspWriter的一個實例,并提供了幾個方法使你能用于向瀏覽器回送輸出結果。
          1 void
          clear() 清除緩沖區的內容,但是不輸出到客戶端。
          2 void clearBuffer()
          清除緩沖區的當前內容,并輸出到客戶端。
          3 void close()
          關閉輸出流,清除所有內容。

          4 void flush() 輸出緩沖區里面的數據。
          5 int
          getBufferSize() 返回緩沖區以字節數的大小,如不設緩沖區則為0
          6 int getRemaining()
          返回緩沖區還剩余多少可用
          7 boolean isAutoFlush()
          返回緩沖區滿時,是自動清空還是拋出異常
          8. void newLine() 輸出一個換行字符。
          9.
          void print( boolean b ) 將指定類型的數據輸出到Http流,不換行
          10. void println(
          boolean b )
          將指定類型的數據輸出到Http流,并輸出一個換行符。
          11.
          Appendable append(
          char c )
          Appendable append( CharSequence cxq, int start, int end
          )
          Appendable append( CharSequence cxq
          )
          將一個字符或者實現了CharSequence接口的對象添加到輸出流的后面。
          成員:
          int
          DEFAULT_BUFFER = 0 - 缺省緩沖區大小
          int NO_BUFFER = -1 -
          writer是否處于緩沖輸出狀態
          int UNBOUNDED_BUFFER = -2 -
          是否限制緩沖區大小


          5.page對象
          page對象就是指向當前JSP頁面本身,有點象類中的this指針,它是java.lang.Object類的實例
          1
          class getClass 返回此Object的類
          2 int hashCode()
          返回此Object的hash碼
          3 boolean equals(Object obj)
          判斷此Object是否與指定的Object對象相等
          4 void copy(Object obj)
          把此Object拷貝到指定的Object對象中
          5 Object clone()
          克隆此Object對象
          6 String toString()
          把此Object對象轉換成String類的對象
          7 void notify() 喚醒一個等待的線程
          8
          void notifyAll() 喚醒所有等待的線程
          9 void wait(int timeout)
          使一個線程處于等待直到timeout結束或被喚醒
          10 void wait()
          使一個線程處于等待直到被喚醒
          11 void enterMonitor() 對Object加鎖
          12
          void exitMonitor() 對Object開鎖


          6.application對象
          applicaton
          表示一個javax.servlet.ServletContext對象。他實現了用戶間數據的共享,可存放全局變量。它

          開始于服務器的啟動,直到服務器的關閉,在此期間,此對象將一直存在;這樣在用戶的前后連接或不同用戶之

          間的連接中,可以對此對象的同一屬性進行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的

          訪問。服務器的啟動和關閉決定了application對象的生命。

          1
          Object getAttribute(String name) 返回給定名的屬性值
          2 Enumeration
          getAttributeNames() 返回所有可用屬性名的枚舉
          3 void setAttribute(String
          name,Object obj) 設定屬性的屬性值
          4 void removeAttribute(String name)
          刪除一屬性及其屬性值
          5 String getServerInfo()
          返回JSP(SERVLET)引擎名及版本號
          6 String getRealPath(String path)
          返回一虛擬路徑的真實路徑
          7 ServletContext getContext(String uripath)
          返回指定WebApplication的application對象
          8 int getMajorVersion()
          返回服務器支持的Servlet API的最大版本號
          9 int getMinorVersion() 返回服務器支持的Servlet
          API的最大版本號
          10 String getMimeType(String file)
          返回指定文件的MIME類型
          11 URL getResource(String path)
          返回指定資源(文件及目錄)的URL路徑
          12 InputStream getResourceAsStream(String
          path) 返回指定資源的輸入流
          13 RequestDispatcher getRequestDispatcher(String
          uripath) 返回指定資源的RequestDispatcher對象
          14 Servlet getServlet(String
          name) 返回指定名的Servlet
          15 Enumeration getServlets()
          返回所有Servlet的枚舉
          16 Enumeration getServletNames()
          返回所有Servlet名的枚舉
          17 void log(String msg)
          把指定消息寫入Servlet的日志文件
          18 void log(Exception exception,String msg)
          把指定異常的棧軌跡及錯誤消息寫入Servlet的日志文件
          19 void log(String msg,Throwable
          throwable) 把棧軌跡及給出的Throwable異常的說明信息
          寫入Servlet的

          日志文件。

          7.exception對象
          exception對象是一個例外對象,當一個頁面在運行過程中發生了例外,就產生這個對象。如果一個JSP頁面要應

          用此對象,就必須把isErrorPage設為true,否則無法編譯。他實際上是java.lang.Throwable的對象。

          8.pageContext對象
          pageContext表示一個javax.servlet.jsp.PageContext對象。pageContext對象提供了對JSP頁面內所有的對象及

          名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值



          1
          JspWriter getOut() 返回當前客戶端響應被使用的JspWriter流(out)
          2 HttpSession
          getSession() 返回當前頁中的HttpSession對象(session)
          3 Object getPage()
          返回當前頁的Object對象(page)
          4 ServletRequest getRequest()
          返回當前頁的ServletRequest對象(request)
          5 ServletResponse getResponse()
          返回當前頁的ServletResponse對象(response)
          6 Exception getException()
          返回當前頁的Exception對象(exception)
          7 ServletConfig getServletConfig()
          返回當前頁的ServletConfig對象(config)
          8 ServletContext getServletContext()
          返回當前頁的ServletContext對象(application)
          9 void setAttribute(String
          name,Object attribute) 設置屬性及屬性值
          10 void setAttribute(String
          name,Object obj,int scope) 在指定范圍內設置屬性及屬性值
          11 public Object
          getAttribute(String name) 取屬性的值
          12 Object getAttribute(String
          name,int scope) 在指定范圍內取屬性的值
          13 public Object findAttribute(String
          name) 尋找一屬性,返回起屬性值或NULL
          14 void removeAttribute(String name)
          刪除某屬性
          15 void removeAttribute(String name,int scope)
          在指定范圍刪除某屬性
          16 int getAttributeScope(String name)
          返回某屬性的作用范圍
          17 Enumeration getAttributeNamesInScope(int
          scope) 返回指定范圍內可用的屬性名枚舉
          18 void release()
          釋放pageContext所占用的資源
          19 void forward(String relativeUrlPath)
          使當前頁面重導到另一頁面
          20 void include(String relativeUrlPath)
          在當前位置包含另一文件


          9.config對象
          config表示一個javax.servlet.ServletConfig對象。
          config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參

          數(通過屬性名和屬性值構成)以及服務器的有關信息(通過傳遞一個ServletContext對象。)

          1
          ServletContext getServletContext() 返回含有服務器相關信息的ServletContext對象
          2
          String getInitParameter(String name) 返回初始化參數的值
          3 Enumeration
          getInitParameterNames()
          返回Servlet初始化所需所有參數的枚舉

          posted on 2012-04-22 15:28 hantai 閱讀(186) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 米易县| 黎城县| 兴和县| 临高县| 休宁县| 澜沧| 西林县| 大洼县| 遵义县| 广德县| 达孜县| 界首市| 廉江市| 惠水县| 定日县| 堆龙德庆县| 曲阜市| 手游| 池州市| 饶阳县| 昌江| 乳源| 内丘县| 镇安县| 潢川县| 邳州市| 千阳县| 惠东县| 兴安盟| 富顺县| 乌兰察布市| 伊宁市| 黄梅县| 乌拉特中旗| 丘北县| 安图县| 福安市| 张家界市| 乌鲁木齐县| 襄樊市| 梁平县|