J2ee中struts結(jié)構(gòu)不能解決的問題有哪些-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)J2ee中struts結(jié)構(gòu)不能解決的問題有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司主營新余網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),新余h5小程序開發(fā)搭建,新余網(wǎng)站營銷推廣歡迎新余等地區(qū)企業(yè)咨詢

第一:用戶重復(fù)登錄的問題

關(guān)于這個(gè)問題我考慮了兩種解決方法:

1:可以使用session來實(shí)現(xiàn),具體的實(shí)現(xiàn)可能要用到session的監(jiān)聽listener,我想這樣是可以實(shí)現(xiàn)的(參考所有的偵聽事件都必須在session的監(jiān)聽這篇文章),我們可以把所有登錄的用戶名保存在一個(gè)ArrayList中,這樣可以在用戶登錄的時(shí)候,先判斷ArrayList中是否存在此用戶名,if 存在則說明已經(jīng)登錄,else 則還沒有登錄,把用戶名存在ArrayList中,按照這樣的思路,似乎可以解決重復(fù)登錄,但是還存在一個(gè)問題,那就是如果用戶登錄后非正常退出即session沒有銷毀那么用戶在session-timeout(系統(tǒng)銷毀session的時(shí)間)的時(shí)間內(nèi)是不能登錄的,可參考session祥解,session祥解中提到session銷毀需要調(diào)用HttpSession.invalidate();或者是距離上一次收到客戶端發(fā)送的session id時(shí)間間隔超過了session的超時(shí)設(shè)置,在瀏覽器關(guān)閉時(shí)是不能刪除session的,從這個(gè)角度我們考慮,如果用戶關(guān)閉瀏覽器后,session還是存在的,即使用戶沒有登錄,那么用戶就要等待很長一段時(shí)間才能登錄;如何解決這個(gè)問題?

2:可以采用數(shù)據(jù)庫臨時(shí)表的方式來解決,但是此方法需要保持?jǐn)?shù)據(jù)庫連接的事務(wù)會話長期存在,因?yàn)榕R時(shí)表是在事務(wù)會話結(jié)束的時(shí)候銷毀的,采用struts的mvc結(jié)構(gòu)如何保持一個(gè)會話或事務(wù)在用戶操作系統(tǒng)期間不銷毀?數(shù)據(jù)庫事務(wù)會話的建里是不是在連接數(shù)據(jù)庫的時(shí)候建里?是不是只要保持?jǐn)?shù)據(jù)庫的連接就可以?

第二:數(shù)據(jù)的修改問題

在我們的系統(tǒng)中數(shù)據(jù)的修改是先查找到一筆記錄,然后在jsp中顯示出來,修改后再提交,可是這樣不能避免多個(gè)人同時(shí)在修改這條數(shù)據(jù);我們可以使用行鎖的辦法來鎖定這條記錄,即select for update的方式來鎖定這條記錄,可是前提是要把提取數(shù)據(jù)和修改數(shù)據(jù)作為同一個(gè)事務(wù)來處理,但是在struts結(jié)構(gòu)里面現(xiàn)在采用的是把提取數(shù)據(jù)和修改數(shù)據(jù)獨(dú)立開來了,如何可以做到把提取數(shù)據(jù)和修改數(shù)據(jù)作為同一個(gè)事務(wù)??是不是和臨時(shí)表一樣保持一個(gè)連接不斷開就可以啦?應(yīng)該如何做?

感謝各位的閱讀!關(guān)于“J2ee中struts結(jié)構(gòu)不能解決的問題有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)站名稱:J2ee中struts結(jié)構(gòu)不能解決的問題有哪些-創(chuàng)新互聯(lián)
本文URL:http://bm7419.com/article2/hdioc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、微信小程序、定制開發(fā)動(dòng)態(tài)網(wǎng)站、外貿(mào)建站、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司