一伐厌、JDBC技術(shù)承绸,
? ? ? ? ? ? ? ? 1.說下原生jdbc操作數(shù)據(jù)庫流程?
? ? ? ? ? ? ? ? ? ? ? ? 第一個:Class.forName()挣轨。加載數(shù)據(jù)庫的連接驅(qū)動
? ? ? ? ? ? ? ? ? ? ? ? 第二步:DriverManager.getConnection()獲取數(shù)據(jù)連接對象
? ? ? ? ? ? ? ? ? ? ? ? 第三步:根據(jù)SQL獲取sql會話對象军熏。有兩種方式,Statement卷扮,PreparedStatement荡澎;
? ? ? ? ? ? ? ? ? ? ? ? 第四步:執(zhí)行SQL處理集,執(zhí)行SQL前如果有參數(shù)值就設(shè)置參數(shù)值setXXX();
? ? ? ? ? ? ? ? ? ? ? ? 第五步:關(guān)閉結(jié)果集晤锹,關(guān)閉對話摩幔,關(guān)閉連接。
? ? ? ? ? ? ? ? 2.為什么要使用ParparedStatement?
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.PreparedStatement接口繼承Statement鞭铆、PreparedStatement實例包含已編譯的SQL語句或衡,所以其執(zhí)行速度
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?要快于Satement
? ? ? ? ? ? ? ? ? ? ? ? ????2。作為Statement的子類,PrepareStatement繼承了Statement的所有功能封断,三種方法斯辰,? ? ?????????????????????????????execute,executeQuery和executeUpdate已被更改以使之不再需要參數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3.在?JDBC應(yīng)用中,在任何時候都不使用Statement坡疼,原因如下
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一彬呻。代碼的可讀性和可維護性,Statement需要不斷拼接柄瑰,而PreparedStatement不會闸氮。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 二。PreparedStatement盡最大可能提高性能狱意,DB有緩存機制湖苞,相同的預(yù)編譯語句再次被調(diào)用會不在需要編譯
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 三,最重要的一點是極大地提高了安全性,Statement容易SQL注入十电,而PreparedStatement傳入內(nèi)容
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 不會和sql語句發(fā)生任何匹配關(guān)系
? ? ? ? ? ? ? ? ? ? ? ? 3.關(guān)系數(shù)據(jù)庫中連接池的機制是什么备绽?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? 前提:為數(shù)據(jù)庫連接建立一個緩沖池。
? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.從連接池獲取或創(chuàng)建可用連接
? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.使用完畢之后望浩,把連接返回給連接池
? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.在系統(tǒng)關(guān)閉前。斷開所有連接并釋放連接占用的系統(tǒng)資源
? ? ? ? ? ? ? ? ? ? ? ? ????4.能夠處理無效鏈接,限制連接池中連接總數(shù)不低于或者不超過某個限定值羔杨。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 最小連接數(shù)是連接池一直保持的數(shù)據(jù)連接,如果應(yīng)用程序?qū)?shù)據(jù)庫連接的使用量不大杨蛋,將會有大量
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 的數(shù)據(jù)庫連接資源被浪費掉
? ? ? ? ? ? ? ? ? ? ? ? ? ? 最大連接數(shù)是連接池能申請的最大連接數(shù)兜材,如果數(shù)據(jù)連接請求超過了次數(shù),后面的數(shù)據(jù)連接請求會被加入到等待隊列中逞力,這會影響之后的數(shù)據(jù)庫操作????????
? ? ? ? ? ? 如果最小連接數(shù)與最大連接數(shù)相差太大曙寡,那么,最先的連接請求將會獲利寇荧,之后超過举庶,最小連接數(shù)量的連接請求等價于
? ? ? ? ? ? 建立一個新的數(shù)據(jù)庫連接,不過揩抡,這些大于最下連接數(shù)的數(shù)據(jù)庫連接在使用完不會馬上釋放户侥,它將會被放到連接池中等待重復(fù)使用或是空閑超時后被釋放
二。Cookie和Session
1.Cookie和Session的區(qū)別
? ? ? ? Cookie是web服務(wù)器發(fā)送給瀏覽器的一塊信息峦嗤,瀏覽器會在本地一個文件中給每個web服務(wù)器存儲cookie
? ? ? ? 以后瀏覽器再給特定的web服務(wù)器發(fā)送請求時蕊唐,同時會發(fā)送所有為該服務(wù)器存儲的cookie.
? ? ? ? Session是存儲在web服務(wù)器端的一塊信息,session對象烁设,存儲特定用戶會話所需的屬性和配置信息替梨,當用戶在
? ? ? ? 應(yīng)用程序的Web頁面之間跳轉(zhuǎn)時,存儲在Session對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去
? ? Cookie和session的不同點:
? ? 1耙替。無論客戶端做怎樣的設(shè)置亚侠,session都能夠正常工作,當客戶端禁用cookie時俗扇,將無法使用cookie
? ? ? ?2.在存儲的數(shù)據(jù)方面硝烂,session能夠存儲任意的java對象,cookie只能存儲String類型的對象
三铜幽,JSP技術(shù)
? ? ? ? ? ? 1滞谢,什么事jsp,什么事servlet除抛,jsp與Servlet有什么區(qū)別狮杨,
????????????jsp本質(zhì)上就是一個Servlet,它是Servlet的一種特殊形式到忽,每個jsp頁面都是一個servlet
????????????實例橄教。
????????????Servlet是由 Java提供用于開發(fā) web服務(wù)器應(yīng)用程序的一個組件,運行在服務(wù)端喘漏,由servlet 容器管理护蝶,用來生
????????????成動態(tài)內(nèi)容。一個 servlet 實例是實現(xiàn)了特殊接口 Servlet 的 Java 類翩迈,所有自定義的 servlet 均必須實現(xiàn) Servlet 接
????????????口
????????????區(qū)別:jsp側(cè)重代碼持灰,servlet側(cè)重控制。
? ??????????2. jsp有哪些域?qū)ο蠛蛢?nèi)置對象及他們的作用负饲?堤魁,這個不會就白學jsp了。返十。妥泉。。
四吧慢。XML技術(shù)
? ? ? ? ? ? 1.什么是xml涛漂,使用xml的優(yōu)缺點,xml的解釋器有那幾種检诗,分別有什么區(qū)別匈仗?
? ? ? ? ? ? ? ? xml是一種擴展性標記語言,支持自定義標簽(使用前必須預(yù)定義)使用DTD和XML Schema標準化XML結(jié)構(gòu)
? ? ? ? ? ? ? ? 優(yōu)點:用于配置文件逢慌,格式統(tǒng)一悠轩,符合標準,用于互不兼容的系統(tǒng)間交互數(shù)據(jù)攻泼,共享數(shù)據(jù)方便
? ? ? ? ? ? ? ? 缺點:xml文件格式復(fù)雜火架,數(shù)據(jù)傳輸占流量鉴象,服務(wù)端和客戶端解析xml文件占用大量資源且不容易維護,
? ? ? ? ? ? ? ? Xml常用解釋器有2種何鸡,分別是纺弊,DOM和SAX;(能力有限,這兩個就不做過多解釋)