###### tags: `大吳上課` `Servlet` # 0512 ## 第一節課 ### 不使用cookie的替代方法 透過URL取代cookie傳Session,若無cookie可用的話 ### 專題製作不要關閉cookie ### 預習方向 第十章全部 第十一張out、if、foreach P.225 MVC購物車 購物車使用技術:JDBC、泛型、集合、Servlet ~~Array可以用,但可能會有超出長度的問題~~ <!-- List<ProductVO> --> List最優 補充Cookie,預設為沒給存活時間的話,關閉瀏覽器即消失 ## 第二節課 看SessionTracker.java,Manuallnvalidate.java,SessionSnoop.java encodeURL可跨平台(透過jsessionid在URL上存取,會直接帶著走) URL很危險 小心使用(不夠保密) cookie的方式在關閉以後理論上會抓不回來,但可以透過URL找SessionID 找回 若給URL,就URL優先 若已經有Cookie在執行中,丟其他的URL覆蓋,後面URL的方式會被忽略,因已經有Cookie的在執行中了,不會有繞道的行為 ## 第三節課 檢查 Session有幾條在tomcat中,要有getSession才會產生Session的存在,Session為人為物件,若沒產生則不會產生該物件 HttpSession session = req.getSession(); 使用者端會靠cookie存,伺服器端會存Session,伺服器關掉後仍存在Session,但要正常shutdown,若強制關閉則可能會消失 ## 第四節克 在JDBC的"+"要用"%2b","&">"&"o mysql的驅動程式8.0.13跟以前版本有很大差別 ``` //註: 將來如果theURL註冊於XML檔案內的時候,以下的[&]必須改寫為[&] public static final String theURL = "jdbc:mysql://localhost:3306/db01?serverTimezone=Asia/Taipei" // 必須設定時區: [serverTimezone=Asia/Taipei] /* 事實上也可用[serverTimezone=GMT+8] --> [serverTimezone=GMT%2B8] * GMT+8 可以表示台灣或香港時區: 但要注意不可以用[+]號,需要轉用[%2B]代替[+] * serverTimezone值的列表: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones */ //註: 以下可省略不設定 + "&sslMode=PREFERRED" // SSL注意1.從Connector / J 8.0.13新版開始,"sslMode"的預設值為"PREFERRED",它等效於的舊版的"useSSL=true&requireSSL=false&verifyServerCertificate=false" // SSL注意2.新版與Connector / J 8.0.12及更早版本的預設設置有所不同,舊版常看到的是使用useSSL=false以解決客戶端應用程式無SSL的問題 // SSL注意3.新版如果明確地設置了"sslMode",則將忽略舊式屬性。如果未明確設置"sslMode"或"useSSL",則將應用預設設置為"sslMode = PREFERRED" --> 可以查看官方文件connector-j-8.0-en.pdf第32頁 + "&rewriteBatchedStatements=true" // 批次更新需要此資訊 + "&allowPublicKeyRetrieval=true" // 配合MySQL 8以後版本對密碼儲存機制的設定 + "&useUnicode=true" // 可以不用再設定: 參見如下 + "&characterEncoding=utf-8" // 可以不用再設定: 因為mySQL8 預設的編碼已經從[latin1] 改為 [utf8mb4] --> 可以執行 show variables like '%character%'; 查看 ; ``` 驅動程式匯入三種方式 1. UltraEdit的匯入 2. IDE的匯入 3. 伺服器本身自帶 ## 第五節課 ### 解釋連線池 wait();,notify(); 優點 1. 提高資料庫效能 2. 解決交易的問題 " " 為空白 toString方法在println(xxx),自動呼叫xxx. DBPhoneLookup.java 大雜燴 很多技術都在當中使用, 提供給小專案, 位置在C:\Teacher_wu\SL314_Servlet5課程分享\SL314_課程中分享\10B_DataBase (mySQL8●) 補充JDBC在P.168 ## 第六節課 兩張表格互相關聯會較難處理在關聯上 1. session 2. 區域變數 3. try{} catch{} 4. 重複使用 5. 連線池
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up