Java 10 18 課堂總結

2021-06-01 02:40:57 字數 2008 閱讀 8708

一,servletconfig和servletcontext

• servletconfig

– 如何給servlet類配置初始化引數

– 如何在servlet類中獲取它的初始化引數值

• servletcontext

– 如何配置web應用上下文初始化引數

– 如何在servlet類中獲取web應用上下文的初始化引數值

• servletcontext的其他用途

– public void setattribute(string name, object obj):根據指定名name把物件obj存放到應用上下文範圍中。

– public object getattribute(string name):根據指定名從應用上下文範圍中獲取到該屬性物件。

– public void removeattribut(string name):根據指定名從應用上下文範圍中移除該屬性。

• servletconfig和servletcontext的區別

– 整個web應用只有乙個servletcontext,在部署web應用的時候,容器會建立這乙個servletcontext物件,這個上下文對web應用中的每個servlet和jsp都可用。 

– web應用中的各個servlet都有自己的servletconfig,它只對當前servlet有效。

二,servlet的執行緒安全問題

• 使用synchronized

– 使用synchronized關鍵字同步操作成員變數和共享資料的**,就可以防止可能出現的執行緒安全問題。 

• 盡量少使用成員變數和共享資料

– servletcontext是可以多執行緒同時讀/寫成員變數和共享資料的,執行緒是不安全的。 

– servletrequest物件在service方法的範圍內是有效的,不要試圖在service方法結束後仍然儲存請求物件的引用。 

– servlet本身就是多執行緒的,在servlet中再建立執行緒,將導致執**況複雜化,出現多執行緒安全問題。 

三,會 話 跟 蹤

• 當使用者在同一**的多個頁面之間轉換時,根本無法知道是否是同乙個客戶,會話跟蹤是一種靈活、輕便的機制,它使在頁面上的狀態程式設計變為可能。當乙個客戶在多個頁面間切換時,伺服器會儲存該使用者的資訊。

• web應用中的會話是指乙個客戶端瀏覽器與web伺服器之間連續發生的一系列請求和響應過程。 

• 從客戶端開啟瀏覽器並連線伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為乙個會話。

• web應用的會話狀態是指定web伺服器與瀏覽器在會話過程中產生的狀態資訊。 

• 借助於會話狀態,web伺服器能夠把同一會話中的一系列的請求和響應過程關聯起來,使得它們之間可以互相依賴和傳遞資訊。例如在購物過程中,購物結算時,必須知道使用者的登入結果(登入成功或失敗),產品訂購的結果(訂購了哪些產品,訂購了幾件)等,所以,在購物會話中,使用者的登入賬戶資訊和訂購的產品就是這個會話的狀態資訊

• 幾乎所有的web應用程式,客戶端瀏覽器與web伺服器的會話過程都是要有狀態的,即web伺服器程式在處理瀏覽器發出的請求時,能夠把它和使用者會話資訊關聯起來。

• http協議是一種無狀態的協議,瀏覽器主動發出乙個請求,web伺服器接收請求並返回乙個響應,web伺服器並不能區分這個請求是從哪乙個主機上的哪種瀏覽器發出的。web伺服器接收到乙個客戶端瀏覽器的請求時,根本無法確定該瀏覽器先前的訪問請求資訊。對於這種無狀態的會話過程,瀏覽器每一次請求都是完全孤立的,web伺服器端根本就不認為同乙個瀏覽器發出的請求之間有任何關聯。

• 由於http協議本身不具有會話狀態,所以,要想在web應用程式中維持會話狀態資訊和實現有狀態的會話管理,必須採用一些專門的技術來進行解決。

• 要實現有狀態的會話,就需要在web伺服器程式和客戶端瀏覽器之間來回傳遞會話id,以關聯同一客戶端瀏覽器向伺服器發出的連續請求。實現在web伺服器程式和客戶端瀏覽器之間來回傳遞會話id的技術被稱為會話跟蹤技術。

• 會話跟蹤技術主要有兩種:

• 通過cookie技術在請求訊息首部中傳遞會話id;

• 通過url重寫,即在url的末尾新增上這個會話id

Java 10 10課堂總結

課堂總結 一 用tomcat 構建web 站點 一 web應用的相關知識 2 web應用程式簡介 應用程式 指允許使用者執行特定任務的軟體程式,主要分為桌面應用程式和web 應用程式兩種型別。一般是指採用客戶機 伺服器結構 client server 的應用程式。c s模式將應用與服務分離,系統具有...

Java 9 16課堂總結

jdbc的批量處理 statement的 execute 等方法一次只能執行一條 sql語句,如果同時有多條 sql語句要執行的話,可以使用 addbatch 方法將要執行的 sql語句執行進來,然後執行 executebatch 方法,這樣就可以再一次方法中呼叫多條 sql語句,以提高執行效率。為...

2021 3 8課堂總結

drop table if exists exam result2 create table exam result2 id int,name varchar 20 chinese decimal 3,1 math decimal 3,1 english decimal 3,1 qq mail va...