使用分層實現業務處理
1.什麼是JNDI
1.Java Naming and Directory Interface,Java命名和目錄介面
2.通過名稱將資源與服務進行關聯
2.優點和作用
1.在應用與Java物件或資源之間建立鬆耦合的邏輯關聯,簡化應用對於資源的配置及維護工作
2.可以在更大範圍、不同應用之間共享資源
3.JNDI如何實現在Tomcat中釋出一條資訊供所有的Web應用程式使用
1.釋出資訊:先修改Tomcat\conf\context.xml檔案
<Context>
<Environment
</Context>
2.獲取資源:使用lookup()進行查詢
//javax.naming.Context提供了查詢JNDI的介面
Context ctx = new InitialContext(); ※:初始化Context物件
//java:comp/env/為字首
//呼叫lookup()方法
String testjndi = (String) ctx.lookup("java:comp/env/tjndi");
4.為什麼使用連線池
1.傳統資料庫連線方式的不足
需要經常與資料庫建立連線,在訪問結束後必須關閉連線釋放資源
當併發訪問數量較大時,執行速度受到極大的影響
系統的安全性和穩定性較差
5.生活中的連線池
熱線電話----多名接線員可以處理多個來電
6.DataSource與連線池
javax.sql.DataSource介面的實現類
負責管理和資料庫的連線
以連線池的形式對資料庫連線進行管理
7.獲取DataSource例項
Tomcat支援將DataSource實現釋出為JNDI資源
Web應用通過JNDI獲得DataSource引用、
8.使用連線池實現資料庫連線
1.配置context.xml檔案
<Context>
<Resource name="jdbc/news" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="使用者名稱" password="密碼" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://127.0.0.1:3306/資料庫名稱? useUnicode=true&characterEncoding=utf-8" />
</Context>
2.配置web.xml檔案
<resource-ref>
<res-ref-name>jdbc/news</res-ref-name> 指定JNDI的名字,與<Resource>元素中的name一致
<res-type>javax.sql.DataSource</res-type> 指定引用資源的類名,與 <Resource>元素中的type一致
<res-auth>Container</res-auth> 指定管理所引用資源的Manager與<Resource>元素中的auth一致
</resource-ref>
3.新增資料庫驅動檔案
4.進行程式碼編寫,查詢並獲取資料來源
<%
hahaha h = new hahaha();
String a = h.textcon1();
out.print(a);
%>
9.三層架構
主要分為表示層、業務邏輯層、資料訪問層
表示層:與使用者互動 收集資料 展示結果
業務邏輯層:根據業務需要控制執行過程,進行事務管理
資料訪問層:提供與業務無關的資料訪問操作
10.層與層之間的關係
11.分層開發的優勢
1.職責清晰
2.無損替換
3.複用程式碼
4.降低了依賴程度