web總結之程式

2021-03-04 08:00:02 字數 3034 閱讀 3083

一、 http協議

(1)http是hyper text transfer protocol(超文字傳輸協議)的縮寫

http協議(hypertext transfer protocol,超文字傳輸協議)是用於從www伺服器傳輸超文字到本地瀏覽器的傳送協議

http是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型。http是乙個無狀態的協議。

發出的請求資訊包括以下幾個:

●請求行,例如get /images/logo.gif http/1.1,表示從/images目錄下請求logo.gif這個檔案。

●(請求)頭,例如accept-language: en

●空行●可選的訊息體請求行和標題必須以作為結尾(也就是,回車然後換行)。空行內必須只有而無其他空格。在http/1.1協議中,所有的請求頭,除post外,都是可選的。

(2)最後一行是資料提交的方式,通過變數名和變數值的方式來提交,中間用&隔開。

get方式提交後在url中就可以看到username=aaa&password=111。

(3) web-inf:是對web的描述。

1) web-inf下必須有乙個檔案叫web.xml,是web application的配置檔案。

2) lib目錄:該web app用到的庫檔案

3)classes:存放編譯好的servlet

(4) 觀察httpservlet的方法。

當客戶端去請求乙個url位址的時候,會呼叫servlet相應的方法。

針對不同的請求,會呼叫不同的方法。如果是get請求,會呼叫doget()方法。直接在url敲位址就是get方式。

如果是post請求,會呼叫dopost()方法。直接在form中點提交,並且method是post方式這種形式才是post方式。除了這兩種方式之外,還有其他的方式。

httpservletrequest:封裝了客戶端到伺服器端一系列的請求。

httpservletresponse:封裝了伺服器端返回給客戶端的物件。

在web-inf下新建乙個classes資料夾,在該資料夾中放置helloworldservlet類編譯之後的class檔案。

解釋:表示有乙個servlet,

隨便取名,

就是類名,建議copy過來類名。

客戶端要訪問哪個url可以呼叫這個servlet,

就是剛才取的名字,

就是url中的內容,永遠以/開頭,表示相對於web application根目錄的路徑。如

二、 servlet的生命週期

(1)servlet的生命週期:

1.載入

2.例項化

3.初始化init方法

4.處理請求doget或dopost方法

5.退出服務destroy

(2)獲取請求引數

param1:

pw.println(request.getparameter("param1"));

(3)可以在doget方法第一行加入設定頁面內容型別的語句,避免瀏覽器不識別

四、session

cookie是記錄在客戶端,session是記錄在伺服器端。但是cookie記錄在客戶端,使用者可以設定不允許寫入cookie,使用者也可以刪除cookie或者修改cookie,不夠可靠。

session是寫在伺服器端記憶體中的內容,當寫session的時候會為客戶端的瀏覽器記錄乙個唯一的編號,同時為session也賦予同樣的號碼。當使用者訪問第二個頁面的時候,伺服器端會根據瀏覽器的編號去找同乙個編號對應的session。這個編號叫sessionid。

session的兩種實現方式:

1. )通過cookie來實現;2.通過url重寫來實現。

規則:1.如果瀏覽器支援cookie,建立session的時候會把sessionid儲存在cookie裡面。

2.如果瀏覽器不支援cookie,一方面ie可能禁止不了cookie,session仍然會寫在自己的cookie裡面,另一方面session有可能就不能正常使用了。這時必須自己程式設計使用url重寫的方式實現session。

要使用方法response.encodeurl(),這個方法的作用有(1)轉碼(2)url後面加入sessionid。

測試:登入郵箱。登入頁面和使用郵箱頁面是兩個頁面,這時需要用到session,記錄sessionid。

下面這個實驗要求在支援cookie和阻止cookie兩種情況下進行測試。

生成session

session.setattribute("yonghm2","使用者名稱3-8位字母");

接受session

out.println(session.getattribute("yonghm2"));

2. )

session是伺服器端的一塊記憶體,可以在這塊記憶體中放任何內容,只要這些內容按照名-值對的形式存放就可以。

3. )application——比較簡單

cookie是在客戶端才能訪問。

每個人可以訪問自己的session,不可以共享別人的session。session是針對不同的客戶端有不同的記憶體區域。

如果需要一些值放在記憶體中讓所有客戶端共享,這些值就可以放在application中。application是所有的客戶端都可以去訪問它。對應的類叫做servletcontext。

例如想統計某個頁面總共訪問了多少次?方法一:將這個次數放在資料庫或者檔案中;方法二:

將這個次數放在application中。

乙個web server下面有多個web application,比如我們的工程servlet_example,在每個web application中有多個servlet,每個web application的執行環境稱作context(上下文),servlet context稱作servlet執行的上下文的環境。所以context和web application一一對應。如果在web application中放東西的話,所有的客戶端都可以拿到。

web服務例子總結

windows服務建立,註冊,啟動,解除安裝 1.新建乙個專案 2.從乙個可用的專案模板列表當中選擇windows服務 3.設計器會以設計模式開啟 4.從工具箱的元件表當中拖動乙個timer物件到這個設計表面上 注意 要確保是從元件列表而不是從windows窗體列表當中使用timer 5.設定tim...

WEB前端開發經驗總結

結構,結構,剛才我提到了標籤有塊級元素和行內元素之分的,要是不理解好這兩個概念,我們也不會很好的了解怎麼合理的結構化頁面,現在就來介紹它們 塊級元素 塊級元素生成乙個元素框,預設地 它會填充其父級元素的內容,旁邊不能有其他元素。換句話說,他在元素框之前和之後生成了 分隔 符。我們最熟悉的html元素...

web應用開發實訓總結

實訓總結 這學期將要結束,在最後的web實訓的這三周中,我弄懂了許多在上課中不曾理解的東西,比如如何連線資料庫,如何將使用者控制項繫結資料庫,如何編寫後台 我認為這三周的實訓,對我來說是及其重要的,它讓我鞏固了這一學期來所學web知識,讓我更加深入的了解這門課的重要性,我也十分的感謝申老師!在這次的...