佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Java Servlet及Cookie的使用

Java Servlet及Cookie的使用

熱門標簽:Linux服務器 銀行業(yè)務 科大訊飛語音識別系統(tǒng) 團購網(wǎng)站 Mysql連接數(shù)設置 阿里云 電子圍欄 服務器配置
    本文介紹了Java Servlet編程所需的軟件及環(huán)境配置。只要你有一臺安裝Windows 95/98了的PC機,便可以按照本文的步驟開發(fā)Servlet程序了。本文同時給出了通過Java Servlet向用戶的硬盤寫入和讀取Cookie的方法及例程。通過它可以實現(xiàn)網(wǎng)上常見的個性化網(wǎng)頁、網(wǎng)上購物籃、密碼驗證等。


   Java Servlet是運行于Web服務器上的Java代碼,它可以接受用戶請求,進行相應的處理,并向用戶提供反饋。其作用類似于CGI程序,可以實現(xiàn)網(wǎng)頁中很多交互式效果,但比CGI程序效率更高。Cookies是用戶訪問Web服務器時由Web服務器寫入用戶計算機特定目錄的一小段信息, Java Servlet中提供了Cookie類,可以對Cookie進行操作。在特定時候將Cookie寫入用戶計算機,在需要時可再取出來使用。

   1.軟件下載

   PC機,安裝Windows 95/98,具有IP地址(如果沒有可以隨便配一個)。開發(fā)軟件有兩個:JDK1.3和JSWDK1.0.1。

   到http://java.sun.com,點擊"Products APIs”鏈接,可以點擊下載"JavaTM 2 SDK, Standard Edition, v 1.3”。下載后的文件安裝到你的計算機上。

   JSWDK1.0.1只有763,414 bytes,可從在http://java.sun.com/products/jsp/download.html下載。下載下來的jswdk1_0_1-win.zip用Winzip軟件解壓縮至某個目錄,如:d:app,該目錄下將自動建立一個子目錄:jswdk-1.0.1。這時JSWDK 1.0.1便已經(jīng)安裝在d:appjswdk-1.0.1目錄下了。

   2.啟動JSWDK 1.0.1

   打開一個DOS窗口,如下圖點擊窗口左上角DOS圖標,選擇屬性菜單,在接著出現(xiàn)的窗口中點擊"內(nèi)存”,在"初始環(huán)境”后的下拉菜單中將"自動”改為2816,點擊"exit”按鈕退出窗口,再重新進入DOS窗口。該設置只需要做一次。

   在該DOS窗口中運行如下DOS命令設置好環(huán)境變量:

   set CLASSPATH=c:jdk1.3bin;.

   set path=c:jdk1.3bin;c:windows;c:windowscommand

   如果你的JDK 1.3和Windows操作系統(tǒng)安裝在其他目錄,DOS命令中的目錄名稱應作相應修改。

   然后在該DOS窗口中用CD命令進入JSWDK 1.0.1安裝目錄(如d:appjswdk-1.0.1)運行startserver.bat即可。

   注意:

   對于JDK1.3,即本文所述的環(huán)境,需修改startserver.bat,將源文件中的

   start java com.sun.web.shell.Startup %1 %2 %3 %4 %5 %6 %7 %8 %9

   rem java com.sun.web.shell.Startup %1 %2 %3 %4 %5 %6 %7 %8 %9

   改為:

   rem start java com.sun.web.shell.Startup %1 %2 %3 %4 %5 %6 %7 %8 %9

   java com.sun.web.shell.Startup %1 %2 %3 %4 %5 %6 %7 %8 %9

   若使用的是老版本的JDK1.2,不需要修改startserver.bat,執(zhí)行后會出現(xiàn)另一個DOS窗口。

   運行后顯示一串字符串,最后顯示endpoint created: localhost/127.0.0.1:8080。表明正常啟動完畢。但它不支持數(shù)據(jù)庫中文字段和中文值的查詢。

   打開一個瀏覽器,輸入:http://你的機器IP地址:8080,這時瀏覽器中顯示出缺省的頁面,在該頁面中可查看Servlet例子。
   Java Servlet中提供了Cookie類,其構造器有兩個參數(shù),分別代表Cookie的名字和值。Cookie類中提供了各種方法設置Cookie的屬性,如通過setMaxAge( )方法可以設置Cookie的生存時間。若生存時間為負值,代表瀏覽器關閉Cookie即消失。生存時間為0,代表刪除Cookie,生存時間為正數(shù),代表Cookie存在多少秒。

   同時Servlet中的HttpServletResponse類提供了addCookie()方法可以將創(chuàng)建好的Cookie寫入用戶計算機。

   如下面的代碼可向用戶的計算機寫入兩個Cookie,一個名稱為my1,值為hi1,另一個名稱為my2,值為hi2

   import javax.servlet.*;

   import javax.servlet.http.*;

   import java.io.*;

   public class xx extends HttpServlet

   {

   public void service(HttpServletRequest rq, HttpServletResponse rp)

   throws ServletException,IOException

   { Cookie c;

   c=new Cookie("my1","hi1");

   c.setMaxAge(100*60);

   rp.addCookie(c);

   c=new Cookie("my2","hi2");

   c.setMaxAge(-1);

   rp.addCookie(c);

   }

   }

   該程序中,使用Cookie c=new Cookie("my1","hi1");創(chuàng)建了一個Cookie,它實際上是兩個配對的字符串。第一個字符串代表Cookie的名字,第二個字符串代表Cookie的值。然后使用rp.addCookie(c);將其寫入用戶的計算機中。Cookie my1生存時間為100*60秒即100分鐘,而my2則在關閉瀏覽器時自動消失。

   在前面的DOS窗口中輸入命令:

   set path=c:jdk1.3bin;c:windows;c:windowscommand

   set CLASSPATH=c:jdk1.3bin;d:appjswdk-1.0.1libservlet.jar

   以設置好環(huán)境變量。

   javac xx.java編譯Java程序

   copy *.class D:appjswdk-1.0.1examplesWEB-INFservlets

   將編譯后的程序拷貝到Java Servlet運行目錄。

   * 若使用老版本的JDK1.2,為了運行該Java Servlet程序,還需要修改一個文件:

   D:appjswdk-1.0.1examplesWEB-INFservlets.properties

   用文本編輯器打開該文件,在其最后加上幾行:

   xx.code=xx

   xx.initparams=foo

   在瀏覽器中輸入http://機器的IP地址:8080/examples/servlet/xx 便可以向用戶的計算機寫入Cookie了。

通過HttpServletRequest類的getCookies( )方法可以從相應用戶讀取Cookie列表,放在Cookie類型的數(shù)組中。通過數(shù)組中各個Cookie的getName()和getValue()方法可以獲取各個Cookie的名稱和值。

   下面的例子可以打印出由Servlet所在服務器寫入用戶機器上的Cookie名稱和值的列表。若有名稱為my1的Cookie,則將其值加上一個字符x。它類似一個計數(shù)器,可以簡單地統(tǒng)計在Cookie生存期間該用戶的訪問辭書。

   import javax.servlet.*;

   import javax.servlet.http.*;

   import java.io.*;

   public class yy extends HttpServlet

   { Cookie x[];

   public void service(HttpServletRequest rq, HttpServletResponse rp)

   throws ServletException,IOException

   { int have=0;

   Cookie c;  
您可能感興趣的文章:
  • servlet Cookie使用方法詳解(六)
  • servlet之cookie簡介_動力節(jié)點Java學院整理
  • java中Servlet Cookie取不到值原因解決辦法
  • 全面了解servlet中cookie的使用方法
  • servlet之session簡介_動力節(jié)點Java學院整理
  • servlet之session工作原理簡介_動力節(jié)點Java學院整理
  • servlet中session簡介和使用例子
  • 淺談Servlet的Cookie和Session機制

標簽:大理 廣元 衡水 萍鄉(xiāng) 棗莊 蚌埠 衢州 江蘇

巨人網(wǎng)絡通訊聲明:本文標題《Java Servlet及Cookie的使用》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    阿图什市| 榕江县| 上高县| 赣州市| 四子王旗| 鄂尔多斯市| 郯城县| 介休市| 武山县| 泗洪县| 潞西市| 射阳县| 和顺县| 康乐县| 闸北区| 咸阳市| 阳西县| 比如县| 仙居县| 长春市| 高淳县| 通化市| 保亭| 天长市| 赫章县| 瑞安市| 娄底市| 凉山| 桂东县| 江永县| 浪卡子县| 来宾市| 齐齐哈尔市| 新密市| 汽车| 延安市| 长沙市| 开江县| 宜兰市| 威宁| 扶绥县|