自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSP的Init和Destory函數(shù)提高工作效率

開(kāi)發(fā) 后端
本文介紹JSPInit和JSPDestory函數(shù)來(lái)完成數(shù)據(jù)庫(kù)的鏈接和關(guān)閉,可以提高工作效率。

用Jdbc-odbc橋來(lái)連接,不過(guò)這可是犧牲了速度來(lái)的。用Jdbc-odbc橋的話,和連接access是一樣的,先要設(shè)置一個(gè)數(shù)據(jù)源DNS,然后就用:
Class.forName("sun.Jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("Jdbc:odbc:strurl",”
username”,”password”);

進(jìn)行數(shù)據(jù)庫(kù)的鏈接是比較耗時(shí)的,如果頻繁刷新頁(yè)面,那就會(huì)不停的訪問(wèn)數(shù)據(jù)庫(kù),大大耗去了數(shù)據(jù)庫(kù)的資源。JSP提供了這樣一對(duì)函數(shù),JSPInit(),JSPDestory();如果要在JSP網(wǎng)頁(yè)開(kāi)始執(zhí)行時(shí),進(jìn)行某些數(shù)據(jù)的初始化,則可以利用JSPInit函數(shù)來(lái)完成。此函數(shù)將在JSP網(wǎng)頁(yè)被執(zhí)行時(shí)調(diào)用,且當(dāng)JSP網(wǎng)頁(yè)重新整理時(shí),并不會(huì)被再度執(zhí)行。當(dāng)關(guān)閉服務(wù)器時(shí),JSPDestory函數(shù)將被調(diào)用,可利用該函數(shù)來(lái)完成數(shù)據(jù)的善后處理。

可以利用JSPInit和JSPDestory函數(shù)來(lái)完成數(shù)據(jù)庫(kù)的鏈接和關(guān)閉。在JSPInit中進(jìn)行數(shù)據(jù)庫(kù)的鏈接,可以避免每次刷新頁(yè)面時(shí)都要鏈接數(shù)據(jù)庫(kù),提高了工作效率。

以下是代碼實(shí)例:

  1. <%!  
  2. Connection conn=null;  
  3. Statement st=null;  
  4. ResultSet rs=null;  
  5. Public void jspInit()  
  6. {  
  7.  Try  
  8.  {  
  9. //加載驅(qū)動(dòng)程序類  
  10.  
  11.   Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);  
  12.   //連接數(shù)據(jù)庫(kù)       
  13.  
  14. Connection conn=DriverManager.getConnection("jdbc:odbc:strurl",”  
  15. username”,”password”);  
  16. //建立Statement對(duì)象  
  17.  
  18. St=conn.CreateStatement();  
  19. }  
  20. Catch(Exception ex)  
  21. {  
  22. System.out.println(ex.toString());  
  23. }  
  24. }  
  25. Public void jspDestroy()  
  26. {  
  27. try  
  28. {  
  29.  rs.close();  
  30. st.,close();  
  31.    conn.close();  
  32.  }  
  33.  catch(Exception ex)  
  34.    {  
  35.    System.out.println(ex.toString());  
  36.  }  
  37. }  
  38. %> 

當(dāng)JSP網(wǎng)頁(yè)從數(shù)據(jù)庫(kù)中取得數(shù)據(jù)時(shí),最耗費(fèi)服務(wù)器時(shí)間的是建立數(shù)據(jù)庫(kù)鏈接。用JSPInit
和JSPDestory函數(shù)并不是非常好的辦法,畢竟每瀏覽一次新網(wǎng)頁(yè),就要建立數(shù)據(jù)庫(kù)鏈
接。這個(gè)時(shí)候可以為一個(gè)聯(lián)機(jī)者建立一個(gè)數(shù)據(jù)庫(kù)鏈接。這里我們利用Bean對(duì)象來(lái)建立數(shù)
據(jù)庫(kù)鏈接。

以下是代碼實(shí)例:

  1. //定義bean所屬的套件  
  2.  
  3. package com.test;  
  4. import java.io.*;  
  5. import java.sql.*;  
  6. import javax.servlet.http.*;  
  7. public class conn implements HttpSessionBindingListener  
  8. {  
  9. private Connection con=null;  
  10. public conn() //在構(gòu)造函數(shù)中完成數(shù)據(jù)庫(kù)鏈接  
  11.  
  12. {  
  13. BulidConnection();  
  14. }  
  15. private void BulidConnection()  
  16. {  
  17. try  
  18. {  
  19. //載入驅(qū)動(dòng)程序  
  20.  
  21. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
  22. }  
  23. catch(java.lang.ClassNotFoundException e1)  
  24. {  
  25. System.out.println("數(shù)據(jù)庫(kù)驅(qū)動(dòng)加載失敗<br>");  
  26. }  
  27. try  
  28. {  
  29. //建立數(shù)據(jù)庫(kù)鏈接  
  30.  
  31. con=DriverManager.getConnection("jdbc:odbc:test","test","test");  
  32. }  
  33. catch(SQLException e2)  
  34. {  
  35. System.out.println("數(shù)據(jù)庫(kù)連接失敗");  
  36. }  
  37. }  
  38. //取得Connection對(duì)象  
  39.  
  40. public Connection getConnection()  
  41. {  
  42. if(con==null)  
  43. BulidConnection();  
  44. return this.con;  
  45. }  
  46. public void close()  
  47. {  
  48. try  
  49. {  
  50. con.close();  
  51. con=null;  
  52. }  
  53. catch(SQLException sex)  
  54. {  
  55. System.out.println(sex.toString());  
  56. }  
  57. }  
  58. //當(dāng)物體加入session時(shí),將自動(dòng)執(zhí)行此函數(shù)  
  59.  
  60. public void valueBound(HttpSessionBindingEvent event){}  
  61. //當(dāng)session對(duì)象刪除時(shí),將自動(dòng)執(zhí)行此函數(shù)  
  62.  
  63. public void valueUnbound(HttpSessionBindingEvent event)  
  64. {  
  65. if(con!=null)  
  66. close();//調(diào)用close方法  
  67.  
  68. }  

【編輯推薦】

  1. JSP引擎的工作原理
  2. 深入剖析JSP charset
  3. My JSP的基礎(chǔ)示例
  4. 詳解JSP頁(yè)面?zhèn)髦?/FONT>
  5. JSP頁(yè)面最佳實(shí)踐
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-05-14 11:43:56

2009-05-15 16:36:34

EclipseIDE效率

2011-03-22 14:57:58

2011-09-13 19:46:57

2023-10-24 17:45:31

AI

2012-03-12 13:35:10

開(kāi)發(fā)

2020-12-16 08:33:57

JS函數(shù)效率

2020-11-26 10:29:01

Redis

2019-04-03 09:58:00

GitHub代碼開(kāi)發(fā)者

2012-07-04 15:42:22

Web

2014-03-20 16:18:30

碼農(nóng)工作效率

2019-08-30 14:25:03

Vim命令Linux

2019-07-17 05:02:14

物聯(lián)網(wǎng)工作效率IOT

2025-02-18 10:56:18

2020-12-11 10:00:17

工具代碼Windows

2021-06-07 14:36:58

iPadSiri辦公

2023-05-15 06:55:27

ChatGPTPrompt

2019-12-29 15:41:42

終端命令Unix系統(tǒng)

2016-09-23 20:22:51

WordPressMarkdown工作效率

2013-05-23 09:24:03

BYODBYOD策略思科BYOD
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)