1.struts
Action是不是線程安全的?如果不是,有什么方式可以保證Action的線程安全?如果是,說(shuō)明原因
2.MVC,分析一下struts是如何實(shí)現(xiàn)MVC的
3.struts中的幾個(gè)關(guān)鍵對(duì)象的作用(說(shuō)說(shuō)幾個(gè)關(guān)鍵對(duì)象的作用)
4.spring
說(shuō)說(shuō)AOP和IOC的概念以及在spring中是如何應(yīng)用的
5.Hibernate有哪幾種查詢數(shù)據(jù)的方式
6.load()和get()的區(qū)別
回答:
1.Struts1 Action是單例模式并且必須是線程安全的,因?yàn)閮H有Action的一個(gè)實(shí)例來(lái)處理所有的請(qǐng)求。單例策略限制了Struts1 Action能作的事,并且要在開(kāi)發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的。
Struts2 Action對(duì)象為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒(méi)有線程安全問(wèn)題。(實(shí)際上,servlet容器給每個(gè)請(qǐng)求產(chǎn)生許多可丟棄的對(duì)象,并且不會(huì)導(dǎo)致性能和垃圾回收問(wèn)題)
2.struts是用一組類,servlet 和jsp規(guī)范實(shí)現(xiàn)mvc的
3.ActionFrom ActionServlet Action struts-config.xml
4.spring的核心就是IOC,通過(guò)指定對(duì)象的創(chuàng)建辦法,描述對(duì)象與服務(wù)之間的關(guān)系,而不生成對(duì)象
5.3種,hql 條件查詢() 原生sql
6.load()方法認(rèn)為該數(shù)據(jù)一定存在,可以放心的使用代理來(lái)延時(shí)加載 ,如果使用過(guò)程中發(fā)現(xiàn)了問(wèn)題,就拋出異常;
get()方法一定要獲取到真實(shí)的數(shù)據(jù),否則返回null