999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JSP技術中數據庫的應用

2008-12-31 00:00:00
電腦知識與技術 2008年27期

摘要:在互聯網高速發展的今天,JSP技術也得到了飛速的發展,它在運行速度、安全性、可移植性均比傳統的Web編程語言有很大的改進。因此了解并掌握在JSP開發中使用數據庫的方法和技巧日益重要。

關鍵詞:JSP;數據庫;網站

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)27-1889-03

The Application of JSP Technology in Database

LIU Jun

(Henan Mechanical and Electrical Engineering College, Xinxiang 453000, China)

Abstract: Nowadays when the internet develops very quickly,The JSP technology is also at full speed development. JSP technologyhas improved inrun speed , security , ransportability comparing with traditional Web programming language.therefore, it is important that grasping the method of JSP Technology applicattingin Database.

Key words: JSP; database; Website

1 引言

J2EE技術無疑成為當今電子商務的最佳解決方案,在最近兩年,JSP技術又有了巨大的發展和變化。在J2EE1.4框架中,對JSP和Servlet技術進行了升級。在新的JSP2.0規范中,為JSP的易用性進行了重新的設計,而JSP技術繼續繼承了Java技術的優勢,如簡單易用、完全面向對象、具有平臺無關性且安全可靠、主要面向Internet的所有特點。

2 JSP技術原理

JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet是JSP技術的基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP動態網頁生成的技術原理是:用戶向表單中輸入數據,確定后瀏覽器把客戶端的數據發送到Web服務器,服務器編譯解析JSP并生成動態網頁返回到客戶端的瀏覽器中(圖1)。

3 JSP平臺搭建

現在中小企業及個人較為流行的jsp平臺配置是windows xp professional+JDK+TOMCAT.Tomcat6.0,是當今使用廣泛的Servlet/JSP服務器,它運行穩定,性能可靠,可以直接從網絡中下載。Java開發工具和運行環境為JDK1.6。數據庫使用的是微軟的MySQL。UltraEdit進行代碼編寫,Dreamveaver MX進行頁面設計。

首先要安裝JDK,它是整個框架的基礎,然后安裝Tomcat6.0過程中需要指定JDK的安裝地址。JDK安裝成功后需要設定JAVA_HOME、CLASSPATH和PATH三個環境變量,具體的是,JAVA_HOME是軟件安裝的地址,CLASSPATH為.;JAVA_HOME:\\lib\ools.jar; JAVA_HOME:\\lib\\dt.jar,PATH設為Java bin的位置即可。數據庫MySQL和Tomcat,能直接從網絡中獲取,同其它大型數據庫軟件如Oracle、SqlServer2000等不同的是,整個數據庫運行環境都是在字符操作界面下完成的,而不是現在流行的Windows窗體,但它的優勢也是顯而易見的,對平臺要求低、免費、高效,完全滿足一般需求。由于要通過JDBC將數據庫和前端頁面銜接起來,我們還需要MySQL的JDBC驅動程序mm.mysql-2.0.4-bin或者是mysql-connector-java-3.0.11-stable-bin,兩者均可。這樣整個平臺就搭建成功了。整個平臺的成本非常低,最為重要的幾個軟件都是免費獲取的。就系統配置和成本方面考慮,此平臺是較為理想的選擇。

4 數據庫設計

4.1 數據庫驅動程序

JDBC API為Java開發者使用數據庫提供了統一的編程接口,它由一組Java類和接口組成。JDBC API使得開發人員可以使用純Java的方式來連接數據庫并進行操作。在JDBC3.0版本里,由兩個包java.sql和javax.sql來提供這些功能。Java數據庫驅動一共有四種,它們之間的優勢與區別如表1。本網站使用的是部分Java、部分本機驅動程序。

4.2 JDBC接口的實現

通過JDBC操作數據庫大致過程如下:首先裝載驅動程序,然后通過DriverManager來獲得一個連接,接下來創建Statement以執行SQL操作。在執行完操作后,需要關閉數據庫的連接以釋放資源。在開發中,具體的代碼可以這樣來實現:

Class.forName(\"org.gjt.mm.mysql.Driver\").newInstance();

Connection con=java.sql.DriverManager.getConnection(\"jdbc:mysql://127.0.0.1/jspdev\",\"root\",\"\");

Statement stmt=con.createStatement();

ResultSet rst=stmt.executeQuery(\"select * from wetland;\");

其中,Class.forName裝載了特定廠商提供的數據庫驅動程序,并且顯式地加載驅動程序類。Connection對象代表與數據庫的連接,也就是在已經加載的Driver和數據庫之間建立連接。getConnection()方法中,url=\"jdbc:mysql://127.0.0.1/jspdev\",user=\"root\",password=\"\",127.0.0.1是本機地址,通過localhost也能訪問,jspdev是使用的數據庫的名稱,user是數據庫的用戶名,默認的是root,password是密碼,默認為空。Connection接口方法createStatement()用于創建一個Statement來執行SQL語句,其返回的結果集就保存到rst實例中,結果集一般就是一個表,其中有查詢返回的列標題及相應的值。通過JSP中的腳本元素、動作元素及內建對象的引用,JavaBean的實現就能將數據庫中的內容調用到客戶端頁面中顯示出來。

在數據庫調用之后,需要使用代碼關閉連接以釋放資源:

rst.close();

stmt.close();

con.close();

4.3 數據源和連接池

數據庫連接的建立及關閉對系統而言是耗費系統資源的操作,在多層結構的應用程序環境中,這種耗費資源的動作對系統的性能影響尤為明顯。在傳統的數據庫連接方式中,一個數據庫連接對象均對應一個物理數據庫連接,每次操作都打開一個物理連接,使用完都關閉連接,這樣造成系統的性能低下。

數據庫連接池的解決方案就是在應用程序啟動時建立足夠的數據庫連接,并將這些連接組成一個連接池,由應用程序動態地對池中的連接進行申請、使用和釋放。對于多于連接池中連接數的并發請求,應在請求隊列中排隊等待。并且應用程序可根據池中連接的使用率,動態增加或減少池中的連接數。連接池技術盡可能多地重用了消耗內存的資源,大大節省了內存,提高了服務器的服務效率,能夠支持更多的客戶服務。通過使用連接池,將大大提高程序運行效率,同時,我們可以通過其自身的管理機制來監視數據庫連接的數量、使用情況等。在本網站的開發中,實現連接池關鍵代碼如下:

Context initCtx = new javax.naming.InitialContext();

Context envCtx = (Context) initCtx.lookup(\"java:comp/env\");

DataSource ds = (DataSource)envCtx.lookup(\"jdbc/jspdev\");

同時,我們還要在Tomcat中配置數據源,這樣,Tomcat就會把這個數據源綁定到JNDI名稱空間,可以通過(DataSource)envCtx.lookup(\"jdbc/jspdev\")來查找這個資料源。查找到資料源,就可以通過Connection conn = ds.getConnection();方法來獲得一個到數據庫的連接。當執行完數據庫操作時,我們可以執行con.close()方法,以讓連接池管理器回收這個連接,但并不用關閉到數據庫的物理連接。

5 JavaBean設計

JSP最強有力的一個方面就是能夠使用JavaBean組件體系。JavaBean往往封裝了程序的頁面邏輯,它是可重用的組件。通過使用JavaBean,可以減少在JSP中腳本代碼的使用,這樣使得JSP易于維護,也使得JSP網站的安全性大大提高。

JavaBean傳統的應用在于可視化領域,現在,JavaBean更多的應用在不可視化領域,它在服務器端應用方面表現出了越來越強的生命力。不可視化的JavaBean在JSP程序中常用來封裝事務邏輯、數據庫操作等,可以很好地實現業務邏輯和前臺程序的分離,使得系統具有更好的健壯性和靈活性。

本網站作為數據庫專業網站也使用了JavaBean來封裝邏輯和數據庫操作。在數據庫的訪問中,我們可以把查找資料并訪問連接的操作封裝起來,作為一個工具類使用,這就是JavaBean,它大大提高了組件的重用性,也使得數據庫操作更為簡單與容易:

package com.jspdev.util;

import java.sql.*;

import javax.naming.*;

import javax.sql.DataSource;

//一個用于查找數據源的工具類。

public class DatabaseConn {

publicstaticsynchronized Connection getConnection() throws Exception

{try

{Context initCtx = new javax.naming.InitialContext();

Context envCtx = (Context) initCtx.lookup(\"java:comp/env\");

DataSource ds = (DataSource)envCtx.lookup(\"jdbc/jspdev\"); ;

return ds.getConnection();}

catch(SQLException e)

{throw e;}

catch(NamingException e)

{throw e;}}}

這個是該工具類的源代碼DatabaseConn.java,用javac將它編譯后就能產生JavaBean工具類。

6 樹狀菜單

在網站的主頁面中,采用JSP和JavaScript相結合的方法來創建樹狀菜單。這樣做的好處是能夠適應樹狀菜單總是經常變化的需要,其內容可以動態的生成,而不是JavaScript創建的靜態菜單。其中又涉及到了一個記錄樹狀結構的表(表2)及表中樹狀結構的記錄(圖2)。

7 總結

JSP技術是當今IT行業發展最快的技術之一,這不僅是因為它基于強大的Java語言,更重要的是它得到了許多主要的Web服務器、應用服務器和開發工具商的巨大支持,在實踐中不斷升級與完善。“一次開發,多個平臺應用”更是JSP動人之處。但是JSP開發離不開JDBC數據庫編程,幾乎所有的JSP項目都使用到數據庫,所以在開發基于JSP技術的動態網站中掌握JDBC數據庫編程技術非常重要。

主站蜘蛛池模板: 久久久久久久久亚洲精品| 国产a在视频线精品视频下载| 91久久夜色精品国产网站| 亚洲一区二区精品无码久久久| 国产女同自拍视频| 色丁丁毛片在线观看| 99久久精品久久久久久婷婷| 国产免费高清无需播放器| 亚洲人成网站色7799在线播放| 97视频在线精品国自产拍| 久久亚洲精少妇毛片午夜无码| 一本大道视频精品人妻| 欧美黄网站免费观看| 国产精品亚洲精品爽爽| 天天色天天操综合网| 免费无码AV片在线观看国产| 91在线无码精品秘九色APP | 国产极品美女在线观看| 日本五区在线不卡精品| 免费xxxxx在线观看网站| 亚洲综合激情另类专区| 青青青国产视频手机| 99久久精品免费视频| 成人午夜网址| 久久美女精品国产精品亚洲| 日韩欧美国产另类| 国产精品污视频| 欧美日韩高清| 亚洲天堂色色人体| 欧美成人综合在线| 色香蕉网站| 91麻豆久久久| 亚洲视频影院| 日韩无码视频播放| 日韩精品毛片人妻AV不卡| 成人精品亚洲| 久久精品国产亚洲AV忘忧草18| 国产精品手机视频一区二区| 国产激情无码一区二区APP | 午夜欧美在线| 四虎国产成人免费观看| 婷婷亚洲综合五月天在线| 尤物成AV人片在线观看| 美女扒开下面流白浆在线试听| 久久久久人妻一区精品色奶水| 精品久久久久无码| 人妻少妇久久久久久97人妻| 波多野结衣的av一区二区三区| 国产亚洲高清在线精品99| 国产香蕉一区二区在线网站| 特级做a爰片毛片免费69| 福利一区在线| yy6080理论大片一级久久| 中文字幕在线观看日本| 国内a级毛片| 久久精品丝袜高跟鞋| 国产精品va免费视频| 日韩av无码精品专区| a级毛片毛片免费观看久潮| 天天综合网站| 91成人在线观看| 色窝窝免费一区二区三区 | 三级毛片在线播放| 久久综合色天堂av| 毛片久久网站小视频| 亚洲精品图区| 欧洲极品无码一区二区三区| 国产精品亚洲а∨天堂免下载| 福利在线一区| 精品自窥自偷在线看| 国产免费人成视频网| 在线国产综合一区二区三区| 在线观看网站国产| 国产噜噜噜视频在线观看 | 就去吻亚洲精品国产欧美| 蜜桃臀无码内射一区二区三区| 亚洲欧美综合另类图片小说区| 国产在线八区| a毛片在线免费观看| 毛片网站观看| 免费av一区二区三区在线| 99视频只有精品|