1. 程式人生 > 實用技巧 >使用分層實現業務處理

使用分層實現業務處理

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

name="tjndi" value="hello JNDI" type="java.lang.String" /> ※:JNDI的查詢 name="tjndi"

</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&amp;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.降低了依賴程度