基于WEB的網(wǎng)絡編程開發(fā)》課程學習總結報...
《基于WEB的網(wǎng)絡編程開發(fā)》課程學習總結報告
本學期《基于WEB網(wǎng)絡開發(fā)》課程,我從軟件工程的角度完成了《論壇管理系統(tǒng)》項目。在完成這個項目的過程中,我掌握了相關的知識和技能,也體會了團隊合作的實踐經(jīng)驗,學習到了不少寶貴知識。下面是我對本學期《基于WEB網(wǎng)絡開發(fā)》課程的學習總結。
一、《論壇管理系統(tǒng)》簡介及功能說明(按照自己實際的項目功能來寫)
1.系統(tǒng)總體設計
1.1系統(tǒng)功能設計
論壇管理系統(tǒng)是一個通用的BBS論壇。在本系統(tǒng)中,它主要包括用戶登陸和注冊功能、用戶和角色管理功能、論壇目錄及其版主管理功能、主題管理功能、主題回復管理功能、附件管理功能等。它們的具體描述如下:
1.1.1用戶登陸和注冊功能
用戶登陸和注冊功能主要包括的功能如下:
(1)用戶登錄:驗證用戶的信息是否合法,以及驗證用戶是否為系統(tǒng)的合法用戶。
(2)用戶注冊:由系統(tǒng)管理員添加新的用戶
1.1.2用戶和角色管理功能
用戶和角色管理功能主要包括用戶管理、角色管理及其用戶和角色之間的關系管理。在系統(tǒng)中主要包括:用戶管理、角色管理、添加角色和用戶修改密碼。
1.1.3論壇目錄及其版主管理功能
論壇目錄管理功能主要對論壇目錄的管理,如論壇目錄的添加、修改、刪除、和排序等。在系統(tǒng)中主要包括添加新的目錄、修改目錄、刪除目錄、排序目錄。
1.1.4主題管理功能
主題管理功能主要實現(xiàn)主題管理功能,如主題的添加、修改、刪除、查看以及主題的瀏覽功能等。在系統(tǒng)中主要包括管理主題、添加主題、修改主題、查看主題、瀏覽主題等。
1.1.5主題回復管理功能
主題回復功能主要實現(xiàn)回復管理功能,如回復的添加、修改、刪除、查看以及回復的瀏覽功能等。在系統(tǒng)中主要包括管理回復、添加回復、查看回復、瀏覽回復。
1.1.6附件管理功能附件管理功能主要對主題或者回復的附件進行管理,如附件的添加、上載、刪除等。在系統(tǒng)中主要包括顯示附件、上載附件、刪除附件。
系統(tǒng)模塊劃分
論壇管理系統(tǒng)用戶登陸和注冊功能模塊用戶和角色管理功能模塊論壇目錄及其版主管理功能主題管理功能模塊主題回復管理功能模塊附件管理功能模塊
2.系統(tǒng)數(shù)據(jù)庫設計(按照自己實際的項目功能來寫)
2.1表設計角色表Role
角色表Role用來存儲系統(tǒng)的角色數(shù)據(jù),如角色ID、角色名稱等。字段名數(shù)據(jù)類型字段說明鍵引用備注RoleIDint角色IDPK主鍵(自動增1)RoleNamevarchar角色名稱用戶表Users用戶表Users用來存儲用戶的數(shù)據(jù),如用戶ID、用戶名稱、用戶密碼、Email、所屬角色ID等。字段名數(shù)據(jù)類型字段說明鍵引用備注UserIDint用戶IDPK主鍵(自動增1)UserNameVarchar(200)用戶名稱PasswordVarchar(200)用戶密碼EmailVarchar(200)電子郵件RoleIDint所屬角色IDPK引用Role表的RoleID字段論壇目錄表Category論壇目錄表Category用來存儲論壇目錄的信息,如目錄ID,目錄名稱、上級目錄ID、排序順序號等字段名數(shù)據(jù)類型字段說明鍵引用備注CategoryIDint目錄IDPK主鍵(自動增1)DesnVarchar(200)目錄名稱EnDesnVarchar(200)目錄的英文名稱UrlVarchar(200)目錄的連接地址ParentIDint上一級目錄PK的IDOrderByint排序順序號IsDirint是否為目錄SubCountint包含子目錄的數(shù)量主題表Title主題表Title用來存儲論壇的主題數(shù)據(jù)、如主題ID、主題名稱、創(chuàng)建時間、附件標志等字段名數(shù)據(jù)類型字段說明鍵引用備注TitleIDint主題IDPK主鍵(自動增1)CategoryIDint主題所屬目FK引用Category錄ID表的CategoryID字段EnDesnVarchar(200)主題名稱BodyText主題的主體內(nèi)容UserIDint用戶IDFK引用Users表的UserID字段CreateDateDatetime創(chuàng)建時間UpdateDateDatetime修改時間Flagint附件標志0:不包含附件;1:表示包含普通附件;2:表示含圖片附件;3:表示既包含普通附AnwerNumInt回復次數(shù)VisitnumInt查看次數(shù)主題回復表Content主題回復表Content用來存儲回復的信息,如回復ID、回復名稱、創(chuàng)建時間等字段名數(shù)據(jù)類型字段說明鍵引用備注ContentIDint回復IDPK主鍵(自動增1)DesnVarchar(200)回復名稱BodyText回復的主體內(nèi)容UserIDInt用戶IDFK引用Users表的UserID字段CreateDateDatetime創(chuàng)建時間Flagint附件標志0:不包含附件;1:表示包含普通附件;2:表示含圖片附件;3:表示既包含普通附件又包含tupTitleIDint所屬主題IDFK引用Title表的TitleID字段附件表Attachment字段名數(shù)據(jù)類型字段說明鍵引用備注AttachmentIDint附件IDPK主鍵(自動增1)DesnVarchar(200)附件名稱UrlVarchar(200)附件的連接地址FileTypeInt文件類型ContentIDint回復IDFK引用Content表的ContentID字段TitleIDint主題IDFK引用Title表的TitleID字段版主表Master字段名數(shù)據(jù)類型字段說明鍵引用備注MasterIDint附件IDPK主鍵(自動增件又包含tupCategoryIDint主題所屬目FK錄IDUserIDInt用戶IDFKFlagint附件標志1)引用Category表的CategoryID字段引用Users表的UserID字段1:表示主版主;2:表示副版主
二、實現(xiàn)技術說明
實現(xiàn)本系統(tǒng)采用以下技術:C#、ASP.NET2.0、sql數(shù)據(jù)庫編程、CSS、html、ADO.NET
該系統(tǒng),可以采用客戶端/服務器架構C/S架構或者(B/S)架構來實現(xiàn)。
圖3-1客戶端/服務器架構
客戶端:負責商業(yè)邏輯和數(shù)據(jù)顯示
客戶端組件:客戶端應用程序、數(shù)據(jù)庫API、客戶端網(wǎng)絡庫服務器:負責管理數(shù)據(jù)和分配服務器資源(內(nèi)存、網(wǎng)絡等)服務器組件:服務器網(wǎng)絡庫、開放數(shù)據(jù)服務、關系引擎、存儲引擎
三、環(huán)境配置要求:
1、開發(fā)平臺
操作系統(tǒng):Window201*/XP/Windows201*數(shù)據(jù)庫:MicrosoftSQLServer201*。
開發(fā)平臺:MicrosoftVisualStudio201*、IE6.0及以上、IIS
軟件需求:、Photoshop、網(wǎng)頁三劍客、MicrosoftoffficeWord、Microsoftofficevisio
2、運行配置
硬件平臺:PentiumⅢ以上CUP、128MB以上內(nèi)存。操作系統(tǒng)和版本:Windows201*/XP/Windows201*
支撐環(huán)境(例如:數(shù)據(jù)庫等)和版本:MicrosoftVisualStudio.NET201*、MicrosoftSQLServer201*、IE5.0或以上版本。四、總結
擴展閱讀:第二階段WEB開發(fā)基礎學習總結
WEB開發(fā)基礎學習總結
第二階段任務:學習掌握HTML、CSS、JavaScript等與web開發(fā)相關的基礎知識。在第二階段的學習中,主要都是針對web開發(fā)基礎的知識,其中html用于來表現(xiàn)網(wǎng)頁的結構與內(nèi)容,css用來控制頁面的外觀和表現(xiàn),javascript用來控制頁面的行為。其中分別針對每一部分分別總結如下:
HTML的學習總結:
(1)、HTML、XHTML的不同:
①XHTML中屬性名稱必須小寫;
②XHTML屬性值必須加引號③XHTML屬性不能簡寫;
④XHTML在屬性中增加了ID屬性,它可以取代name的功能;⑤XHTMLDTD定義了強制使用的HTML元素。
總的來說,XHTML比HTML更加嚴格與規(guī)范。它只著重強調用來表現(xiàn)網(wǎng)站的結構而非樣式,樣式的內(nèi)容交由CSS來控制。
(2)、HTML中注釋的形式是:,注釋部分的內(nèi)容,將不會顯示在網(wǎng)頁中。(3)、HTML中的標簽有兩種形式:
①帶結束標記的標簽,如:,etc。②不帶結束標記的標簽,如:,etc。
在標簽內(nèi)部,可以是允許的屬性=“值”對出現(xiàn)。最重要的幾個標簽如下:
標簽在文檔的最外層,其它所有標簽都在它的內(nèi)部,它表示該文檔是由html語言寫的。
它是頭部標簽,它其中的內(nèi)容是不會被網(wǎng)頁顯示在正文中的,常常在其中插入標題,或者說明文件的一些公共屬性,例如內(nèi)部樣式表的定義,外部樣式表的導入,javascript的編寫,外部javascript腳本的導入。
標簽是文本的正文,它其中的內(nèi)容將顯示在網(wǎng)頁之中。(4)、HTML元素具有四種形式:
①空元素,如它只是起到換行的作用,沒有屬性,也不能跟任何屬性;
②帶有屬性的空元素,如,與空元素相對應,這類元素自然就是具有屬性,但是無法體現(xiàn)任何元素;
③帶有內(nèi)容的元素,如XXXX,它表示該標簽沒有屬性,但是在開始標簽與結束標簽之間可以插入元素;
④帶有內(nèi)容和屬性的元素,如鏈接,它表示標簽內(nèi)部可以有多個屬性,在開始標簽與結束標簽之間可以插入元素。(5)、有一些特殊的字符,在HTML中不能直接用鍵盤上的鍵來表示,像不間斷空格,回車,還有html中的保留字等都需要引用的方式才能輸入。如不換行空格: 。(6)、常常使用到的標簽:①用來表示段落的標簽,
②列表的建立,還有等等,其中內(nèi)部標簽不是而是、③還有就是表格的標簽,一般形式是:
表格的標題表格的一行用于定義表頭用于定義單元格
④表示創(chuàng)建表單,其中有兩個重要的屬性:method屬性指定向服務器發(fā)送數(shù)據(jù)時使用的HTTP方法,可以是get或者post(get方法提交表單時,提交的數(shù)據(jù)被附加到URL中,作為URL的一部分發(fā)送到服務器,缺乏安全。Post方法是將菜單中的信息作為一個數(shù)據(jù)塊單獨發(fā)送到服務器,更加安全)。另一個屬性anction用來表示對表單進行處理的腳本的地址,即表示表單提交到服務器后,由誰來處理這些數(shù)據(jù)。在標簽中,會用到標簽,input標簽常用到的屬性有:type,value。Type用來制定要創(chuàng)建的控件類型,value指定控件的初始值。⑤,超鏈接的符號,可以用它的href屬性來制定連接到那個位置上去。
⑥表示嵌入一張圖片到網(wǎng)頁中。它其中的屬性width,height等可以設置圖片顯示時候的寬高。
CSS的學習總結:
(1)、CSS它的目標就是將結構與表現(xiàn)相分離,也就是讓html的標簽只專注于定于網(wǎng)頁內(nèi)容的結構,CSS來決定這些網(wǎng)頁的內(nèi)容如何顯示。使用CSS的一大好處就是,簡化了網(wǎng)頁的格式代碼,加快網(wǎng)頁的下載顯示速度。同時在進行后期維護的時候,由于結構與表現(xiàn)的分離,更加易于維護。
(2)、CSS中注釋的方法是:/*注釋內(nèi)容*/(3)、CSS的選擇器分類:①元素選擇器:就是某個HTML元素作為選擇器,如:a,h1,p,etc;
②類選擇器,這也是非常常用的一個選擇器,它的名字可以任意取,只是在.css文件中定義它的樣式時,需要在這個名字前面加一個小黑點,使用它的時候,只需要在html標簽中使用class來選擇這個樣式即可;
③ID選擇器,它有些類似于類選擇器,但又有自身的一些特點,首先,ID選擇器前面有一個#號,其次ID選擇器的使用時,它需要通過ID屬性值來指定,而不是通過class來指定,最后,在一個HTML文檔中,ID選擇器會使用一次,并且進使用一次;④屬性選擇器,屬性選擇器可以根據(jù)元素的屬性及屬性值來選擇元素,例如,如果在網(wǎng)頁文檔中有部分元素包含title這個屬性,而我們希望將這些元素都變成紅色,以突出顯示,這時就可以使用屬性選擇器簡單實現(xiàn),如:*[title]{color:red};
⑤后代選擇器,它的別名是包含選擇器,其實際效果可以通過這個小例子來進行解釋:我只想對標簽中的em元素引用樣式,我可以這樣定義:pem{color:red};后代選擇器定義時需要注意,樣式規(guī)則左邊的選擇器一段包括兩個或者多個用空格分隔的選擇器(這個選擇器可以是其他的任意選擇器,而不僅僅是元素選擇器)。⑥子元素選擇器,它是相對于后代選擇器來講的,是在其基礎上縮小了范圍,它只對它后面挨著的元素有效。樣式定義格式:p>em{color:red}⑦相鄰兄弟選擇器,如果需要選擇緊接在另一個元素后的元素,而且二者有相同的父元素,即可使用它。樣式定義格式:h1+p{color:red}
⑧偽類選擇器,是指對同一HTML元素的各種狀態(tài)和其所包括的部分內(nèi)容的一種定義方式。如:a:link{color:red}(4)、CSS的樣式分為三種:
①行內(nèi)樣式,即HTML標簽直接使用style屬性,它一般用于某個獨立的元素。如:
。如果使用了行內(nèi)樣式,一般需要在標簽內(nèi)添加:
②內(nèi)嵌樣式,它是將標簽放在標簽中,如:
P{padding:10px;font-size:16px}
③外部樣式,這是最建議使用的,因為它將CSS單獨保存在一個文件中,通過
將樣式引入進來。它的優(yōu)點是可以同時作用于多個頁面,而無需重復編寫樣式,減少了工作量,并且修改時,只需要修改一個.css文件,就可以將整個使用它的頁面樣式都修改掉。
三種樣式的使用順序在html標簽中,如果有多種樣式,而規(guī)定的樣式?jīng)]有沖突,則疊加,如果有沖突,則最先考慮行內(nèi)樣式,沒有的話,再考慮內(nèi)嵌樣式,還沒有,就采用外部樣式,如果它也沒有,就使用html的默認樣式顯示。(5)、框模型:
padding,border,margin都是可選的,默認值均為0,其中width與height指的是內(nèi)容區(qū)域的寬度和高度,padding,margin,border尺寸的變化,不會影響內(nèi)容區(qū)域的尺寸,但是會增加元素框的總尺寸。額外需要注意的是:margin的合并,它是指,當兩個垂直外邊距相遇時,他們將形成一個外邊距,合并后的外邊距的高度等于兩個發(fā)生合并的外邊距的高度中的較大者。(6)、CSS定位,它有三種方式,分別是:
①相對定位,相對于其默認初始位置,通過設置垂直或水平位置,讓這個元素相對于它的起點進行移動。要進行相對定位,需要在樣式中使用:position:relative
②絕對定位,絕對定位讓元素脫離了文檔流,故它不占據(jù)空間,定位后生成一個塊級元素,而不管原來它在正常流中生成何種類型框。
③浮動,在標準瀏覽器中,浮動元素脫離了文檔流,不占據(jù)外圍容器空間。浮動可以向左或者向右,知道它的外邊緣碰到包含框或另外一個浮動框的邊框為止。
JavaScript的學習總結:
(1)、關于javascript的一些語法:javascript是一種弱類型語言,它屬于面向對象編程語言。它也有構成編程語言的一些基本元素,如:數(shù)據(jù)類型,變量(雖然全部都用var關鍵字來聲明變量,甚至可以不用該關鍵字),表達式和運算符,數(shù)組,控制結構(if(){}else{})和循環(huán)結構(for()),函數(shù),正則表達式等等概念。其中大部分與其他語言的差不多,只有個別的需要作出說明。
①對象,javascript也屬于面向對象編程語言,因此它其中的所有事物都是對象,這點與其他面向對象編程語言相同,一切皆對象(字符串,數(shù)值,數(shù)組,函數(shù)等等)。當然,雖然javascript有許多內(nèi)置對象,它也是允許自定義對象的。對象之中也包含屬性與方法,對象訪問屬性跟方法的方式也與java中的訪問方式一樣,通過.來進行訪問。Javascript中的主要對象有:window,document,文本對象,按鈕對象,location對象,history對象,字符串對象,日期對象,數(shù)組對象等
②變量,javascript是弱類型語言,用它聲明的變量,可以保存任意類型的數(shù)據(jù),或者只用變量名對其直接賦值。
③數(shù)組,它的數(shù)組是一個對象,需要使用的時候,可用這種方式:arr=newArray();(實質上還有其他兩種方式)這點有些類似java中創(chuàng)建對象,調用構造函數(shù)。數(shù)組類主要有toString(),subString()等等方法。
④函數(shù),javascript中的函數(shù)是很具有獨特氣質的,它沒有返回值,可以在參數(shù)列表中只給出變量名而不要數(shù)據(jù)類型(因為它是弱類型),甚至它可以不要函數(shù)名字,并且定義一個函數(shù),需要使用關鍵字function來說明這是一個函數(shù)的定義。而且在一個函數(shù)內(nèi)部可以再定義一個匿名函數(shù),這些特點在其他語言中是很不可思議的事情。雖然javascript是面向對象編程語言,但是它并不具備類似于C++,JAVA這類語言的某些功能,如:函數(shù)的重載。
(2)、在HTML中使用javascript是非常簡單的一件事情,它有兩種形式:①內(nèi)部引入:就是將js代碼直接寫在HTML代碼中,如:
alert(“=============”);②外部引入:就是將js代碼單獨放在一個文件中,其后綴名是.js,在要使用它的html文件中使用如下代碼引入:
這段代碼一般放在之間。(3)、javascript中的事件,事件簡單說就是用戶在使用頁面時執(zhí)行的操作,比如點擊鼠標,按鍵盤等等。一般處理事件都是通過一個函數(shù),如常在js腳本中使用的這種方式:window.onLoad=myFunction;其中onLoad是頁面加載完成時要觸發(fā)的一個事件,該事件的處理函數(shù)式myFunction。Javascript中有非常多的時間,比如:onclick(鼠標點擊),onsubmit(按鈕提交),onchange(下拉菜單),onblur(失去焦點)等等。(4)、javascript和cookie,cookie是一小段信息,當用戶第一次訪問服務器時,服務器將它發(fā)給用戶,這樣,以后當用戶訪問這個站點時,服務器就可以通過cookie來識別用戶了。Cookie它的格式是有特定格式的,格式如下:
cookieName=cookieValue;expires=expirationDate;path=URLpath;domain=siteDomain其中只有第一部分cookieName是必須賦值的。(5)、DOM(文檔對象模型),它要求將HTML文檔看做是由節(jié)點組成的樹結構。通過DOM給出的一些屬性及方法,我們可以添加、刪除和操作特定的節(jié)點,以及在頁面上插入和替換節(jié)點。
①訪問節(jié)點:getElementByTagName()獲取標簽名;getElementsByName()獲取name特性等于指定值的元素;getElementById()返回id特性等于指定的元素。②創(chuàng)建和操作節(jié)點:createElement()創(chuàng)建標簽元素;createTextNode()創(chuàng)建文本節(jié)點;appendChild()把文本節(jié)點追加到標簽元素中;removeChild()刪除節(jié)點;replaceChild()替換節(jié)點;insertBefore()插入節(jié)點。
(6)、關于ajax,它并非一個新的技術,而是將很多原本存在的技術進行了一個組合,其中的核心是XMLHttpRequest,Ajax技術讓自己的站點具有更好的響應性、更吸引人,這會使站點的用戶在瀏覽過程中更愉快。它主要由下面這些技術組成:①使用HTML和CSS控制頁面結構和表示方式;②使用DOM顯示和操縱頁面;
③使用瀏覽器的XMLHttpRequest對象在客戶機和服務器之間傳輸數(shù)據(jù);④使用XML(JSON)作為在客戶機和服務器之間傳輸?shù)臄?shù)據(jù)的格式;⑤使用JavaScript動態(tài)地顯示所有內(nèi)容并且提供交互功能。使用ajax技術,我們一般需要通過以下幾個步驟:①首先通過XMLHttpRequest獲得一個對象xhr;
②設置xhr的onreadystatechange事件處理程序。每當xhr.readyState屬性值發(fā)生變化時,就會觸發(fā)這個處理程序。③調用open()并且傳遞3個參數(shù):一個HTTP請求方法(例如"GET"、"POST"或"HEAD")、服務器上一個文件的URL和一個布爾值,這個布爾值告訴服務器請求是否異步(也就是說,我們是否會等待請求完成)。
④最后,我們用send()發(fā)送剛才創(chuàng)建的請求。如果要請求POST,就傳遞這里給出的參數(shù);若是GET,直接將參數(shù)設置為null。(7)、javascript一些其他知識點:
①alert(“xxxxxxxxxx”)跳出提示框,只有提示信息;confir6(“xxxxxxx”),有兩個按鈕,用來確認用戶的選擇;prompt(“xxxxxxxxx”,””),提示用戶輸入一個字符串,然后對這個字符串進行操作。
②document.write(),用來向頁面輸出內(nèi)容;window.location完成頁面的轉換;
③比較字符串的時候,在javascript中只需要通過==即可,不需要像java一樣使用equals()。
④javascript中也有this,JavaScript關鍵字this使腳本能夠根據(jù)使用這個關鍵字的上下文將值傳遞給函數(shù)。
⑤javascript中的匿名函數(shù),樣式是:thisImage.onmouseout=function(){this.src=this.outImage.src;}
第一行開始定義一個匿名函數(shù)(也就是沒有函數(shù)名的函數(shù))。本來也可以給它指定一個名稱(比如rollOut()),但是因為它只有一行代碼,所以不需要命名。⑥在編寫腳本時,常常要檢查瀏覽器是否能夠理解我所使用的對象,常用于兼容中,我們常用對象探測技術,如:if(document.getElementById){}else{}如果對象存在,if語句就為true,腳本繼續(xù)執(zhí)行。但是,如果瀏覽器不理解這個對象,測試就返回false,并執(zhí)行條件語句的else部分。在之前還有使用瀏覽器探測技術。
本周幾天時間對HTML、CSS、JavaScript進行了學習,HTML相對來說是比較簡單的,要掌握其中的標簽難度也不是很大,主要是要明白它只控制文檔的結構,表現(xiàn)相關的交給CSS,行為相關的交給JavaScript;CSS中有眾多的屬性還不是很熟悉,因為自己真正完整布局的網(wǎng)站并沒有,但是對CSS大體結構了解,因為它的形式相對來說很單一,在實踐中多多運用,私下自己做幾個簡單的單頁,個人覺得問題不大;對于JavaScript之前并沒有接觸過,經(jīng)過這段時間學習,明白了其中的一些入門的含義,對其中具有的眾多對象,對象的很多方法與屬性還不是很熟悉,目前能夠進行一些簡單腳本的編寫與閱讀,后面也需要再編寫一些復雜的腳本來提高自己這方面的能力。對于這三方面知識點尚有疏漏的地方,望劉老師給予指導。
何磊
201*年11月6日
友情提示:本文中關于《基于WEB的網(wǎng)絡編程開發(fā)》課程學習總結報...》給出的范例僅供您參考拓展思維使用,基于WEB的網(wǎng)絡編程開發(fā)》課程學習總結報...:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權問題,請聯(lián)系我們及時刪除。