對(duì)于開發(fā)者而言,編寫常規(guī)的Ajax代碼并不容易,因?yàn)椴煌臑g覽器對(duì)Ajax的實(shí)現(xiàn)并不相同,這也就意味著開發(fā)者需要編寫額外的代碼對(duì)瀏覽器進(jìn)行測(cè)試。查看全文>>
我們?cè)趧?dòng)態(tài)Web項(xiàng)目的開發(fā)中,經(jīng)常需要?jiǎng)討B(tài)生成HTML內(nèi)容(如系統(tǒng)中的當(dāng)前在線人數(shù)需要?jiǎng)討B(tài)生成)。如果使用Servlet實(shí)現(xiàn)HTML頁(yè)面數(shù)據(jù)的統(tǒng)計(jì),則需要使用大量的輸出語(yǔ)句。查看全文>>
在Java中,要想實(shí)現(xiàn)多線程,就必須在主線程中創(chuàng)建新的線程對(duì)象。當(dāng)線程對(duì)象創(chuàng)建完成時(shí),線程的生命周期也就開始了,當(dāng)run()方法正常執(zhí)行完畢,或者出現(xiàn)未捕獲的異?;蛘咤e(cuò)誤的時(shí)候,線程的生命周期便結(jié)束了。查看全文>>
JSP的工作模式是請(qǐng)求/響應(yīng)模式,客戶端首先發(fā)出HTTP請(qǐng)求,JSP程序收到請(qǐng)求后將進(jìn)行處理并返回處理結(jié)果。在一個(gè)JSP文件第一次被請(qǐng)求時(shí),JSP引擎(容器)把該JSP文件轉(zhuǎn)換成一個(gè)Servlet,而這個(gè)引擎本身也是一個(gè)Servlet。查看全文>>
在Hibernate中,可以通過(guò)代碼操作管理事務(wù),例如Transaction tx = session.begin Transaction();表示開啟一個(gè)事務(wù);進(jìn)行持久化操作后,執(zhí)行tx.commit();操作提交事務(wù);如果在操作的過(guò)程中出現(xiàn)了異常的情況,則執(zhí)行tx.rollback();操作回滾事務(wù)。查看全文>>
所謂分模塊設(shè)計(jì),顧名思義指的就是我們?cè)谠O(shè)計(jì)一個(gè) Java 項(xiàng)目的時(shí)候,將一個(gè) Java 項(xiàng)目拆分成多個(gè)模塊進(jìn)行開發(fā)。如果項(xiàng)目不分模塊,也就意味著所有的業(yè)務(wù)代碼是不是都寫在這一個(gè) Java 項(xiàng)目當(dāng)中。隨著這個(gè)項(xiàng)目的業(yè)務(wù)擴(kuò)張,項(xiàng)目當(dāng)中的業(yè)務(wù)功能可能會(huì)越來(lái)越多。查看全文>>