1.JSP和Servlet
Servlet和JSP是統(tǒng)一的睬罗,廣義上的Servlet包含JSP和Servlet,真正提供服務(wù)的是Servlet芯义。JSP必須被服務(wù)器編譯成Servlet岔冀,真正運(yùn)行在Web服務(wù)器內(nèi)的是Servlet。
2.Hibernate和MyBatis
ORM(Object Relation Mapping)的起源:傳統(tǒng)的java應(yīng)用都采用JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫連接)來訪問數(shù)據(jù)庫坯墨,JDBC是一中基于SQL的操作方式,這種操作方式與java語言面向?qū)ο蟮乃枷氩惶恢虏⊥也僮鞣爆嵉啡荆跃彤a(chǎn)生了ORM技術(shù)。最早的ORM技術(shù)是EJB(Enterprise JavaBean)停巷,EJB是java EE的核心耍攘,但是EJB操作仍然極其繁瑣。
Hibernate是開源的ORM框架畔勤,它將普通的蕾各、傳統(tǒng)的Java對象(POJO, Plain Old Java Object)映射成持久化類,應(yīng)用程序可以用面向?qū)ο蟮姆绞絹聿僮鱌OJO,Hibernate負(fù)責(zé)將這種操作轉(zhuǎn)換成底層的SQL操作庆揪。Hibernate是一種一站式式曲、全自動的解決方案。
MyBatis是Apache組織提供的一個(gè)輕量級持久層框架缸榛,與Hibernate相比它是一中半自動化的解決方案吝羞。Hibernate會全自動的生產(chǎn)SQL語句,而MyBatis需要程序員自己編寫具體的SQL内颗,將大量的SQL語句從程序中剝離出來钧排,配置在配置文件中,實(shí)現(xiàn)SQL的靈活配置均澳。SQL與程序分離恨溜,可以在不修改代碼的情況下,直接在配置文件中修改SQL负懦。