国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java Servlet及Cookie的使用

2020-03-24 16:44:27
字體:
供稿:網(wǎng)友
本文介紹了Java Servlet編程所需的軟件及環(huán)境配置。只要你有一臺安裝Windows 95/98了的PC機(jī),便可以按照本文的步驟開發(fā)Servlet程序了。本文同時給出了通過Java Servlet向用戶的硬盤寫入和讀取html' target='_blank'>Cookie的方法及例程。通過它可以實現(xiàn)網(wǎng)上常見的個性化網(wǎng)頁、網(wǎng)上購物籃、密碼驗證等。


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

1.軟件下載

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

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

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圖標(biāo),選擇屬性菜單,在接著出現(xiàn)的窗口中點擊 內(nèi)存”,在 初始環(huán)境”后的下拉菜單中將 自動”改為2816,點擊 exit”按鈕退出窗口,再重新進(jìn)入DOS窗口。該設(shè)置只需要做一次。

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

set CLASSPATH=c:jdk1.3bin;.

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

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

然后在該DOS窗口中用CD命令進(jìn)入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://你的機(jī)器IP地址:8080,這時瀏覽器中顯示出缺省的頁面,在該頁面中可查看Servlet例子。
Java Servlet中提供了Cookie類,其構(gòu)造器有兩個參數(shù),分別代表Cookie的名字和值。Cookie類中提供了各種方法設(shè)置Cookie的屬性,如通過setMaxAge( )方法可以設(shè)置Cookie的生存時間。若生存時間為負(fù)值,代表瀏覽器關(guān)閉Cookie即消失。生存時間為0,代表刪除Cookie,生存時間為正數(shù),代表Cookie存在多少秒。

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

如下面的代碼可向用戶的計算機(jī)寫入兩個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);將其寫入用戶的計算機(jī)中。Cookie my1生存時間為100*60秒即100分鐘,而my2則在關(guān)閉瀏覽器時自動消失。

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

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

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

以設(shè)置好環(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://機(jī)器的IP地址:8080/examples/servlet/xx 便可以向用戶的計算機(jī)寫入Cookie了。

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

下面的例子可以打印出由Servlet所在服務(wù)器寫入用戶機(jī)器上的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;html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 运城市| 通江县| 溧阳市| 罗江县| 白城市| 玛多县| 镶黄旗| 肥乡县| 雷山县| 黄冈市| 黄大仙区| 德钦县| 宝清县| 临潭县| 竹溪县| 大竹县| 梁河县| 民乐县| 邢台县| 岚皋县| 开平市| 五莲县| 沂南县| 灵石县| 洛浦县| 云浮市| 沙河市| 凤凰县| 新绛县| 延庆县| 井冈山市| 大港区| 姚安县| 杭锦后旗| 胶南市| 遂平县| 广东省| 托里县| 金沙县| 辛集市| 双辽市|