計算機畢業設計 jsp貴金屬理財網站sqlserver 畢設15
演示視頻:
https://www.bilibili.com/video/BV1bN4y1B7G6/
3.1 JSP技術簡介
JSP(Java Server Page服務器網頁)是從1998年開始出現的新技術。由Sun公司倡導、許多公司參與一起建立的一種動態網頁技術標準,是基于JavaServlet以及整個Java體系的web開發技術。在傳統的網頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標記(Tag),構成JSP網頁(*.jsp)。JSP技術為創建顯示動態生成內容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點,即跨平臺的特性,也即一次編譯,到處運行。
在國外,己經大量使用JSP作為網絡應用程序的開發工具,而在國內,盡管JSP還不是主流開發技術,但是由于JSP的強大優勢,許多網站都已經準備轉向JSP,利用JSP來開發動態網站。
3.2 JSP工作原理
JSP是面向服務器的,因此支持任何瀏覽器。當Web服務器和JSP引擎遇到訪問JSP網頁的請求時,JSP引擎將請求對象發送給服務器端的相關組件,比如JavaBean組件、Servlet或EJB等,然后由服務器端組件處理這些請示,可能需要從數據庫或數據存儲中檢索信息,然后服務器端組件再將響應對象返回JSP引擎。JSP引擎將響應對象傳遞給JSP頁面,根據JSP頁面的HTML格式完成數據編排,Zui后Web服務器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當前網站構建中廣泛采用的瀏覽器——Web服務器——后臺數據庫的三層架構模式。因為JSP所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果。
3.3 JSP體系結構
JSP網站開發標準給出了兩種使用JSP的技術,可以歸納為模式一、模式二。
模式一:JSP+JavaBeans技術 在這種模式中,JSP頁面獨自響應請求并將處理結果返回給客戶。Bean處理所有數據訪問,JSP實現頁面的表現,以實現內容生成與顯示相分離。當處理復雜的大型應用時,頁面被嵌入大量的腳本或Java代碼段,當需要處理的商業邏輯復雜時,這種情況會變得非常糟糕,大量的內嵌代碼使得頁面程序變得復雜,對于前端界面設計人員,這是不可思議的事情。所
以模式一可用于小型應用,不能夠滿足大型應用的需要。
模式二:JSP+Servlet+JavaBeans技術 Servlet技術是一種采用Java技術來實現CGI功能的一種技術,Servlet技術非常適于服務器端的處理和編程,并且Servlet會長期駐留在內存。
從開發的觀點看,模式二具有更清晰的頁面表現,清楚的開發者角色劃分,在大規模項目開發中,模式二更被采用,模式二也更符合當前流行的MVC結構(Model/view/controller),其中Servlet對應controller,處于控制者的位置,處理HTTP請求,負責生成JSP中使用的Beans組件或對象,并判斷應將請求傳遞給哪個JSP等,JSP對應view,負責生成Zui終的動態網頁并返回給瀏覽器。而JavaBeans對應的是Model,實現各個具體的應用邏輯與功能。
3.4 JSP的特點
1. 簡化的頁面生成技術。
JSP頁面用標準的HTML或XML命令來處理頁面的格式化和布局設計,而用類似HTML、XML的標記和Java語言編寫的腳本程序生成頁面內容。這使得頁面形式與頁面內容互相獨立,非常有利于大型項目的分工合作。
2. 與Java平臺有機集成。
JSP技術是Java 2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發揮出Java語言的強大功能。使用JSP技術可以創建具有高度可伸縮性和可靠性的Web應用程序。
3. 硬件平臺和服務器無關性。
JSP作為Java家族的一員,秉承了Java技術的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運行于大多數流行的操作系統平臺及Web服務器,這種與服務器硬件和操作系統平臺的無關性是JSP相對于其它動態網頁技術Zui大的一個優點。
4. 功能可擴展性。
如同Microsoft的JSP技術可以通過ActiveX/COM組件來擴展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標記來擴展功能。
JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大型關系數據庫進
行連接。
JSP提供了一些隱含對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。
3.5 MYSQL數據庫
MySQL 是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬于Oracle公司。MySQL是Zui流行的關系型數據庫管理系統,在WEB應用方面MySQL是zuihao的RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數據庫的Zui常用標準化語言。MySQL軟件采用了雙授權政策(本詞條“授權政策”),它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站數據庫。由于其社區版的性能zhuoyue,搭配PHP和Apache可組成良好的開發環境。
MySQL是一個開放源碼的小型關聯式數據庫管理系統,開發者為瑞典MySQL AB公司。MySQL被廣泛地應用在Internet上的中小型網站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站數據庫。
與其他的大型數據庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有余,而且由于MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。Linux作為操作系統,Apache和Nginx作為Web服務器,MySQL作為數據庫,PHP/Perl/Python作為服務器端腳本解釋器。由于這四個軟件都是免費或開放源碼軟件(FLOSS),因此使用這種方式不用花一分錢(除開人工成本)就可以建立起一個穩定、免費的網站系統,被業界稱為“LAMP“組合。。
3.6系統數據庫連接
JDBC技術是Java DataBase Connectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發人員可以在Java語言中方便地建立與數據庫的鏈接,通過執行相應SQL語句,完成對不同數據庫的訪問。因此,開發人員使用JDBC API可以不必編寫一個應用程序來訪問Sybase數據庫,又另外編寫一個應用程序去訪問Oracle數據庫,再寫一個應用程序訪問mysql。不但如此,使用Java語言編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發不同的應用程序。
簡單地說,JDBC能完成下列三件事:
同一個數據庫建立連接;
向數據庫建立連接;
處理數據庫返回的結果。
JDBC是一種通用低層的應用程序編程接口,它在不同的數據庫功能模塊的層次上提供一個統一的用戶界面。說JDBC是一處低級的API,是指它直接調用SQL命令,它比其他的一些數據庫連接API要容易使用些,但它有同樣可以作為更gaoji的,用戶辦面更友好的API或開發工具基礎。
很多可視化的Java開發工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用戶的類和包,直接將關系數據庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進行操作,而真正需要的SQL調用則根據程序員發出的對對象的各種屬性、方法的操作來自動產生。另一種使用JDBC API 的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數據庫進行的操作,選中一個任務后,提示用戶輸入一些必要的信息,然后根據用戶的輸入產生相應的SQL命令以及Java程序。通過這處方式,用戶可以完成對數據庫的操作,即使他并不了解SQL語法以及JDBC編程。
數據庫訪問的三層結構如圖3.1所示,瀏覽器端程序要訪問數據庫,首先通過中間件,然后由中間件對數據庫操作權限進行認證,認證通過才能對數據庫進行操作。
圖3.1 使用中間件的數據庫訪問三層結構
用戶對數據庫的存取權限認證是中間件中完成,對數據庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務器端,中間件對數據庫進行操作后,再將處理結果通過Web服務器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進行加密后在網絡上傳輸,在中間件中進行解密認證,然后再進行數據庫的存取操作,數據庫存取權限的用戶名和密碼出現在位于服務器端的中間件中,這樣就更加安全。本系統采用的正是這樣的三層結構的數據庫訪問模式。
在三層模型中,命令將被發送到服務的”中間層”,而”中間層”將SQL語句發送到數據庫。數據庫處理SQL語句并將結果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖3.2所示。
圖3.2 JDBC的三層模型
因為”中間層”可以進行對訪問的控制并協同數據庫的更新,并且可以使用一個易用的高層API,這個API可以由“中間層”進行轉換,轉換成低層的調用。許多種情況下,三層模型可以提供更好的性能,本系統中所采用的就是此種模型。
JDBC是JAVA應用程序與數據庫的溝通橋梁。它提供了三項服務功能:一、與數據庫建立連接。二、將SQL語句傳遞給數據庫。三、從數據庫取得SQL語句的執行結果。當JDBC要與數據庫建立連接前,首先,它必須先取得連接此數據庫的JDBC驅動程序,Class.forName()即是在執行此項工作。建立數據庫連接的第一步驟就是將JDBC驅動程序的類載入至JVM(Java VirtualL Machine)中,本系統中利用java.lang.Class類內的forName()靜態函數依據指定的類名稱,將JDBC驅動程序載入進來。完成載入驅動程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態函數,取得與數據庫間的連接對象。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數據庫,而執行結果也需要通過連接對象來取得。當取得連接對象后,還必須取得Statement對象才能對數據庫執行SQL指令。Statement主要實現兩個功能:執行SQL語句以及取得執行結果。在java.sql.Statement的sql對象中執行查詢或修改命令的函數后傳回的是一個ResultSet 對象,這個對象提供了一個存取SQL執行結果的管道,以便通過它將表格數據從數據庫中取出。每個Statement對象只能產生一個ResultSet 對象。
數據庫連接如圖3.3所示:
圖3.3 數據庫的連接處理
數據庫的連接處理具體實現如下:
//建立JDBC——ODBC橋
sun.jdbc.odbc.JdbcOdbcDriver;
//橋建立不成功時的錯誤處理
catch(ClassNotFoundException event){}
//建立與數據庫的連接,并發送SQL查詢語句,將結果保存到rs對象中
Con=建立JDBC——ODBC橋
Sql=SQL查詢語句
執行查詢
Rs=返回結果
//SQL出錯處理
catch(SQLException e1){}
有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數據庫專門寫一個程序,為訪問Oracle數據庫又專門寫一個程序,或為訪問Informix數據庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數據庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優勢。
Java數據庫連接體系結構是用于Java應用程序連接數據庫的標準方法。JDBC對Java程序員而言是API,對實現與數據庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發提供標準的接口,并為數據庫廠商及第三方中間件廠商實現與數據庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數據庫連接標準,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現的接口。
Java 具有堅固、安全、易于使用、易于理解和可從網絡上自動下載等特性,是編寫數據庫應用程序的杰出語言。所需要的只是 Java應用程序與各種不同數據庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。
JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程數據庫企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部數據庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數據庫的要求也在日益增加。
MIS 管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業可繼續使用它們安裝好的數據庫,并能便捷地存取信息,即使這些信息是儲存在不同數據庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到Zui新版本的應用程序。對于商務上的銷售信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。
簡單地說,JDBC 可做三件事:與數據庫建立連接、發送 SQL 語句并處理
結果。下列代碼段給出了以上三步的基本示例:
Connection con = DriverManager.getConnection("jdbc:odbc:wombat","login",
"password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
上述代碼對基于JDBC的數據庫訪問做了經典的總結。
3.7 B/S模式與C/S模式的比較分析
C/S模式主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成??蛻魬贸绦蚴窍到y中用戶與數據進行交互的部件。服務器程序負責有效地管理系統資源,如管理一個信息數據庫,其主要工作是當多個客戶并發地請求服務器上的相同資源時,對這些資源進行Zui優化管理。中間件負責聯結客戶應用程序與服務器管理程序,協同完成一個作業,以滿足用戶查詢管理數據的要求。
B/S模式是一種以Web技術為基礎的新型的MIS系統平臺模式。把傳統C/S模式中的服務器部分分解為一個數據服務器與一個或多個應用服務器(Web服務器),從而構成一個三層結構的客戶服務器體系。
第一層客戶機是用戶與整個系統的接口??蛻舻膽贸绦蚓喌揭粋€通用的瀏覽器軟件,如Netscape Navigator,微軟公司的IE等。瀏覽器將HTML代碼轉化成圖文并茂的網頁。網頁還具備一定的交互功能,允許用戶在網頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。
第二層Web服務器將啟動相應的進程來響應這一請求,并動態生成一串HTML代碼,其中嵌入處理的結果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數據的存取,Web服務器還需與數據庫服務器協同完成這一處理工作。
第三層數據庫服務器的任務類似于C/S模式,負責協調不同的Web服務器發出的SQ請求,管理數據庫。
B/S模式的優勢
首先它簡化了客戶端。它無需象C/S模式那樣在不同的客戶機上安裝不同的客戶應用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節省客戶機的硬盤空間與內存,而且使安裝過程更加簡便、網絡結構更加靈活。假設一個企業的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數據,然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯上會議室的網絡插口,自己來查詢相關的數據。其次,它簡化了系統的開發和維護。系統的開發者無須再為不同級別的用戶設計開發不同的客戶應用程序了,只需把所有的功能都實現在Web服務器上,并就不同的功能為各個組別的用戶設置權限就可以了。各個用戶通過HTTP請求在權限范圍內調用Web服務器上不同處理程序,從而完成對數據的查詢或修改?,F代企業面臨著日新月異的競爭環境,對企業內部運作機制的更新與調整也變得逐漸頻繁。相對于C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂。這樣不但可以提高公司的運作效率,還省去了維護時協調工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護將會顯得更加重要。
再次,它使用戶的操作變得更簡單。對于C/S模式,客戶應用程序有自己特定的規格,使用者需要接受專門培訓。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓,就可以直接使用。B/S模式的這種特性,還使 MIS系統維護的限制因素更少。
Zui后,B/S特別適用于網上信息發布,使得傳統的MIS的功能有所擴展。這是C/S所無法實現的。而這種新增的網上信息發布功能恰是現代企業所需的。這使得企業的大部分書面文件可以被電子文件取代,從而提高了企業的工作效率,使企業行政手續簡化,節省人力物力。
鑒于B/S相對于C/S的先進性,B/S逐漸成為一種流行的MIS系統平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務系統、基于Web的ERP。一些企業已經lingxian一步開始使用它,并且收到了一定的成效。
B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進,使B/S成了MIS系統平臺的shouxuan。
- 計算機畢業設計 jsp課程教學網站sqlserver 畢設99 2024-04-28
- 計算機畢業設計 jsp試題庫管理系統(ssh) 畢設14 2024-04-28
- 計算機畢業設計 jsp試卷生成管理系統(ssh) 畢設20 2024-04-28
- 計算機畢業設計 jsp網絡犯罪教學網站(ssh) 畢設2 2024-04-28
- 計算機畢業設計 jsp網上超市mysql 畢設65 2024-04-28
- 計算機畢業設計 jsp網上訂外賣送餐網站ssh 畢設88 2024-04-28
- 計算機畢業設計 jsp網上花店預訂系統ssh 畢設86 2024-04-28
- 計算機畢業設計 jsp網上糖果銷售網站(ssh) 畢設95 2024-04-28
- 計算機畢業設計 jsp網上書店與論壇ssh 畢設91 2024-04-28
- 計算機畢業設計 jsp社區管理系統(ssh) 畢設25 2024-04-28
- 計算機畢業設計 jsp社區醫療中心sqlserver 畢設32 2024-04-28
- 計算機畢業設計 jsp電腦配件購物商城ssh 畢設60 2024-04-28
- 計算機畢業設計 jsp電子病歷管理系統ssh 畢設39 2024-04-28
- 計算機畢業設計 jsp物流系統(ssh) 畢設18 2024-04-28
- 計算機畢業設計 jsp校園OTO超市系統ssm 畢設7 2024-04-28