學習java有幾年了,一直都是用模式一,模式二開發,但是在項目組很多人同時開發的時候,顯得有點力不從心!從3月份我就開始學習Struts2,并且運用strus2開發了實際的項目,現在我就把我的struts2學習和理解記下來,便于和大家進行經驗交流和以后的復習!大家都知道struts現在是分兩個版本,一個是struts1別一個就是所學的struts2。struts1出現的很早,運用它的市專場很大,但是隨著web技術的發展,struts1里的一些缺點也暴露出來
系統 2019-08-29 23:05:09 1997
注意:文中代碼有誤,為保留歷史痕跡在本文不做修改,正確代碼詳見《糾錯》在做系統的時候有意識的用到了抽象工廠這個設計模式,主要解決的是數據庫更換的問題。下面就以簡單的登錄來逐步的分析一下這個模式。經典的三層架構數據庫如下1.一般的數據庫連接方式界面層1:PublicClassLogin2:PrivateSubbtnLogin_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesbt
系統 2019-08-29 23:01:41 1997
內存鏡像法的步驟(1)用OD打開軟件(2)點擊選項——調試選項——異常,把里面的忽略全部√上。CTRL+F2重載下程序(3)按ALT+M,打開內存鏡象,找到程序的第一個.rsrc.按F2下斷點,然后按SHIFT+F9運行到斷點,接著再按ALT+M,打開內存鏡象,找到程序的第一個.rsrc.上面的代碼段.text(或者CODE)(也就是00401000處),按F2下斷點。然后按SHIFT+F9(或者是在沒異常情況下按F9),直接到達程序OEP實戰1查殼用PE
系統 2019-08-29 22:51:08 1997
Eclipse是目前非常流行的開發平臺,開放擴展的架構讓很多程序員找到了自己個性化的工作環境,Hibernate也是目前牛叉得不得了的框架,至少在EJB3大行其道之前,它是我們在考慮OR映射時非常好的選擇。本文主要介紹如何利用HibernateSyn插件在Eclipse3.0.1中快速的開發Hibernate應用程序,提高我們的工作效率。關于Hibernate框架的細節,本文不做過多的討論,請參考相關資料,推薦《Hibernateinaction》一書。首
系統 2019-08-29 22:45:04 1997
轉自http://www.ibm.com/developerworks/cn/websphere/library/techarticles/loulijun/0412/eai.html本文介紹了EAI的概念,并對一套完整的EAI技術層次體系中的不同層面進行了詳細的講解。
級別:中級M.TimJones(mtj@mtjones.com),顧問工程師,Emulex2006年9月28日Linux?中最常用的輸入/輸出(I/O)模型是同步I/O。在這個模型中,當請求發出之后,應用程序就會阻塞,直到請求滿足為止。這是很好的一種解決方案,因為調用應用程序在等待I/O請求完成時不需要使用任何中央處理單元(CPU)。但是在某些情況中,I/O請求可能需要與其他進程產生交疊。可移植操作系統接口(POSIX)異步I/O(AIO)應用程序接口(A
系統 2019-08-12 09:30:23 1997
相關函數列表//syslog函數#includevoidopenlog(constchar*ident,intoption,intfacility);voidsyslog(intpriority,constchar*format,...);voidcloselog(void);intsetlogmask(intmaskpri);//除syslog,很多平臺還提供它的一種變體來處理可變參數列表#include#incl
系統 2019-08-12 09:29:37 1997
Python五種數據類型在學習一門語言的過程中,首先肯定就是要先接觸到它所擁有的數據類型,Python擁有五種主要的數據類型,下面介紹一下我對這五種數據類型的理解和想法。1.數在Python中的數主要分為四種:int(整數)、float(浮點數)、long(長整型)和complex(復數)主要特別的地方就是float類型的數有一個函數round()可以取整:round(a,b):對float類型的數值a進行操作,小數點后保留b位有效數字,四舍五入,默認為1
系統 2019-09-27 17:57:03 1996
導入模塊frombs4importBeautifulSoupsoup=BeautifulSoup(html_doc,"html.parser")下面看下常見的用法print(soup.a)#拿到soup中的第一個a標簽print(soup.a.name)#獲取a標簽的名稱print(soup.a.string)#獲取a標簽的文本內容print(soup.a.text)#獲取a標簽的文本內容print(soup.a["href"])#獲取a標簽的href屬性
系統 2019-09-27 17:55:49 1996
首先理解Python的函數能像普通的對象一樣能作為參數傳遞給其他函數,可以被賦值給其他變量,可以作為返回值,可以被定義在另外一個函數內。前面的文章已經對閉包做了介紹,再次進行延伸和理解一下裝飾器,主要用于不在改變源代碼的情況下進行添加功能,裝飾器利用閉包來實現,一般和閉包一起使用。裝飾器返回一個函數對象,簡單理解在原函數功能上又加入新功能并返回一個和原函數名相同的函數對象。deffuncout(func):deffuncIn(x,y):func(x,y)#
系統 2019-09-27 17:55:41 1996