电竞比分网-中国电竞赛事及体育赛事平台

分享

jsp的九大內(nèi)置對象

 swiftly 2014-08-11

JSP九大內(nèi)置對象
 Request,Reponse,Out,Session,Application,Cookie,Config,Page,Exception

1.Request對象
      發(fā)送請求時,該對象被創(chuàng)建,一次請求結(jié)束后即銷毀。(一次請求產(chǎn)生一個request對象)
     該對象封裝了用戶提交的信息,通過調(diào)用該對象相應(yīng)的方法要以獲取封裝的信息。即,使用該對象可以獲取用戶提交的信息。
     當(dāng)Request對象獲取客戶提交的內(nèi)容為漢字字符時,會出現(xiàn)亂碼現(xiàn)象,則必須進(jìn)行特殊處理。首先,將獲取的字符串用ISO8859-1進(jìn)行編碼,并將編碼存放到一個字節(jié)數(shù)組中,然后將這個數(shù)組轉(zhuǎn)化為字符串對象即可。如下代碼:
     String   text = request.getParameter("body");
      byte [] b = text.getBytes("ISO8859-1");  //將text字符串轉(zhuǎn)換成字節(jié)數(shù)組---編碼的過程
      text = new String(b);  //構(gòu)造字符串,按照當(dāng)前操作系統(tǒng)的字符集進(jìn)行構(gòu)造。將字節(jié)轉(zhuǎn)換成字符串---解碼的過程
     Request常用的方法:
    getParameter(String s)  ----- 獲取表單提交的信息
               String  s = request.getParameter("name");
    getProtocol()  -----獲取客戶使用的協(xié)議
                String  s = request.getProtocol() ;
    getServletPath()  ----獲取客戶提交信息的頁面
                String  s = request.getServletPath();
    getMethod()  -----獲取客戶提交信息的方式  get或post
                String  s = request.getMethod();
    getHeader()  ----- 獲取HTTP頭文件中的accept、accept-encoding和host的值
                 String  s = request.getHeader("accept");
   getRemoteAddr()  --獲取客戶的ip地址
                 String  s = request.getRemoteAddr();
   getServerHost()  ---獲取客戶機(jī)的名稱
                 String  s = request.getServerHost();
   getServerName()  ---獲取服務(wù)器名稱
                 String  s = request.getServerName();
   getServerPort()  ----獲取服務(wù)器的商口號
                 String  s = request.getServerPort();
   getPamameterNames() ----獲取客戶端提交的所有參數(shù)的名字
                 Enumeration  enum = request.getParameterNames();
                 while(enum.hasMoreElements()){
                            String  s = (String) enum.nextElement();
                            out.println(s);      
                 }
  2. Response對象:對客戶的請求做出動態(tài)響應(yīng),向客戶端發(fā)送數(shù)據(jù)。響應(yīng)客戶請求時創(chuàng)建,響應(yīng)結(jié)束時銷毀。(一次響應(yīng)產(chǎn)生一個response對象)
   動態(tài)響應(yīng)contentType屬性
            當(dāng)一個用戶訪問了一個jsp頁面時,如果該頁面用page指令設(shè)置頁面的contentType屬性為text/html,那么jsp引擎將按照這個屬性值做出反應(yīng)。如果要動態(tài)改變這個屬性值來響應(yīng)客戶,就需要使用Response對象的setContentType(String  s);方法來改變contentType屬性的值。
            格式:response.setContentType(String  s) -----參數(shù)s可?。簍ext/html,application/x-msexcel,application/msword等
   Response重定向
             在某些情況下,當(dāng)響應(yīng)客戶時,需要將客戶重新引導(dǎo)到另一個頁面,可以使用Response的sendRedirect(URL);方法,實現(xiàn)客戶的重定向
            格式:response.sendRedirect("index.jsp");
  3. Session對象:   在頁面的page指令加上session="true" 或缺省 情況下以及在servlet中使用request.getSession();的方式進(jìn)行創(chuàng)建。超時或服務(wù)停止時,session結(jié)束。(一個用戶對應(yīng)一個session對象)
              什么是session對象? ----- 它是一個jsp內(nèi)置對象,它在第一個jsp被裝載時自動創(chuàng)建,完成會話期管理。從一個客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離   開這個服務(wù)器結(jié)束(或者超時),被稱為一個會話。當(dāng)一個客戶訪問一個服務(wù)器時,可能會在這個服務(wù)器的幾個頁面之間切換,服務(wù)器應(yīng)當(dāng)通過某種辦法知道這是一個客戶,就需要創(chuàng)建session對象。
             session對象的ID -----當(dāng)一個客戶首次訪問服務(wù)器上的一個jsp頁面時,jsp引擎會產(chǎn)生一個session對象,同時分配一個String類型的的ID號,jsp引擎同時將這個ID號發(fā)送到客戶端,存放在cookie中,這樣,session對象直到客戶關(guān)閉瀏覽器后,服務(wù)器端,該客戶的session對象才會消失,會并,和客戶的會話對應(yīng)關(guān)系消失。當(dāng)客戶重新打開瀏覽器再連接到該服務(wù)器時,服務(wù)器為該客戶再創(chuàng)建一個新的session對象。
             session對象的常用方法:
             public  String  getId()  ----獲取Session對象的編號
             pulbic  void  setAttribute(String  key,Object  obj) --- 將參數(shù)object指定的對象obj添加到Session對象中,并為添加的對象指定一個索引關(guān)鍵字
             public  Object  getAttribute(String  key) --- 獲取session對象中含有關(guān)鍵字的對象
             public  Blooean  isNew() ----判斷是否為一個新的客戶
  4.  Application對象啟動服務(wù)時創(chuàng)建,停止服務(wù)時銷毀。(整個程序只有一個application對象)
             什么是Application對象? --- 服務(wù)器啟動后就產(chǎn)生了這個Application對象,當(dāng)客戶在所訪問的的網(wǎng)站的各個頁面之間瀏覽時,這個Application對象都是同一個,直到服務(wù)器關(guān)閉。但是,與session對象不同的是,所有客戶的Application對象都是同一個,即,所有客戶共享這個內(nèi)置的Application對象。
             Application對象的常用方法
             setAttribute(String  key,Ojbect  obj)  ----將參數(shù)obj添加到Application對象中,并為添加的對象指定一個索引關(guān)鍵字
             getAttribute(String  key); ---- 獲取Application對象中含有關(guān)鍵字的對象
5.Out對象請求時,就創(chuàng)建,請求結(jié)束時,銷毀。(一個請求,創(chuàng)建一個out對象)
             Out對象是一個輸出流,用來向客戶端輸出數(shù)據(jù)。out對象用于各種數(shù)據(jù)的輸出。其常用方法如下:
             out.print(); ---- 向瀏覽器輸出各種類型數(shù)據(jù)
             out.newLine(); --- 輸出一個換行符
             out.close(); ---關(guān)閉流
6.cookie對象
             什么是cookie?----cookie是web服務(wù)器保存在用戶硬盤上的一段文本。cookie允許一個web站點在用戶電腦上保存信息并且隨后再取它。
             舉例來說,一個web站點可能會為每一個訪問者產(chǎn)生一個唯一的ID、然后以cookie文件的形式保存在每個用戶的機(jī)器上。
             如果用戶選擇的是IE瀏覽器訪問web,用戶就會看到所有保存在自己硬盤上的cookie。它們最常存放的地方是:c:/Windows/Cookies。cookie是以”關(guān)鍵字 key = 值  value“的格式來保存記錄的。
             創(chuàng)建一個cookie對象
             調(diào)用cookid對象的構(gòu)造函數(shù)就可以創(chuàng)建cookie對象。cookie的構(gòu)造函數(shù)有兩個字符串參數(shù):cookie名字和cookie值。
             如:Cookie  c = new Cookie("username","hyc");
             將cookie對象傳送到客戶端
              在jsp中,如果要將封裝好的cookie對象傳送到客戶端,可使用Response對象的addCookie()方法
             如:Response.addCookie();
            讀取保存在客戶端的cookie
            使用request對象的getCookie()方法,執(zhí)行時,將所有客戶端傳來的cookie對象以數(shù)組的形式排列。如果要取出更符合需求的cookie對象,就需要循環(huán)比較數(shù)組內(nèi)每個對象的關(guān)鍵字。
            如:Cookie [] c = request.getCookies();
                      if (c! = null){
                          for (int i = 0;i<c.length;i++){
                                      if("username".equals("c,getName))
                                                   out.println(c.getValue());
                                 }
                           }
             設(shè)置cookie對象的有效時間
             調(diào)用cookie對象的setMaxAge()方法,可以設(shè)置cookie對象的有效時間。如
             Cookie  c = new Cookie("username","hyc");
              c.setMaxAge(3600);
            cookie應(yīng)用
            cookie對象的典型應(yīng)用是用來統(tǒng)計網(wǎng)站的訪問人數(shù)。由于代理服務(wù)器、緩存等的使用,唯一能幫助網(wǎng)站精確統(tǒng)計來訪人數(shù)的方法就是為每個訪問者建立一個唯 一的ID。使用cookie,網(wǎng)站可以完成以下工作
                     測試定多少人訪問過;
                     測定訪問者有多少是新用戶(即第一次來訪)、有多少老用戶;
                     測定一個用戶多久訪問一次網(wǎng)站
            當(dāng)一個用戶第一次訪問時,網(wǎng)站在數(shù)據(jù)庫中建立一個新的ID,并把ID通過Cookie傳送給用戶。用戶再次來訪時,網(wǎng)站把該用戶的ID對應(yīng)的計數(shù)器加1,得到用戶來訪的次數(shù)。
   7.config對象:配置對象
   8.page對象:頁面對象
   9.Exception對象:在處理異常的網(wǎng)頁中可以直接訪問exception隱式對象

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多