公司開(kāi)發(fā)的時(shí)候嘲恍,基本上都會(huì)實(shí)現(xiàn)一些現(xiàn)成的框架,比如ssh啊雄驹,這樣的佃牛。之前寫小例子的時(shí)候,自己寫了一個(gè)由servlet+jdbc構(gòu)成的服務(wù)器端医舆,現(xiàn)在說(shuō)說(shuō)里面遇到的問(wèn)題
1俘侠,登錄后,想寫一個(gè)Util.getCurrentUser()方法來(lái)獲取當(dāng)前的登錄人員
一開(kāi)始想當(dāng)然的就寫了蔬将,在Servlet的doPost方法中爷速,直接獲取session里面的user對(duì)象,然后存到Util里面的一個(gè)靜態(tài)變量中霞怀,這樣遍希,Util.getCurrentUser()就可以了。寫完以后里烦,總覺(jué)得哪里不對(duì)凿蒜,直到并發(fā)的時(shí)候,發(fā)現(xiàn)身份串了胁黑。才發(fā)現(xiàn)這是一個(gè)錯(cuò)誤废封。
改過(guò)后,是這樣的
采用ThreadLocal丧蘸,這樣就可以避免身份串掉了漂洋。代碼如下:
2,數(shù)據(jù)庫(kù)操作力喷,在經(jīng)歷了前面一個(gè)并發(fā)問(wèn)題后刽漂,我發(fā)現(xiàn)我原來(lái)寫的數(shù)據(jù)庫(kù)操作,是不支持高并發(fā)的弟孟。于是我只是簡(jiǎn)單的加了一個(gè)數(shù)據(jù)庫(kù)連接池~~~proxool
使用過(guò)程基本上很多人都介紹過(guò)了贝咙,我自己也記錄下
*準(zhǔn)備三個(gè)jar:proxool-cglib.jar,proxool-0.9.1.jar拂募,commons-logging-1.2.jar導(dǎo)入項(xiàng)目
*WEB-INF文件夾下面增加proxool.xml文件庭猩,內(nèi)容如圖
*獲取數(shù)據(jù)庫(kù)連接的方法
沒(méi)了