JSP Java Beans Servlet系統開放設計_第1頁
JSP Java Beans Servlet系統開放設計_第2頁
JSP Java Beans Servlet系統開放設計_第3頁
JSP Java Beans Servlet系統開放設計_第4頁
JSP Java Beans Servlet系統開放設計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄目錄 摘要.i 第一章 緒 論 .1 1.1 前言 .1 1.2 開發背景 .1 1.3 課題開發的目的和意義 .2 1.4 研究內容 .3 1.5 解決的主要問題 .4 第二章 系統分析 .5 2.1 系統分析原則與方針 .5 2.2 系統概述 .5 2.2.1 系統目標.5 2.2.2 系統要求.6 2.3 可行性研究 .7 2.3.1 可行性研究的必要性.7 2.3.2 經濟可行性.7 2.3.3 技術可行性.8 2.3.4 操作可行性.8 2.4 數據流程圖 .8 2.5 數據字典 .11 2.6 運行環境 .13 2.7 開發工具 .13 2.8 開發技術 .14 2.8.1 j

2、sp.14 2.8.2 servlet.16 2.8.3 ms sql server 2000.17 2.8.4 jspjavabeansservlet 的結構.17 2.8.5 jdbc.18 2.9 需求分析 .19 2.10 er 圖.20 第三章 總體設計 .21 3.1 系統功能 .21 3.1.1 系統實現的功能.21 3.1.2 前臺模塊.22 3.1.3 后臺模塊.23 3.2 服務器配置 .23 3.3 系統設計 .24 3.4 數據庫設計 .24 3.4.1 創建數據庫.25 3.4.2 創建表間的索引關系.27 3.5 數據庫的連接 .29 第四章 詳細設計 .31 4.

3、1 網站的設計思想 .31 4.2 數據庫連接的 javabean.31 4.3 數據庫具體操作的 javabean.34 4.4 注冊模塊的設計 .36 4.5 登錄模塊的設計 .37 4.6 前臺頁面瀏覽信息模塊設計 .38 4.7 分頁技術的實現 .39 4.8 異常處理 .41 第五章 系統測試 .42 5.1 測試綜述 .42 5.1.1 測試方法.42 5.1.2 數據庫測試.42 5.2 測試結果 .43 第六章 結論 .44 致謝 .45 參考文獻 .46 第一章第一章 緒緒 論論 1.11.1 前言前言 近幾年來,計算機網絡、分布 式技術日趨成熟,數據庫技術不斷發展,網 站的

4、應用已經 延伸到社會的各個領域,并發揮著越來越重要的傳媒作用。 在傳統的 web 服務器中,文本和其它多媒體信息都是以文件的形式來進行 存儲和管理的,隨著信息量的不斷增加,系統的性能受到越來越大的影響。另 一方面, www 的應用領域在不斷拓展,靜態的web 頁面越來越不能滿足對信 息服務的動態性、實時性和交互性的要求。 b/s(瀏覽器/服務器)方式的網絡結構,在客戶端不需要開發任何用戶界面, 而統一采用如 netscape 和 ie 一類的瀏覽器,通過 web 瀏覽器向 web 服務器提出 請求,由 web 服務器對數據庫進行操作,并將結果逐級傳回客戶端。在 b/s 體系 結構系統中,用戶通

5、過瀏覽器向分布在網絡上的許多服務器發出請求,服務器對 瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。b/s 結構簡化了客戶機的 工作,客戶機上只需配置少量的客戶端軟件,服務器將擔負更多的工作,對數據 庫的訪問和應用程序的執行將在服務器上完成。瀏覽器發出請求,而其余的,如 數據的請求、加工、結果的返回以及動態網頁生成等工作全部由 web 服務器來完 成。 而數據庫技術經過幾十年的發展,其功能越來越強大。目前大量的信息通 過數據庫系統進行存儲和管理,各種大型關系數據庫系統,如 db2、oracle、informix、sybase、ms sql server 等,都具有對大批量數據 進行有效的組

6、織、管理和快速的查詢檢索功能。因此將web 技術與數據庫技 術相結合,開發動態的 web 數據庫應用系統,已成為必然。 1.21.2 開發背景開發背景 人才在各行各業都是發展的關鍵,如何能夠聘到真才實學的人是各行各業非常 關心的問題。而找不到理想的工作、不能發揮自己的聰明才智也讓許多人煩惱,人 們走進社會都會面臨就業求職的問題。雖然招聘會是人才交流的主要方式,但是他 遠遠不能滿足現實中的需求,招聘會定期召開,過期沒有交流的機會,有限的幾天 內企業與個人的面對面的交流,雖然有的招聘會提前貼出海報或進行其他的宣傳方 式,但是還會有很多企業和個人錯過機會。還有一些人,為了招聘會不得不放棄一 些重要的

7、事情,而且招聘會的人數眾多,很難管理,空間有限不利于交流。為了更 好的分配人力資源,現實社會中急需一個第三者為企業與人才牽線搭橋。 隨著社會的不斷發展,我國高校就業問題也越發明顯,目前高校畢業生主要是 通過“雙向選擇”洽談會進行就業。 “雙選會”在一定程度上有效的解決了高校畢 業生就業問題,但由于也受到時間、地點、規模等因素的制約,使供需雙方的有效 信息溝通受到限制,影響了供需雙方做出快速而準確的決策。隨著我國高校大規模 擴招后大學生陸續畢業,大學生就業工作形勢變得越來越嚴峻。畢業生就業工作, 不僅關系到高校的辦學質量和社會聲譽,而且已經成為目前高校改革發展與穩定的 一個重要環節。高校畢業生作

8、為特殊的“產品” ,要想在激烈的競爭中取勝,除了 要有符合市場要求的優質品質外,作為供給方高校的“營銷”策略也不容忽視。 我們的高校學府,一方面順應社會發展要求,培養出一批又一批高素質、高科 技的人才;另一方面,其輸送人才的機構就業工作部門,卻跟不上時代的步伐, 工作方式、手段的滯后與之形成較大的反差,仍在較大程度上沿襲傳統的做法,工 作效率和服務方式尚未得到明顯的改善。目前高校畢業生就業市場上供需雙方的信 息是在低速、窄幅流動,其時效性、有效性、傳遞性較差,不利于畢業生與用人單 位的溝通,不能最大限度地使用需求信息,這對畢業生、用人單位、學校與社會都 是一種很大的損失。如何適應時代的要求,開

9、創就業工作的新天地,這是擺在所有 從事就業工作者面前的一大課題。針對這種情況,國家教育部提出急需一種高效方 便的手段來提高畢業生就業工作的效率。 1.31.3 課題開發的目的和意義課題開發的目的和意義 當今社會高科技飛速發展,信息產業日新月異,將人類帶入了信息社會。各 行各業正在或即將享受網絡帶來的高效與便捷,接受它給我們的工作與生活帶來 的變化。結合現代化信息技術的應用,采用快捷、高效、便利的信息傳播手段。 現實社會和各高校都提出了需要有一個第三者為企業和人才牽線搭橋,用來彌補 招聘會存在種種不足。在這種情況下,我們要將網絡技術與招聘求職緊密的聯系 起來,開發一個基于 web 的就業求職信息

10、交流網,可以使的企業和個人在這個平 臺上注冊帳戶并且發送自己的相關信息,達到企業與人才進行信息的交流,以更 快捷、簡單的方式來完成招聘會中的洽談環節。當彼此有了一定的了解后,再選 擇是否實現就業求職的目的,這樣可以用最經濟的方式來分配人力資源,從而能 夠達到人才合理分配的目的。能夠使就業求職網達到與招聘會擁有同等效果的目 的。 本網站還應該擁有一個個人與企業能夠注冊帳號,登陸網站發布信息的平臺。 使得每個用戶以方便簡潔的方式登錄、管理、發布求職或者招聘信息;也能夠幫 助企業在網絡上找到合適自己需求發展的人才,最更快、最經濟的方式實現招聘; 管理員和網絡維護者可以用方便的手段管理個人用戶和企業的

11、每一條信息, 可以 隨時查看并對其進行檢查,用來監督和防止用戶錄入非法信息。 就業求職網站的建立使得就業工作向深度和廣度發展,創建和完善就業信息 網,拓展就業市場建設的新領域,是新時期社會就業求職工作的要求,也是時代 發展的必然,建設就業求職信息網,還可依托網絡進行全過程的就業指導,構建 人才“售后服務”體系,這既是社會就業制度改革的需要,也是中國各高校改革 與發展的需要。 1.41.4 研究內容研究內容 本網站系統,是針對目前社會就業人數越來越多、就業壓力越來越大,在就業 時與企業發生的一些問題而開發的一個就業求職網站。該網站的實現采用當前比較 流行的 b/s 模式,即在客戶端安裝 web

12、瀏覽器,在服務器端安裝服務器程序。通過 web 瀏覽器向 web 服務器提出請求,由服務器對數據庫進行操作,并將結果逐級傳 回客戶端。用戶應該能夠通過瀏覽器向分布在網絡上的許多服務器發出請求,由 jsp 來接受這些請求,然后調用 javabean 做具體的數據存取邏輯運算等處理,把 結果返回給 jsp,jsp 把得到的結果通過瀏覽器返回給用戶。只要客戶按其類型登 錄注冊,就可以發布和管理其信息,并且管理員可以在客戶端進行管理網站中的信 息。 1.51.5 解決的主要問題解決的主要問題 1. 配置開發 jsp 程序的工具 java 2 sdk 的環境變量,選擇一個合適的 web 服務器,并且能夠

13、正確的安裝和配置,調試它們直到能夠在機器上正常 運行。 2. 配置數據庫連接 java 的 api 工具 jdbc 的環境變量,解決 tomcat 的數據 庫連接池問題,編寫出能夠實現數據庫連接、查詢、插入、刪除的 javabean 組件。 3. 實現在 jsp 頁面中通過 javabean 組件能夠查詢、插入、刪除數據庫中的 數據操作,解決顯示數據亂碼的問題。 4. 用戶可以隨時注冊自己的 id 帳號,填寫自己的基本信息,發布就業求職 信息,并且可以登錄查詢網站的信息。在網站發布的信息過期之后就不 顯示在網頁頁面上,防止用戶查看垃圾信息。 5. 在網站的首頁上能夠顯示友情鏈接信息,方便用戶瀏

14、覽其它網頁的資源。 6. 管理員能夠對所有用戶的的各項信息進行管理,可以在不改動網站頁面 的情況下隨時對友情鏈接進行管理。 7.能夠實現顯示頁面的分頁的技術,防止信息在一個頁面中過于冗長。 第二章第二章 系統分析系統分析 2.12.1 系統分析原則與方針系統分析原則與方針 采用面向對象分析的方法,為了開發復雜的軟件系統,系統分析員應該從不同 角度抽象系統的特性,使用精確的方法建立問題域的對象模型,這個模型描述了現 實世界中的“類 當驅動程序加載后,將會自動利用驅動程序管理類,注冊加載的驅動程序。 2.再利用驅動程序管理類(java.sql.drivermanager)來打開數據庫連接: con

15、nection con=drivermanager.getconnection(url,user,password); 其中:url=jdbc:microsoft:sqlserver:/localhost:1433;databasename=數據庫名 ;user=用戶名;password=密碼;。 3. 執行基本的 sql 語句: 數據庫的連接建立完畢后,就可以對數據庫中的記錄進行操作了,使用 statement 對象可以向數據庫發送 sql 語句,使用 resultset 對象可以返回滿足 條件的結果集。 statement 對象的建立。使用 statement 類聲明一個 sql 語句對象

16、,在通過連 接對象的 creatstatement( )方法創建它: statement stmt=conn.createstatement( ); 使用 statement 對象的 excutequery(string sql)方法可以返回結果集(resultset), 如: resultset rs=sql.executequery(select * from 數據表名); 4.關閉 connection、statement 和 resultset 的對象: connection 對象.close(); statement 對象.close(); resultset 對象 第四章第四章 詳

17、細設計詳細設計 4.14.1 網站的設計思想網站的設計思想 一個網站在各項需求確定、系統分析和數據設計都完成后,下一步就可以根 據這個網站的特點確定網站的開發模式了,然后就可以編寫程序代碼了, jsp+javabean 的開發模式是一種比較好開發過程。當用戶瀏覽訪問網站時,由 jsp 來接受這些請求,然后調用 javabean 做具體的數據存取邏輯運算等處理,把結果 返回給 jsp,jsp 把得到的結果通過瀏覽器返回給用戶,整體流程圖如: 圖4-1整體流程圖 我們把一些常用的的和可重復使用的組件寫成 javabean。然后放入 web- inf/class 下使用,這樣用戶瀏覽網頁時,從數據庫

18、中動態取出數據信息時,實現 數據庫操作功能的代碼不需要在不同的網頁中重復若干,只需要將數據的操作功能 代碼編寫成 javabean,在每個網頁中使用它就可以了。 4.24.2 數據庫連接的數據庫連接的 javabeanjavabean import java.sql.*; public class conn private static connection con; private statement stmt; private resultset rs; private static final string drivername = com.microsoft.jdbc.sqlserve

19、r.sqlserverdriver; /數據庫連接url request response javabeanjsp 服務器端 call return browser 客戶端 private static final string url = jdbc:microsoft:sqlserver:/:1433;databasename=db_job;user=sa;password=12 3456; /* *獲取數據庫連接 */ public static synchronized connection getcon() throws exception try class.for

20、name(drivername); /加載驅動程序 con = drivermanager.getconnection(url); /獲取數據庫連接 return con; catch (sqlexception e) system.err.println(e.getmessage(); throw e; /* *獲取statement只能用于查詢語句 */ public statement getstmtread() try con = getcon(); stmt =con.createstatement(resultset.type_scroll_insensitive, results

21、et.concur_read_only); return stmt; catch (exception e) system.err.println(e.getmessage(); e.printstacktrace(); return null; /* *獲取resultset */ public resultset getrs(string sql) try stmt = getstmtread(); rs = stmt.executequery(sql); return rs; catch (exception e) system.err.println(e.getmessage(); e

22、.printstacktrace(); return null; /* *獲取statement用于刪除、更新和添加的sql語句 */ public statement getstmt() try con = getcon(); stmt = con.createstatement(); return stmt; catch (exception e) system.err.println(e.getmessage(); e.printstacktrace(); return null; /* *關閉數據庫連接 */ public synchronized void close() try i

23、f (rs != null) rs.close(); rs = null; catch (exception e) system.err.println(e.getmessage(); e.printstacktrace(); try if (stmt != null) stmt.close(); stmt = null; catch (exception e) system.err.println(e.getmessage(); e.printstacktrace(); try if (con != null) con.close(); con = null; catch (exceptio

24、n e) system.err.println(e.getmessage(); e.printstacktrace(); 4.34.3 數據庫具體操作的數據庫具體操作的 javabeanjavabean import java.sql.*; public class data private conn con = new conn(); private statement stmt; private resultset rs; /* *獲取查詢的行數 */ public int getrowcount(string strsql) int intcount = 0; try stmt = co

25、n.getstmtread(); rs = stmt.executequery(select count(*) from + strsql); if (rs.next() intcount = rs.getint(1); else intcount = -1; catch (exception e) intcount = -2; system.err.println(e.getmessage(); e.printstacktrace(); finally con.close(); return intcount; /* *向數據庫插入數據 */ public int insert(string

26、 sql) int count = 0; stmt = con.getstmt(); try count = stmt.executeupdate(sql); catch (exception e) count = -2; system.err.println(e.getmessage(); e.printstacktrace(); finally con.close(); return count; /* *更新數據庫數據 */ public int update(string sql) int count = 0; stmt = con.getstmt(); try count = stm

27、t.executeupdate(sql); catch (exception e) count = -2; system.err.println(e.getmessage(); e.printstacktrace(); finally con.close(); return count; /* *刪除數據庫數據 */ public int delete(string sql) int count = 0; stmt = con.getstmt(); try count = stmt.executeupdate(sql); catch (exception e) count = -2; syst

28、em.err.println(e.getmessage(); e.printstacktrace(); finally con.close(); return count; 4.44.4 注冊模塊的設計注冊模塊的設計 此模塊的功能主要要實現用戶注冊,當用戶第一次登錄時,需要先在本網站注 冊后才能夠在網站上發布信息,注冊頁面時至少要讓用戶填寫一些必要的信息,如 用戶名、密碼、密碼確認、真實姓名等,該模塊的流程圖: 圖4-2 注冊模塊流程圖 4.54.5 登錄模塊的設計登錄模塊的設計 登錄模塊是用戶登錄網站的窗口,它在網站的首頁,用戶登陸時選擇登錄的身 y n y n 開始 輸入 name,pas

29、sword, email,birthday 輸入為空 輸出請填寫 完整信息 intt=0 t=data。getrow(。 。 ) t0 注冊成功 結束 輸出該用戶 已被注冊 份類型,然后向服務器提交數據。登錄頁面如圖所示: 圖4-3 注冊模塊流程圖 登錄模塊流程圖設計: 圖4-3 登錄模塊流程圖 登錄入口提交的數據表單: 名稱:元素類型含義 n y 開始 企業 輸入 id,passw ord 正確 登錄失敗 登錄成功 個人 結束 snametext用戶名 passwordpassword密碼 selectradio選擇個人或企業 4.64.6 前臺頁面瀏覽信息模塊設計前臺頁面瀏覽信息模塊設計

30、每一個網頁的瀏覽者都可以查看網站的求職和招聘信息,并且查看發布信息用 戶的基本資料與向其發送郵件。前臺瀏覽信息模塊只調用數據庫中最新發布的 9 條 信息。人才在線瀏覽信息頁面如: 瀏覽信息模塊流程圖: 圖4-3 瀏覽信息模塊流程圖 顯示求職信息關鍵代碼: out.print();% y n 開始 i=0,a=9 向頁面顯示 所有短信息 i+ i=a 結束 a target=_blank href=view.jsp?cid=主要經營 ,招聘職位,招聘薪水 。 % out.print(); 4.74.7 分頁技術的實現分頁技術的實現 int countrecord=0;/記錄條數 int coun

31、tpagerecord=0;/每頁記錄條數 int countpage=0;/總頁數 countpagerecord=x;/每頁x條記錄,要設置每頁記錄條數就更改這個變 量的值 /得到記錄的條數 rs.last(); countrecord=rs.getrow(); /得到總頁數 if(countrecord/countpagerecord=0) countpage=countrecord/countpagerecord; else countpage=countrecord/countpagerecord+1; /把記錄指針移至當前頁第一條記錄之前 if(dipage-1)*countpag

32、erecord=0) rs.beforefirst(); else rs.absolute(dipage-1)*countpagerecord); i=0; i+; if(i=countpagerecord) break; /當前頁顯示完,則退出循環 out.print(); out.print(共+countrecord+條記錄,共+countpage+頁,當前第 +dipage+頁,每頁+countpagerecord+條記錄,); if(dipage=1)/當前是首頁 ; else/當前不是首頁 out.print(首頁,); out.print(上一頁,); if(dipage=cou

33、ntpage)/當前是末頁 ; else/當前不是末頁 out.print(下一頁 ,); out.print(末頁); 4.84.8 異常處理異常處理 nullpinterexception異常 這是一個 nullpinterexception 異常,如果頁面中包含 null 值操作,就會產生 這種異常。如果確定在頁面中沒有 null 值操作,那就要檢查一下數據庫,有兩 種可能,一種是連接數據庫時語句出現問題,另一種是沒有正確配置數據源,在開 發本網站系統時, 就遇到了數據源配置錯誤,而出現了這種異常 第五章第五章 系統測試系統測試 5.15.1 測試綜述測試綜述 .1 測試

34、方法測試方法 軟件測試的方法和技術是多種多樣的。主流的測試方法有白盒測試和黑盒測試 兩種方法。黑盒測試是集中在軟件的功能需求上,這就是黑盒測試允許軟件工程師 導出適當的輸入數據集合以檢測一個程序或模塊的所有功能需求。黑盒測試是在程 序或模塊的接口級進行,而不考慮程序的內部邏輯。白盒測試,有時又稱玻璃盒測 試,使用白盒測試導出測試案例是依據模塊的編碼,即模塊的內部邏輯對測試者是 可見的,故稱白盒測試。使用白盒測試方法所導出的測試案例能保證:模塊中所有 獨立途徑至少測試一次;測試所有邏輯決策真和假兩個方面;在所有循環的邊界內 部和邊界上執行循環體;檢查內部數據結構以保證其有效性。 黑盒測試集中在軟

35、件的功能需求上,這就是黑盒測試允許軟件工程師導出適 當的輸入數據集合以檢測一個程序或模塊的所有功能需求。黑盒測試是在程序或模 塊的接口級進行,而不考慮程序的內部邏輯。黑盒測試能夠用于檢測程序中下列類 型的錯誤: (1)不正確或漏掉的功能,這往往是由于程序算法中問題所造成的; (2)接口錯誤; (3)數據結構或外部數據庫中存取中的錯誤; (4)初始化或結束錯誤; (5)性能方面的問題,這種類型的問題通常也是和算法有關的。 .2 數據庫測試數據庫測試 在web應用技術中,數據庫起著重要的作用,數據庫為web應用系統的管理、 運行、查詢和實現用戶對數據存儲的請求等提供空間。在web應用中,最常用的數 據庫類型是關系型數據庫,可以使用sql對信息進行處理。 在使用了數據庫的web應用系統中,一般情況下,可能發生兩種錯誤,分別是 數據一致性錯誤和輸出錯誤。數據一致性錯誤主要是由于用戶提交

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論