freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于javaweb的博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)論文畢業(yè)設(shè)計(jì)(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2025-07-16 15:57 本頁面
 

【文章內(nèi)容簡介】 鍵2bwflNamevarchar(100)博文分類名稱3bwflYxbzsmallint博文分類有效標(biāo)志4uIdint用戶ID表34 博文評論信息表tb_bowen_reply序號字段名字段類型說明備注1bwrIdint博文評論ID主鍵2bwrContenttext博文評論內(nèi)容3bwrTimedatetime博文評論時(shí)間4bwrQqhbzsmallint博文評論悄悄話標(biāo)志5bwrYxbzsmallint博文評論有效標(biāo)志6pbwIdint博文ID7uIdint用戶ID 系統(tǒng)開發(fā)與運(yùn)行環(huán)境確定 系統(tǒng)開發(fā)環(huán)境 系統(tǒng)開發(fā)環(huán)境及開發(fā)工具開發(fā)工具對一個(gè)系統(tǒng)的成敗具有決定性作用。由于本系統(tǒng)是應(yīng)用于網(wǎng)絡(luò)的,因此,我們選擇了JSP技術(shù)進(jìn)行開發(fā),同時(shí),選用SQL Server作為系統(tǒng)后臺數(shù)據(jù)庫,開發(fā)中將用到以下主要幾款開發(fā)工具,如表35所示。表35 開發(fā)工具列表開發(fā)工具名稱軟件用途MyEclipse [7]系統(tǒng)設(shè)計(jì)等SQL Server 2008建立系統(tǒng)的后臺數(shù)據(jù)庫JSP編寫代碼實(shí)現(xiàn)網(wǎng)站動(dòng)態(tài)功能Dreamweaver CS5靜態(tài)頁面的設(shè)計(jì)、制作 使用JSP作為系統(tǒng)開發(fā)工具的優(yōu)點(diǎn)JSP就是由服務(wù)器端腳本、對象以及組件拓展過的標(biāo)準(zhǔn)網(wǎng)頁(也可以理解為在普通的網(wǎng)頁中嵌入了一些擴(kuò)展的指令),另一方面,JSP也可以理解為一種支持JSP擴(kuò)展的Web服務(wù)器環(huán)境。它最終顯示在瀏覽器中的網(wǎng)頁并不是在建立初期就存在的,而是當(dāng)某個(gè)瀏覽器向服務(wù)器提出請求時(shí),它才根據(jù)需要產(chǎn)生需要的標(biāo)準(zhǔn)網(wǎng)頁,這克服了過去HTML編寫的網(wǎng)頁不能更改的缺點(diǎn),從而使網(wǎng)頁上可以存在許多動(dòng)態(tài)的信息。 系統(tǒng)運(yùn)行環(huán)境 硬件環(huán)境:服務(wù)器端:推薦配置為512M內(nèi)存,CPU為Intel Core2 2000MHZ,硬盤為160G的PC機(jī)。通信網(wǎng)絡(luò):Internet網(wǎng)軟件環(huán)境: Web服務(wù)器:Tomcat [4]數(shù)據(jù)庫端: SQL Server 2008操作系統(tǒng):Windows 7/XP 瀏覽器: Internet Explore 系統(tǒng)實(shí)現(xiàn)的若干關(guān)鍵技術(shù) JSP技術(shù)概論 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易[5]。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能[6]。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。 。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 JSP可用一種簡單易懂的等式表示為:JSP=HTML+Java。 JSP工作原理 JSP的執(zhí)行過程:,并回車觸發(fā)這個(gè)JSP的申請。 。 Server 從硬盤或內(nèi)存中讀取正確的JSP文件。 JDBC技術(shù) JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成[9]。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序,同時(shí),JDBC也是個(gè)商標(biāo)名。 有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個(gè)程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個(gè)程序,或?yàn)樵L問Informix數(shù)據(jù)庫又編寫另一個(gè)程序等等,程序員只需用JDBC API寫一個(gè)程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時(shí),將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運(yùn)行,這也是Java語言“編寫一次,處處運(yùn)行”的優(yōu)勢[11]。 Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實(shí)現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。 Java 具有堅(jiān)固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動(dòng)下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而 JDBC 正是作為此種用途的機(jī)制[10]。 JDBC 擴(kuò)展了 Java 的功能。例如,用 Java 和 JDBC API 可以發(fā)布含有 applet 的網(wǎng)頁,而該 applet 使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用 JDBC 通過 Intranet 將所有職員連到一個(gè)或多個(gè)內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計(jì)算機(jī)有 Windows、 Macintosh 和UNIX 等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數(shù)據(jù)庫的要求也在日益增加[12]。 數(shù)據(jù)庫連接函數(shù) 為什么要將本部分列出來呢?因?yàn)樵谡麄€(gè)博客系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫連接是必不可少的,是公用的,我們可以把這一部分先拿出來,單獨(dú)做成一個(gè)函數(shù),在需要的時(shí)候只需調(diào)用就可以了,而不用每次都去寫連接數(shù)據(jù)庫的程序,這種做法叫做復(fù)用。 本系統(tǒng)使用的是SQL Server數(shù)據(jù)庫,在JSP中同數(shù)據(jù)打交道的主要是DAO,對數(shù)據(jù)進(jìn)行操作處理,要讓DAO對象能夠存取數(shù)據(jù)庫,最重要的東西就是JDBC驅(qū)動(dòng)程序。任何一種數(shù)據(jù)庫,必須具備對應(yīng)的驅(qū)動(dòng)程序,DAO對象才能存取[8]。本系統(tǒng)連接SQL Server數(shù)據(jù)庫使用的是JDBC機(jī)制,博客系統(tǒng)數(shù)據(jù)庫連接的關(guān)鍵代碼如下: /* SQL Server */ public final static String DBNAME = sa。 public final static String DBPASS = bxylove900225。 public final static String DRIVER = 。 publicfinal static String URL = jdbc:microsoft:sqlserver://localhost:1433。 DataBaseName=db_BLDblog。 // 關(guān)閉數(shù)據(jù)庫的變量 public void closeAll(Connection conn, PreparedStatement pstmt, ResultSet rs) { if (rs != null) { try { ()。 } catch (SQLException e) { (rs關(guān)閉發(fā)生異常)。 ()。 } } if (pstmt != null) { try { ()。 } catch (SQLException e) { (pstmt關(guān)閉發(fā)生異常)。 ()。 } } if (conn != null) { try { ()。 } catch (SQLException e) { (conn關(guān)閉發(fā)生異常)。 ()。 } } } // 對數(shù)據(jù)庫進(jìn)行增、刪、改 public int executeSQL(String sql, String[] getValue) { int result = 0。 Connection conn = null。 PreparedStatement pstmt = null。 try { conn = getConn()。 pstmt = (sql)。 if (getValue != null) { for (int i = 0。 i 。 i++) { (i + 1, getValue[i])。 } } result = ()。 } catch (Exception e) { (executeSQL方法異常)。 ()。 } finally { closeAll(conn, pstmt, null)。 } return result。 } // 注冊、連接數(shù)據(jù)庫 public Connection getConn() { Connection conn = null。 try { (DRIVER)。 } catch (ClassNotFoundException e) { (注冊驅(qū)動(dòng)異常)。 ()。 } try { conn = (URL, DBNAME, DBPASS)。 } catch (SQLException e) { (連接數(shù)據(jù)庫異常)。 ()。 } return conn。 } 使用上面的驅(qū)動(dòng)程序,只要保證數(shù)據(jù)庫用戶名、密碼和項(xiàng)目數(shù)據(jù)庫名稱正確就不會出現(xiàn)問題。第4章 詳細(xì)設(shè)計(jì)根據(jù)對系統(tǒng)所需實(shí)現(xiàn)功能的分析和系統(tǒng)結(jié)構(gòu)設(shè)計(jì),現(xiàn)將對系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)。但由于系統(tǒng)模塊的代碼較多,現(xiàn)就系統(tǒng)的幾個(gè)重要模塊進(jìn)行介紹。 系統(tǒng)登錄模塊簡介 該模塊是博客系統(tǒng)中的一個(gè)重要組成,用于完成對用戶登錄的判定。注冊用戶需提交賬號和密碼登錄系統(tǒng),登錄之后建立自己的博客并進(jìn)行管理;一般用戶若想注冊,可以進(jìn)行資料登記,資料提交后系統(tǒng)審核通過后系統(tǒng)會提醒你注冊成功,通過首頁登錄即可進(jìn)入自己的博客管理頁面。后臺管理員(無論是超級管理員,還是管理員都一樣)登錄需提交用戶名和密碼,系統(tǒng)管理員還需輸入系統(tǒng)隨機(jī)產(chǎn)生的驗(yàn)證碼進(jìn)行登錄,之后進(jìn)入管理頁面。 模塊體系結(jié)構(gòu)為實(shí)現(xiàn)上述功能,將該模塊分為了三個(gè)子模塊:新用戶注冊子模塊、注冊用戶登錄子模塊、系統(tǒng)管理員登錄子模塊。各模塊之間關(guān)系如圖41所示。系統(tǒng)登錄模塊新用戶注冊注冊用戶登錄管理員登錄填寫注冊資料登錄成功登錄后臺管理系統(tǒng)進(jìn)入博客主界面提交審核注冊成功圖41 登錄模塊圖 運(yùn)行圖模塊運(yùn)行圖如圖42所示。后臺管理系統(tǒng)系統(tǒng)初始化新用戶注冊管理系統(tǒng)登錄頁面注冊用戶登錄用戶資料登記產(chǎn)生驗(yàn)證碼填寫管理員、密碼和驗(yàn)證碼提交賬號和密碼提交數(shù)據(jù)否系統(tǒng)查詢提交成功查詢qt_user表否是數(shù)據(jù)存入表中是否符合否是否符合是登錄成功是管理頁面圖42 登錄系統(tǒng)運(yùn)行圖 設(shè)計(jì)說明 新用戶注冊子模塊 用戶注冊,首先要檢查的就是用戶填寫的信息,其中包括:,若空白則不接受。 。 。 。 。注冊頁面如圖43所示。這個(gè)模塊的功能實(shí)現(xiàn)中用AJAX來獲取前端提交的文本框的值。用法如下:$(uEmail).val() 為了檢測用戶名的長度,這里用到了函數(shù)equals()和length()。下面是它的用法:() || () == 0圖43 用戶注冊頁面圖接著要對電子郵件地址進(jìn)行驗(yàn)證,電子郵件地址的驗(yàn)證比較困難,因?yàn)殡娮余]件的用戶名可以五花八門,后面的域名也是多種多樣,但還是有一定的規(guī)律可循,本系統(tǒng)用正則表達(dá)式來檢驗(yàn)電子郵件地址。郵件地址“用戶名@域名”是最簡單的,在域名中包含的后綴有很多種。實(shí)現(xiàn)代碼如下:String checkFormat = ^([az09AZ]+[|\\.]?)+[az09AZ]@([az09AZ]+([az09AZ]+)?\\.)+[az AZ]{2,}$。 Pattern regex = (checkFormat)。 Matcher matcher = (Email)。 return ()。驗(yàn)證完用戶名還要對密碼進(jìn)行處理,密碼是一個(gè)用戶在博客中比較隱秘的部分,這里我們采取了MD5加密的方式。驗(yàn)證完畢后,就要把數(shù)據(jù)寫到數(shù)據(jù)庫里了,但是在寫入數(shù)據(jù)庫之前我們還要驗(yàn)證一些 信息,我們要保證用戶名的唯一性,還要保證Email的唯一性,這些都是數(shù)據(jù)庫內(nèi)驗(yàn)證。 管理員登錄子模塊 管理員登錄模塊由管理員登錄頁面組成,它是
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1