10月16日培训日记
講解了RequestDispatcher.forward方法實(shí)現(xiàn)請(qǐng)求跳轉(zhuǎn),其常見于MVC模式的WEB開發(fā)中。
通過一個(gè)情景故事講解了什么是MVC模式和MVC模式的好處,Servlet完全業(yè)務(wù)處理,jsp完成頁面顯示,Servlet將jsp顯示時(shí)要用到的數(shù)據(jù)放在哪呢?Servlet處理完成后通過什么樣的方式將剩余的處理工作交給jsp呢?MVC模式的好處是牽一發(fā)而不用動(dòng)全身。
Servlet可以將數(shù)據(jù)存儲(chǔ)在三個(gè)地方:ServletContext,Session,Request。由這三者的區(qū)別講解了購物車。所謂購物車,就是保存在Session中的一個(gè)容器對(duì)象。
登陸出錯(cuò)時(shí)的標(biāo)準(zhǔn)處理方式,forward相對(duì)路徑的問題:a跳轉(zhuǎn)到b,b頁面內(nèi)容中的相對(duì)路徑將是相對(duì)于a,而不是相對(duì)b,怎么解決foward相對(duì)路徑的問題?不管瀏覽器地址欄中的地址怎樣改變,<base>讓當(dāng)前網(wǎng)頁中的相對(duì)路徑總是固定。
forward后面的代碼是否會(huì)執(zhí)行?如果想讓一個(gè)方法調(diào)用后面的代碼不執(zhí)行,怎么辦?拋出異常!
用PrintWriter對(duì)象進(jìn)行輸出時(shí),輸出的數(shù)據(jù)源必須是字符串,如果用PrintWriter方法輸出一個(gè)文件內(nèi)容,那就要把硬盤文件內(nèi)容先以字符串的形式讀取到內(nèi)存中來。缺省Servlet在這種情況下是如何進(jìn)行輸入與輸出的,馮偉立在這畫了一個(gè)很好的總結(jié)圖:某種字符編碼的文件--(fileEncoding參數(shù))-->內(nèi)存中的Unicode編碼字符串--(PrintWriter對(duì)象使用的輸出碼)-->某種字符編碼的輸出流。
forward方法是引擎提供的,所以,Servlet調(diào)用forward就是在給引擎回話,告訴Servlet引擎去做什么事。
forward請(qǐng)求轉(zhuǎn)發(fā)的執(zhí)行流程,foward應(yīng)用中的更多細(xì)節(jié)問題。
sendRedirect請(qǐng)求重定向的運(yùn)行原理,sendRedirect請(qǐng)求重新定向與forward請(qǐng)求轉(zhuǎn)發(fā)的比較。魏奕東提問:“如果兩個(gè)程序互相sendDirect,情況會(huì)怎樣?”我回答是死循環(huán),由此又給大家講解了兩個(gè)郵箱都設(shè)置自動(dòng)回信時(shí)所出現(xiàn)的循環(huán)問題,增長(zhǎng)大家的見識(shí)。
講解了缺省Servlet的緩存問題。
接著為大家講解了如何配置Tomcat,讓其支持SSL協(xié)議。
首先介紹非對(duì)稱的公鑰/私鑰加密,和對(duì)稱的私鑰加密,對(duì)稱加密的優(yōu)點(diǎn)和作用,非對(duì)稱加密的優(yōu)點(diǎn)和作用。
在非對(duì)稱加密中,持公鑰者向?qū)Ψ桨l(fā)送加密數(shù)據(jù),持私鑰者可用于身份認(rèn)證。MD5與公鑰/私鑰結(jié)合形成的數(shù)字簽名,數(shù)字證書等等。
SSL協(xié)議與TLS協(xié)議,TLS是SSL的升級(jí)替代。看Tomcat中文檔SSL的介紹和JDK中的keytool的介紹。
keystore用于存儲(chǔ)key和證書,key和證書有一個(gè)名字,稱為別名,每個(gè)別名有一個(gè)密碼。keystore本身也有一個(gè)密碼來保護(hù)它。我課堂上的比喻是抽屜與抽屜中的筆記本。
1.客戶端向服務(wù)器發(fā)送自身的一些SSL/TLS信息
2.服務(wù)器回送自己的證書
3.瀏覽器驗(yàn)證后,并比較證書的用戶名與服務(wù)器名是否相同(僅作為一條提示信息,為了讓此通過,在使用keytool時(shí),當(dāng)提示用戶名時(shí),應(yīng)輸入服務(wù)器的名稱)。用服務(wù)器證書上的公鑰加密一個(gè)隨機(jī)數(shù),客戶端與服務(wù)器以后都用這個(gè)隨數(shù)產(chǎn)生一個(gè)私鑰,這個(gè)私鑰加密雙方傳輸?shù)臄?shù)據(jù)。
SSL是一個(gè)雙向過程,服務(wù)器和瀏覽器送出去的所有數(shù)據(jù)都要加密。
WEB服務(wù)器的數(shù)字證書是與IP地址綁定,即每一個(gè)IP都需要一個(gè)數(shù)字證書。數(shù)字證書上還描述了公司名稱,管理員的聯(lián)系信息等附屬內(nèi)容。數(shù)字證書中有其屬主的加密簽名,所以,很難被人模仿。
配置Tomcat的安全連接器時(shí),先講解清楚了Tomcat的體系結(jié)構(gòu)。
做了一下使用hibernate訪問Oracle數(shù)據(jù)庫的實(shí)驗(yàn),起到復(fù)習(xí)hibernate和學(xué)習(xí)連接Oracle的效果。
在客戶機(jī)上使用sql plus連接Oracle時(shí),在客戶機(jī)上必須使用net manager配置描述符(要注意單擊保存按鈕,郁悶!)
在配置文件中增加實(shí)體時(shí)的一個(gè)問題:
<mapping resource="cn/itcast/Student.hbm.xml"/>中的cn前不能有斜杠
<session-factory>設(shè)置name屬性時(shí),報(bào)告JNDI異常,怎么解決?在這種情況下,要將hibernate放置于支持JNDI的容器環(huán)境中。
講解了hibernate.hbm2ddl.auto屬性的三個(gè)設(shè)置值的區(qū)別:create、create-drop、update。
?
轉(zhuǎn)載于:https://www.cnblogs.com/spring3/archive/2006/10/19/2401745.html
總結(jié)
以上是生活随笔為你收集整理的10月16日培训日记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 群晖推出推 4 盘位 NAS DS423
- 下一篇: 英语阅读推荐:主题切换控件 Expre