基于jsp技術(shù)和ajax技術(shù)實現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計.doc
《基于jsp技術(shù)和ajax技術(shù)實現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《基于jsp技術(shù)和ajax技術(shù)實現(xiàn)的網(wǎng)絡(luò)聊天室的設(shè)計.doc(81頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 編號 淮安信息淮安信息職業(yè)職業(yè)技技術(shù)術(shù)學(xué)院學(xué)院 畢畢業(yè)業(yè)論論文文 題 目基于 JSP 技術(shù)和 Ajax 技術(shù)實現(xiàn)的聊天室設(shè)計 學(xué)生姓名王萬爽 學(xué) 號35011219 院 系 計算機與通信工程學(xué)院 專 業(yè)計算機應(yīng)用技術(shù) 班 級350112 指導(dǎo)教師李剛 顧問教師 二一三年十月 摘摘 要要 隨著互聯(lián)網(wǎng)的飛速發(fā)展,聊天室這種比較古老的交流方式已經(jīng)被眾多人所 認可。通過聊天室在線聊天已成為網(wǎng)絡(luò)上人與人之間的溝通、交流和聯(lián)系的一 種方式。為此,越來越多的網(wǎng)站開始提供在線的聊天功能。與此同時,聊天室 也以其方便、快捷、低成本等優(yōu)勢受到眾多企業(yè)的親睞,很多企業(yè)的網(wǎng)站中也 加入了聊天室,以達到增進企業(yè)與消費
2、者、消費者與消費者之間的相互交流和 聯(lián)系的目的。 傳統(tǒng)的互聯(lián)網(wǎng)絡(luò)聊天室,以顯示在線用戶和用戶信息的實時傳送,需要定 期刷新頁面。刷新頁面,不僅要占用一定的系統(tǒng)資源和網(wǎng)絡(luò)帶寬,也會出現(xiàn) “白屏”現(xiàn)象,這對良好的用戶體驗是非常不利的。 Ajax 是一個新的 web 應(yīng)用, 使用 Ajax 技術(shù)的發(fā)展不僅解決了頁面刷新帶來的白屏問題,也減少了對服務(wù)器 和網(wǎng)絡(luò)傳輸?shù)呢撦d。 我做的這個設(shè)計就是通過 JSP 和 Ajax 實現(xiàn)的無刷新聊天室。 關(guān)鍵詞:JSP;Ajax;網(wǎng)絡(luò)聊天室;無刷新 Abstract With the rapid development of Internet, chat rooms
3、 that compare the old way of communication has been recognized by many people. By online chat chat room has become the Internet interpersonal communication, a way of communication and contact. Therefore, more and more websites started offering online chat. Chat rooms, meanwhile, also with its conven
4、ient, fast, low-cost advantages such as affected by many enterprises, many enterprise site has joined the chat room, in order to achieve between the enterprises and consumers, customers and consumers to communicate and contact purpose. Traditional Internet chat rooms in order to display online users
5、 and user messages sent in real time, the need to regularly refresh the page. Page refresh not only to take up some system resources and network bandwidth, but there is also a “black and white“ phenomenon is very detrimental to a good user experience. Ajax is a new web application, the chat room sys
6、tem using Ajax technology development not only solved the page refreshes bring black and white issues, but also reduce the load on the server and network transmission. I do this is designed by the JSP and Ajax no refresh the chat room Keywords: Jsp;Ajax;Internet chat rooms;Nofresh; 目目 錄錄 摘摘 要要I Abst
7、ract.II 第一章第一章 緒論緒論.1 1.1 系統(tǒng)現(xiàn)狀.1 1.2 國內(nèi)外主要研究成果.1 1.3 課題的主要內(nèi)容及章節(jié)安排.3 第二章第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù)系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù).4 2.1 系統(tǒng)的開發(fā)環(huán)境.4 2.2 APPLICATION 對象.4 2.3 AJAX 技術(shù).5 2.4 監(jiān)控用戶在線狀態(tài)6 2.5 JSP 技術(shù).6 第三章第三章 系統(tǒng)分析與設(shè)計系統(tǒng)分析與設(shè)計.9 3.1 系統(tǒng)分析.9 3.1.1 聊天室功能需求分析.9 3.1.2 聊天室功能性能分析.9 3.2 系統(tǒng)運行環(huán)境.9 3.3 系統(tǒng)預(yù)覽和項目流程圖.10 第四章第四章 系統(tǒng)的實現(xiàn)系統(tǒng)的實現(xiàn).12 4
8、.1 用戶登錄模塊.12 4.2 聊天室主體功能模塊.13 4.3 實時獲取并顯示在線人員列表.14 4.4 實現(xiàn)用戶發(fā)言.15 4.5 實時顯示聊天內(nèi)容.19 4.6 退出聊天室.20 第五章第五章 總結(jié)與總結(jié)與致致謝謝.22 參考文獻參考文獻.24 第一章 緒論 1.1 系統(tǒng)現(xiàn)狀 在人們的生活中,信息技術(shù)的飛速發(fā)展正在發(fā)生深刻變化。人與人之間的 對話是不再局限于面對面,網(wǎng)上聊天室提供了信息交流的另一個地方。傳統(tǒng)的 聊天室,以顯示在線用戶和用戶信息的實時傳送,需要定期刷新頁面。刷新頁 面,不僅要占用一定的系統(tǒng)資源和網(wǎng)絡(luò)帶寬,也會出現(xiàn)“白屏”的現(xiàn)象,這對 良好的用戶體驗是非常不利的。而使用 A
9、jax 技術(shù)開發(fā)的聊天室,不僅可以解決 頁面刷新帶來白屏的問題,也減少了對服務(wù)器和網(wǎng)絡(luò)傳輸?shù)呢撦d。 隨著互聯(lián)網(wǎng)應(yīng)用的普及,web 應(yīng)用以其良好的擴展性、易于部署、維護方便 等優(yōu)點逐漸成為軟件開發(fā)的主流。早期的 Web 應(yīng)用采用的是同步交互過程,即 用戶首先向 Web 服務(wù)器提交一個請求或行為呼叫,服務(wù)器接收到客戶請求后執(zhí) 行相應(yīng)處理操作,最后向用戶返回處理結(jié)果。服務(wù)器在處理請求時,用戶處于 等待狀態(tài),有時如果超過了服務(wù)器響應(yīng)時間,甚至返回“頁面不可用”等提示。 另外,當我們只想改變頁面的部分數(shù)據(jù)時,用戶的請求會導(dǎo)致服務(wù)器重新返回 整個頁面內(nèi)容,包括那些沒有改變的數(shù)據(jù),這不但增加了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)
10、量, 還影響了客戶端的響應(yīng)時間,為什么我們不能“按需”獲取數(shù)據(jù)呢?Ajax 技術(shù)可 以很好的解決上述 web 應(yīng)用中存在的問題。Ajax 技術(shù)是 Web2.0 的核心之一,本 質(zhì)上是一種 RIA(RichIllternet Application)技術(shù)。RIA 是指具有高度互動性 和豐富用戶體驗的網(wǎng)絡(luò)應(yīng)用程序,它既具有消息確認、無刷新頁面之下提供快 捷的界面響應(yīng)、拖放式等桌面應(yīng)用程序的特點,同時又具有部署簡單、跨平臺 等 Web 應(yīng)用程序的特點。Ajax 技術(shù)提供了客戶端與服務(wù)器異步通信的能力,從 而使用戶從請求一響應(yīng)一再請求的循環(huán)中解脫出來,同時降低了網(wǎng)絡(luò)傳輸?shù)臄?shù) 據(jù)量,提高了客戶端的響應(yīng)速
11、度,改善了用戶使用體驗,使得 web 應(yīng)用可以接 近甚至達到類似“桌面應(yīng)用”的效果。 而 Ajax 有上述優(yōu)勢,例如 Google Suggest,Gmail,Google Map 等等交互 程序中都使用了異步通訊技術(shù)。不知不覺中,Ajax 應(yīng)用程序占據(jù)了整個網(wǎng)絡(luò)的 每一個角落??v觀所有的應(yīng)用程序,更好的用戶體驗是其的共同目標,在瀏覽器 中實現(xiàn)桌面用戶界面體驗是 Web 開發(fā)的一種趨勢。Ajax 技術(shù)從谷歌到 IBM,甲 骨文,雅虎,BEA 系統(tǒng)公司,紅帽,Novell 公司獲得業(yè)界眾多的 IT 巨頭的支持, 其快速發(fā)展是值得期待的。技術(shù)創(chuàng)新和標準化是 Ajax 技術(shù)發(fā)展的必由之路,而 W3C
12、 已成立了工作小組,專門從事 Ajax 的規(guī)范發(fā)展工作。 1.2 國內(nèi)外主要研究成果 Ajax技術(shù)的精髓是用異步交互替代了傳統(tǒng)的同步交互,所以當用戶操作時間 大于服務(wù)器響應(yīng)時間的時候,使用 Ajax的效果非常明顯。而當程序性能的瓶頸在于 服務(wù)器響應(yīng)時間的時候, Ajax 無法解決程序運行緩慢的問題。 因此,Ajax 是更適合 在網(wǎng)絡(luò)上的互動頻繁輕量級的應(yīng)用程序。在 Ajax 開發(fā)的應(yīng)用程序中,Google 公 司成功將 Ajax 技術(shù)應(yīng)用到他們的商業(yè)產(chǎn)品。Google 地圖和 Google Suggest 都 應(yīng)用了這項技術(shù)。當用戶使用谷歌地圖查看地圖(包括地圖的縮放和平移地圖) ,并沒有提交
13、任何請求到服務(wù)器,你就可以瀏覽到地圖的各個部分。在這里, 它是 Ajax 技術(shù)的應(yīng)用,使得地圖是不刷新的方式,但每個顯示原始數(shù)據(jù)的基礎(chǔ) 上以增量方式顯示 。在這種方式下,用戶覺得就像是在自己的計算機上查看本地 的地圖。微軟也在積極開發(fā) Ajax 應(yīng)用程序:它將 Ajax 技術(shù)應(yīng)用到的 MSN Space 上面。當用戶使用 MSN Space 提交回復(fù)評論時,瀏覽器會暫時停頓,然后刷新 顯示用戶提交的評論,這是應(yīng)用了 Ajax 的原理。目前,Ajax應(yīng)用最普遍的領(lǐng)域 是GIS-Map 方面。GIS的區(qū)域搜索強調(diào)快速響應(yīng), Ajax 的特點正好符合這種要求。 在應(yīng)用Ajax 技術(shù)開發(fā)過程當中,處于
14、核心位置的 Ajax引擎實際上是一些復(fù)雜的 JavaScript程序。 隨著網(wǎng)絡(luò)應(yīng)用和界面表現(xiàn)的復(fù)雜化,使用面向過程的 JavaScript 語言描述表現(xiàn)邏輯將會變得很困難。同時 , JavaScript的兼容性和調(diào)試都會成為使 用Ajax 技術(shù)的一個障礙。為了解決這些問題,開發(fā)人員已經(jīng)開發(fā)出了一些基于Ajax 技術(shù)的框架,方便了開發(fā)人員使用 ,有利于Ajax 技術(shù)的進一步推廣。當然,任何技 術(shù)都是有局限性的, Ajax 也不例外。 Ajax更新頁面無需刷新重載,這也使傳統(tǒng)的一 些用戶交互行為變得不可用,如后退、前進和刷新等。另外,移動設(shè)備(如手機、 PDA 等)現(xiàn)在還不能很好的支持Ajax,
15、Ajax 對流媒體的支持也沒有Java Applet和 Flash這樣成熟的技術(shù)好。 因此,一些輔助的平臺和插件的開發(fā)也將是 Ajax技術(shù)應(yīng) 用當中重要的一部分。 Ajax 把大量的運算從服務(wù)器轉(zhuǎn)移到了客戶端瀏覽器,這意味著瀏覽器將承受 更大的負擔,而不再是簡單的文檔顯示功能。 聊天室作為一個能夠吸引人氣的欄目,在現(xiàn)代網(wǎng)絡(luò)應(yīng)用中隨處可見。它的作 用是給不同的用戶提供一個交流信息的場所。用戶在聊天室中可以發(fā)布信息, 就如同所有用戶都在一個個真正室內(nèi)聊天一樣。 傳統(tǒng)的聊天室程序一般設(shè)置在客戶端的網(wǎng)頁自動刷新。刷新在這樣的數(shù)據(jù) 會帶來一些缺點,例如:每次刷新服務(wù)器應(yīng)該重新獲取數(shù)據(jù),大大提高了服務(wù) 器
16、上的負載,此刷新過程正在進行,這將是非常嚴重的影響服務(wù)器的性能;每 次刷新過程中會產(chǎn)生大量無用數(shù)據(jù),不斷刷新頁面,用戶在客戶端方面,將導(dǎo) 致屏幕閃爍。解決屏幕閃動最重要的一條原則就是,將改動的地方顯示到客戶 端,而那些不需要改動的地方則盡量不要讓用戶感覺到變化。一個更好的解決 辦法是使用 Ajax 技術(shù)的無刷新聊天室應(yīng)用。 現(xiàn)在的聊天室通過四個主要功能模塊實現(xiàn)了聊天室中用戶登錄、注銷、環(huán) 境設(shè)置、發(fā)送消息、讀取消息和查看在線用戶列表等。聊天室系統(tǒng)為用戶提供 了聊天場所,操作員可對后臺網(wǎng)站的風格、廣告鏈接等進行設(shè)置;用戶可以根據(jù) 個人的習慣選擇字體、文字顏色和表情等;前臺聊天室具有私聊的功能,私
17、聊的 內(nèi)容僅供私聊雙方查看;聊天者可自己手動清除聊天內(nèi)容。操作員可通過客戶 端處理模塊獲取界面元素從而得到聊天內(nèi)容或與服務(wù)器交互更新客戶端頁面響 應(yīng)用戶事件。服務(wù)器端響應(yīng)模塊可提供聊天室界面元素信息獲得提交數(shù)據(jù)。 1.3 課題的主要內(nèi)容及章節(jié)安排 現(xiàn)在,多渠道的信息源、網(wǎng)絡(luò)化的數(shù)據(jù)分布、快捷醫(yī)用的交互操作、智能 化的分析決策等特點越來越成為衡量優(yōu)良聊天軟件的關(guān)鍵,因此,該網(wǎng)絡(luò)聊天 室是基于jsp語言運行于MyEclipse Java平臺上,利用的技術(shù)主要是,使用配置 文件作為數(shù)據(jù)管理。為實現(xiàn)和方便客戶端間通信,在客戶端進行了人性化的界 面設(shè)計,用戶可以輸入用戶名,登陸界面,改變字體顏色等功能。
18、 第一章對本次課題的背景及意義、課題現(xiàn)狀、課題內(nèi)容與目標進行了深入 的闡述。 第二章介紹了系統(tǒng)的開發(fā)環(huán)境和關(guān)鍵技術(shù),例如 Ajax 技術(shù)、JSP 技術(shù)、滾 屏顯示技術(shù)等等。 第三章是系統(tǒng)分析與設(shè)計。將對系統(tǒng)進行需求分析,對組成系統(tǒng)的功能模 塊進行劃分,對每個模塊將要實現(xiàn)的功能進行闡述和說明。對系統(tǒng)的結(jié)構(gòu)進行 設(shè)計,設(shè)計共享數(shù)據(jù)結(jié)構(gòu)。 第四章是系統(tǒng)實現(xiàn),分別介紹了服務(wù)器端和客戶端每個功能的執(zhí)行過程, 畫出主要模塊的流程圖。 第五章是總結(jié)與致謝。 最后,對本設(shè)計進行歸納總結(jié),全面闡述本次設(shè)計中的體會。 第二章 系統(tǒng)開發(fā)環(huán)境和關(guān)鍵技術(shù) 2.1 系統(tǒng)的開發(fā)環(huán)境 MyEclipse Java 如圖 1-
19、1 系統(tǒng)開發(fā)環(huán)境。 圖 1-1 系統(tǒng)開發(fā)環(huán)境 2.2 Application 對象 Application 對象是一個環(huán)境上下文(context)對象,用于保存應(yīng)用程序 中的所有公有數(shù)據(jù),服務(wù)器啟動并且自動創(chuàng)建 Application 對象以后,只要沒 有關(guān)閉服務(wù)器,Application 對象將一直存在,并且可以被所有用戶共享。 Application 對象為 JSP 提供的內(nèi)置對象,可以直接使用,但在 servlet 中, 需要通過以下代碼來獲取該對象的實例,才可以使用該對象。 ServletContext application=getServletContext(); Applicat
20、ion 對象提供了很多方法,我的設(shè)計中,只使用了 setAttribute()和 getAttribute()方法。 首先來介紹 setAttribute()方法,該方法用于將一個對象綁定到一個屬性 上,該屬性在整個 Servlet 上下文中都適用。setAttribute()方法的語法格式 如下;Application. setAttribute(String name,Object object); 參數(shù)說明:name:用于指定的一個屬性名該屬性在整個 Servlet 上下文都 適用。object:用于指定屬性值。 如本設(shè)計中的,設(shè)置保存聊天信的 Application 對象的屬性的具體代
21、碼如 下: application。setAttribute(“message”.sourceMessage); 下面我們再來介紹 getAttribute()方法,該方法用于返回 Application 對 象的指定屬性的值。如果不存在該屬性,則返回 null。getAttribute()方法的 基本語法如下: Application。getAttribute(String name);參數(shù)說明:Name:用于指定 一個屬性名。 本設(shè)計中,設(shè)置獲取聊天信息的 Application 對象的屬性的具體代碼如下: StringsourceMessage=application.getAttrib
22、ute(“message”).toString(); 2.3 Ajax 技術(shù) Ajax 是一種創(chuàng)建交互式網(wǎng)頁的 web 開發(fā)技術(shù)。Ajax 的一個非常成功的案例 就是 Google,當用戶在 Google 的搜索輸入框中輸入關(guān)鍵字的時候。他會提示與 關(guān)鍵字相關(guān)的另一些關(guān)鍵字。用戶可以對自己喜歡的一些關(guān)鍵字進行選擇,這 樣既方便了用戶定位自己的需要,又可以很好的引導(dǎo)搜索結(jié)果。 在 Ajax 應(yīng)用中,頁面中用戶的操作將通過 Ajax 引擎與服務(wù)器進行通信,然后 將返回結(jié)果提交給客戶端頁面的 Ajax 引擎,而有 Ajax 引擎決定這些數(shù)據(jù)插入 到頁面的任何位置。 Ajax 的最大特點的就是很好的用
23、戶體驗,大多數(shù)使用 Ajax 技術(shù)的 web 應(yīng)用 程序,比同類沒有使用的 web 應(yīng)用程序的用戶體驗要好的多,盡管他們都能完 成相類似的功能。例如,一個普通的用戶注冊頁面,如果用戶希望知道注冊的 用戶名是否已經(jīng)注冊過了,那只能等提交表單到服務(wù)器以后并重新來到一個新 的頁面,才知道用戶名是否可用,這種情況每次單擊按鈕都會導(dǎo)致幾秒鐘的延 遲和屏幕刷新,但事實上頁面改動的地方卻只有很少一部分,Ajax 正在打破這 種狀況,是頁面再無刷新的情況下,完成某些與服務(wù)器的交互功能。大大提高 了用戶的體驗感。 2,Ajax 不是單一的技術(shù),而是四種技術(shù)的集合,有 javascript ,css,Dom XM
24、LHttpRequestAjax 程序是用 javascript 語言寫成的。Ajax 程序 可以使用 CSS 來控制頁面的樣式。DOM,指的是文本對象模型,它是一個 web 頁 面的對象模型,可以用 javascript 來操作的頁面結(jié)構(gòu)。XMLHttpRequest 對象用 來在后臺向服務(wù)器端發(fā)送請求,數(shù)據(jù)的格式可以使任何的文本格式,如 XML、純 文本。他也是 Ajax 進行異步通信的 關(guān)鍵元素。 這四種技術(shù)各司其職,其中 javascript 是其他三中的粘合劑,javascript 可以通過修改 DOM 的結(jié)構(gòu)來改變界面,或者完全改變 DOM 的結(jié)構(gòu)來重新繪制用 戶界面;XMLHtt
25、pRequest 對象則用來與服務(wù)器進行異步通信,javascript 也正 是通過控制他來提交請求和獲取最新數(shù)據(jù)的。 Ajax 也會大量使用 DHTML 進行編程,并且它與服務(wù)器端的異步通信能力使得一 個 web 頁面的使用壽命大大增長,用戶交互性大大增強了。 Ajax 技術(shù)的優(yōu)缺點: 作為富客戶端技術(shù)之一的 Ajax 的最大優(yōu)點,就是再不更新整個頁面的前提下維 護數(shù)據(jù)。這使得 web 應(yīng)用程序能夠更為迅捷的回應(yīng)用戶動作,并避免了在網(wǎng)絡(luò) 上發(fā)送那些沒有改變過的信息。與其他富客戶端技術(shù)不同,Ajax 不需要任何瀏 覽器插件,直接通過瀏覽器內(nèi)置的 javascript 控制瀏覽器的內(nèi)容和行為即可
26、。 而其他的富客戶端技術(shù)往往需要安裝插件,并且以一個單獨的進程來運行這些 富客戶端,一旦處理不當,很可能造成速度很慢的后果。 缺點:就是 Ajax 在不同的瀏覽器運行時,由于各個瀏覽器之間的差異,是的開 發(fā)者在眾多不同的平臺和瀏覽器上經(jīng)過嚴格的測試,但是隨著 Ajax 技術(shù)的成熟, 一些簡化跨平臺的 Ajax 程序庫,也相繼問世,程序員可以使用這些運行庫進行 Ajax 的開發(fā),也不擔心 Ajax 的跨平臺性。還有一個缺點就是;他動態(tài)改變的內(nèi) 容無法保存到本地或通過收藏夾來保存。這其實是因為 Ajax 改變?yōu)g覽器的內(nèi)容 和行為,往往是通過修改網(wǎng)頁的 DOM 和 CSS 來控制的,這些新消息都僅僅
27、在瀏 覽器窗口沒關(guān)之前存在于內(nèi)存里。 Ajax 更適合有少量頁面內(nèi)容需要改變的客戶端編程,如果頁面的大多說內(nèi)容都 需要改變的時候,還是建議使用讓整個頁面刷新的方式較好。 2.4 監(jiān)控用戶在線狀態(tài) 在聊天室程序中需要實時監(jiān)控用戶在線狀態(tài),當用戶非正常退出時(如: 沒有單擊“退出聊天室”按鈕,也沒有單擊窗口的關(guān)閉“按鈕” ,而是直接將頁 面轉(zhuǎn)向其他網(wǎng)站) ,能夠保證將該用戶從列表中刪除??梢詰?yīng)用 Servlet 中的監(jiān) 聽器(HttpBingListener 接口)實現(xiàn)此效果。 2.5 JSP 技術(shù) JSP(JavaServer Pages)是由 Sun Microsystems 公司倡導(dǎo)、許多公
28、司參與 一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準。JSP 技術(shù)有點類似 ASP 技術(shù),它是在傳統(tǒng)的 網(wǎng)頁 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 標記(tag), 從而形成 JSP 文件(*.jsp)。 用 JSP 開發(fā)的 Web 應(yīng)用是跨平臺的,即能在 Linux 下運行,也能在其他操作系統(tǒng)上運行。 JSP 技術(shù)使用 Java 編程語言編寫類 XML 的 tags 和 scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 scriptlets 訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設(shè) 計和顯示分離
29、,支持可重用的基于組件的設(shè)計,使基于 Web 的應(yīng)用程序的開發(fā) 變得迅速和容易。 Web 服務(wù)器在遇到訪問 JSP 網(wǎng)頁的請求時,首先執(zhí)行其中的 程序段,然后將執(zhí)行結(jié)果連同 JSP 文件中的 HTML 代碼一起返回給客戶。插入的 Java 程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的 功能。 JSP 與 Java Servlet 一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的 就是一個 HTML 文本,因此客戶端只要有瀏覽器就能瀏覽。 JSP 的 1.0 規(guī)范的最 后版本是 1999 年 9 月推出的,12 月又推出了 1.1 規(guī)范。目前較新的是 JSP1.2 規(guī)范,JSP2
30、.0 規(guī)范的征求意見稿也已出臺。 JSP 頁面由 HTML 代碼和嵌入其中 的 Java 代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些 Java 代碼進行處 理,然后將生成的 HTML 頁面返回給客戶端的瀏覽器。Java Servlet 是 JSP 的 技術(shù)基礎(chǔ),而且大型的 Web 應(yīng)用程序的開發(fā)需要 Java Servlet 和 JSP 配合才能 完成。JSP 具備了 Java 技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且 安全可靠,主要面向因特網(wǎng)的所有特點。 JSP 技術(shù)的強勢 (1)一次編寫,到處運行。在這一點上 Java 比 PHP 更出 色,除了系統(tǒng)之外,代碼不用做任何更改。
31、(2)系統(tǒng)的多平臺支持。基本上 可以在所有平臺上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán) 境中擴展。相比 ASP/PHP 的局限性是顯而易見的。 (3)強大的可伸縮性。從 只有一個小的 Jar 文件就可以運行 Servlet/JSP,到由多臺服務(wù)器進行集群和負 載均衡,到多臺 Application 進行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺 服務(wù)器,Java 顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具 支持。這一點與 ASP 很像,Java 已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多 可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。 JSP 技術(shù) 的弱勢
32、 (1) 與 ASP 一樣,Java 的一些優(yōu)勢正是它致命的問題所在。正是由于 為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。 (2) Java 的運行速度是用 class 常駐內(nèi)存來完成的,所以它在一些情況下所 使用的內(nèi)存比起用戶數(shù)量來說確實是“最低性能價格比”了。從另一方面,它 還需要硬盤空間來儲存一系列的.java 文件和.class 文件,以及對應(yīng)的版本文 件。 JSP 六種內(nèi)置對象: request, response, out, session, application, config, pagecontext, page, exception. 一.requ
33、est 對象: 該對象封裝了用 戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對 象可以獲取用戶提交信息。 二.response 對象: 對客戶的請求做出動態(tài)的響應(yīng), 向客戶端發(fā)送數(shù)據(jù)。 三session 對象 1.什么是 session:session 對象是一 個 JSP 內(nèi)置對象,它在第一個 JSP 頁面被裝載時自動創(chuàng)建,完成會話期管理。 從一個客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個服務(wù) 器結(jié)束,被稱為一個會話。當一個客戶訪問一個服務(wù)器時,可能會在這個服務(wù) 器的幾個頁面之間反復(fù)連接,反復(fù)刷新一個頁面,服務(wù)器應(yīng)當通過某種辦法知 道這是同一個客戶,這就
34、需要 session 對象。 2session 對象的 ID:當一個 客戶首次訪問服務(wù)器上的一個 JSP 頁面時,JSP 引擎產(chǎn)生一個 session 對象,同 時分配一個 String 類型的 ID 號,JSP 引擎同時將這個 ID 號發(fā)送到客戶端,存 放在 Cookie 中,這樣 session 對象和客戶之間就建立了一一對應(yīng)的關(guān)系。當客 戶再訪問連接該服務(wù)器的其他頁面時,不再分配給客戶新的 session 對象,直 到客戶關(guān)閉瀏覽器后,服務(wù)器端該客戶的 session 對象才取消,并且和客戶的 會話對應(yīng)關(guān)系消失。當客戶重新打開瀏覽器再連接到該服務(wù)器時,服務(wù)器為該 客戶再創(chuàng)建一個新的 se
35、ssion 對象。 四aplication 對象 1什么是 application: 服務(wù)器啟動后就產(chǎn)生了這個 application 對象,當客戶再所訪問 的網(wǎng)站的各個頁面之間瀏覽時,這個 application 對象都是同一個,直到服務(wù) 器關(guān)閉。但是與 session 不同的是,所有客戶的 application 對象都是同一個, 即所有客戶共享這個內(nèi)置的 application 對象。 2application 對象常用方法: (1)public void setAttribute(String key,Object obj): 將參數(shù) Object 指定 的對象 obj 添加到 app
36、lication 對象中,并為添加的對象指定一個索引關(guān)鍵字。 (2)public Object getAttribute(String key): 獲取 application 對象中含 有關(guān)鍵字的對象。 五out 對象 out 對象是一個輸出流,用來向客戶端輸出數(shù) 據(jù)。out 對象用于各種數(shù)據(jù)的輸出。 第三章 系統(tǒng)分析與設(shè)計 3.1 系統(tǒng)分析 3.1.1 聊天室功能需求分析 用戶登錄,包括用戶是否在線 實時顯示在線人員列表及在線人數(shù) 用戶發(fā)言,包括顯示聊天內(nèi)容和滾屏顯示聊天信息 安全退出聊天室,包括單擊關(guān)閉按鈕退出聊天室。 3.1.2 聊天室功能性能分析 普通用戶能夠登錄的聊天室進行文本的聊
37、天,能夠方便的實現(xiàn)公共交談、 選擇顏色、添加文字表情等??梢杂?Ajax 實現(xiàn)無刷新操作。 3.2 系統(tǒng)運行環(huán)境 在開發(fā)聊天室系統(tǒng)時,需要具備下面的軟件環(huán)境: 服務(wù)器端: 操作系統(tǒng):WindowsXP。 Web 服務(wù)器:Tomcat6.0。 Java 開發(fā)包:MyEclipse。 客戶器端: IE6.0。 3.3 項目流程圖和系統(tǒng)預(yù)覽 (1)項目流程圖 聊天室的系統(tǒng)流程,如圖 3-1 用戶登錄聊天室是否在線 進入聊天室 主界面 發(fā)送聊天內(nèi) 容 顯示聊天內(nèi) 容 選擇聊天對 象 選擇表情文 字 文字顏色 輸入發(fā)言內(nèi) 容 是 否 圖 3-1 項目流程圖 (2)為了是使大家對本模塊有一定的了解,下面將
38、給出聊天室的主界面預(yù)覽 效果圖。聊天室的登錄界面如圖 3-2 登錄界面.輸入用戶名,然后單擊“進入” 按鈕,將進入聊天室的主界面,如圖 3-3 主界面。 圖 3-2 登錄界面 圖 3-3 主界面 第四章 系統(tǒng)的實現(xiàn) 4.1 用戶登錄模塊 當用戶訪問聊天室時,首先進入的是登錄聊天室頁面。在該頁面中,用戶輸入自己 喜歡的用戶名,如圖 4-1 登錄界面,單擊進入按鈕,系統(tǒng)將判斷輸入的用戶名是否被占 用,如果被占用將給出提示。 圖 4-1 登錄界面 聊天室 functionfunction check() ifif(form1.username.value=“) alert(“請輸入用戶名!“);fo
39、rm1.username.focus();returnreturn falsefalse; elseelse ifif(form1.username.value=“) alert(“請不要輸入非法字符!“);form1.username.focus();returnreturn falsefalse; 用戶名: 4.2 聊天室主體功能模塊 在用戶登錄頁面中輸入用戶名,單擊“進入”按鈕即可進去聊天室的主界面。如圖 4-2 聊天室主體功能模塊,在頁面中包括頁面頭部、在線人員列表區(qū)、聊天內(nèi)容顯示區(qū)和 用戶發(fā)言區(qū) 4 部分。 圖 4-2 聊天室主體功能模塊 4.3 實時獲取并顯示在線人員列表 在設(shè)計聊
40、天室程序時,為了讓用戶及時了解在線用戶,并與其他用戶交流,需要提 供實時獲取并顯示在線人員列表的功能。這小節(jié)介紹聊天室的主界面中,左側(cè)顯示在線 人員列表及在線人數(shù)。如圖 4-3 在線人員列表圖。 圖 4-3 在線人員列表圖 為了實時顯示在線人員列表,這里應(yīng)用了 Ajax 技術(shù)。實現(xiàn)實時顯示在線人員列表的 具體步驟如下: 1、編寫自定義的 JavaScript 函數(shù) showOnline(),用于實例化 Ajax 對象, showOline()函數(shù)的具體代碼如下: functionfunction showOnline() varvarloader=newnewnet.AjaxRequest(“
41、online.jsp?nocache=“+newnew Date().getTime(),deal_online,onerror,“GET“); 其中?nocache=“+newnew Date().getTime()的用處是更新在線人員列表。 2、Ajax 進行異步請求目標的 URL 地址是 onlin.jsp,即 JSP 文件。在該文件中,主 要是將保存在集合類中的在線人員列表顯示到頁面。Online.jsp 頁面的代碼如下: 歡迎來到心之語聊天室! 所有 人 0) String username=“; amount=vector.size(); forfor(intint i=0;i )
42、“ 當前在線人 3、在聊天室的主界面中,將左側(cè)用于顯示在線人員列表的單元格的 id 屬性設(shè)置為 online,用于實時顯示在線人員列表,具體代碼如下: 在線人員列表 4、編寫 Ajax 的回調(diào)函數(shù) deal_online(),用于將獲取的在線人員列表賦值給 id 為 online 的標記的 innerHYML 屬性。Deal_online()函數(shù)的具體代碼如下: function deal_online() online.innerHTML=this.req.responseText; 5、為了讓頁面載入后就調(diào)用 Ajax 獲取在線人員列表,并且每隔 10 秒鐘便獲取一次 數(shù)據(jù),還需要在頁面中
43、添加 JavaScript 代碼,具體代碼如下: window.setInterval(“showOnline();“,10000); window.onload=functionfunction() showOnline(); /當頁面載入后顯示在線人員列表 4.4 實現(xiàn)用戶發(fā)言 在聊天室程序中一個必不可少的功能就是實現(xiàn)用戶發(fā)言,設(shè)計中,用戶發(fā)言區(qū)位于 聊天室主界面的底部,如圖:4-4 用戶發(fā)言模塊。 圖 4-4 用戶發(fā)言模塊 實現(xiàn)用戶發(fā)言的具體步驟如下: 1、在頁面的合適位置添加用于收集用戶發(fā)言信息的表單及表單元素,關(guān)鍵代碼如下: $username 對 表情 無表情的 微笑著 笑呵呵地
44、熱情的 溫柔的 紅著臉 幸福的 嘟著嘴 熱淚盈眶的 依依不舍的 得意的 神秘兮兮的 惡狠狠的 大聲的 生氣的 幸災(zāi)樂禍的 同情的 遺憾的 正義凜然的 嚴肅的 慢條斯理的 無精打采的 說: 字體顏色: 默認顏色 紅色熱情 藍色開朗 桃色浪漫 綠色青春 青色清爽 紫色拘謹 暗夜興奮 深藍憂郁 卡其制服 鎦金歲月 湖波蕩漾 發(fā)亮藍紫 愛的暗示 墨綠深沉 煙雨蒙蒙 聊天對象文本框設(shè)置為只讀屬性是用戶就不能手動輸入聊天對象,因此還需要提供 選擇聊天對象的功能,可以通過在主頁面中添加選擇聊天對講的 JavaScript 自定義函數(shù)及 在線人員列表中添加超鏈接實現(xiàn)。實現(xiàn)將選擇的聊天對象添加到聊天對象文本框的
45、 JavaScript 代碼如下: functionfunction set(selectPerson) /自動添加聊天對象 ifif(selectPerson!=“$username“) form1.to.value=selectPerson; elseelse alert(“請重新選擇聊天對象!“); 2、編寫自定義的 JavaScript 函數(shù) send(),用于調(diào)用 Ajax 實現(xiàn)用戶發(fā)言。在函數(shù)中, 首先驗證用戶輸入信息的合法性然后再將提交的表單的內(nèi)容連接為一個參數(shù)字符串,最 后實例化 Ajax 對象。Send()函數(shù)的具體代碼如下: functionfunction send()
46、/驗證聊天信息并發(fā)送 ifif(form1.to.value=“) alert(“請選擇聊天對象!“);returnreturn falsefalse; ifif(form1.content1.value=“) alert(“發(fā)送信息不可以為空!“);form1.content1.focus();returnreturn falsefalse; VarVarparam=“from=“+form1.from.value+“ varvarloader=newnewnet.AjaxRequest(“Messages?action=sendMessage“,deal_send,onerror, “PO
47、ST“,param); 3、在聊天室相關(guān)的 Servlet 實現(xiàn)類中添加發(fā)送聊天信息的方法 sendMessages()。在 該方法中,首先獲取用戶發(fā)言的相關(guān)信息,并將發(fā)言信息保存在應(yīng)用程序?qū)ο?ServletContext 中,然后通過 RequsetDispatcher 對象的 forward()方法將請求轉(zhuǎn)發(fā)。 SendMessages()方法的具體代碼如下: publicpublic voidvoid sendMessages(HttpServletRequest request, HttpServletResponse response) throwsthrows ServletEx
48、ception, IOException response.setContentType(“text/html;charset=UTF-8“); request.setCharacterEncoding(“UTF-8“); Random random = newnew Random(); String from = request.getParameter(“from“); /發(fā)言人 String face = request.getParameter(“face“); /表情 String to = request.getParameter(“to“); /接收者 String color
49、= request.getParameter(“color“); /字體顏色 String content = request.getParameter(“content“); /發(fā)言內(nèi)容 String sendTime =new Date().toLocaleString(); /發(fā)言時間 ServletContext application = getServletContext(); String sourceMessage = application.getAttribute(“message“).toString(); trytry /發(fā)言時間 sourceMessage += “
50、+ from + “ + face + “對“ + to + “說:“ + “ + content + “(“ + sendTime + “) “;application.setAttribute(“message“,sourceMessage); request.getRequestDispatcher(“Messages?action=getMessages catchcatch (Exception ex) Logger.getLogger(Messages.classclass.getName().log(Level.SEVERE, nullnull, ex); 4.5 實時顯示聊天內(nèi)
51、容 在聊天室程序中另一個必不可少的功能就是顯示聊天內(nèi)容。這個版塊是在主界面的 右側(cè),如圖 4-5 聊天內(nèi)容模塊。 圖 4-5 聊天內(nèi)容模塊 在實現(xiàn)顯示聊天內(nèi)容功能時,為了實時顯示聊天內(nèi)容,這里應(yīng)用了 Ajax 技術(shù),技術(shù) Ajax 重構(gòu)的方法,實現(xiàn)實時顯示聊天內(nèi)容的具體步驟如下: 1、編寫自定義的 JavaScript 函數(shù) showContent(),用于實例化 Ajax 對象。 showContent()函數(shù)的具體代碼如下: functionfunction showContent() varvarloader1=newnewnet.AjaxRequest(“Messages?action
52、=getMessages 2、從上可以看出,Ajax 進行異步請求目標的 URL 地址為 MessagesAction?action=getMessage。從該 URL 地址可以看出,在進入主界面前會調(diào)用 聊天室相關(guān)的 Servlet 實現(xiàn)類中的 getMessages()。getMessage()方法的具體代碼如下: publicpublic voidvoid getMessages(HttpServletRequest request,HttpServletResponse response) response.setContentType(“text/html;charset=UTF-8
53、“); trytry request.getRequestDispatcher(“content.jsp“).forward(request, response); catchcatch (Exception ex) Logger.getLogger(Messages.classclass.getName().log(Level.SEVERE, nullnull, ex); 3、編寫顯示聊天內(nèi)容的 JSP 頁面 content.jsp,在該頁面中只需要應(yīng)用 EL 表達式將 返回的執(zhí)行結(jié)果輸出即可,具體代碼如下: $message 4、在聊天室主界面的右側(cè)俠士聊天內(nèi)容的單元格中添加一個 id 屬
54、性為 content 的 標記,用于實時顯示聊天內(nèi)容,具體代碼如下:聊天內(nèi)容 5、編寫 Ajax 的回調(diào)函數(shù) deal_content(),在這個函數(shù)中,首先獲取 Ajax 處理頁面的 返回值,然后取出字符串中的 Unicode 空白符,最后判斷在獲取信息時是否產(chǎn)生錯誤, 如果是,則退出聊天室,否則將獲取的聊天內(nèi)容輔助給 id 為 cotent 的標記的 innerHTML 屬性,deal_content()函數(shù)的具體代碼如下: functionfunction deal_content() varvar returnValue=thisthis.req.responseText;/獲取Aja
55、x處理頁的返回值 varvar h=returnValue.replace(/s/g,“);/去除字符串中的Unicode空白符 ifif(h=“error“) /alert(“您的賬戶已經(jīng)過期,請重新登錄!“); Exit(); elseelse content.innerHTML=sysBBS+returnValue+“; document.getElementById(content).scrollTop = document.getElementById(content).scrollHeight*2;/當聊天信息超過一屏時, 設(shè)置最先發(fā)送的聊天信息不顯示 6、為了讓頁面載入后就調(diào)用
56、Ajax 獲取聊天內(nèi)容,并且每隔一秒便獲取一次數(shù)據(jù),還 需要在頁面中添加 JavaScript 代碼,具體代碼如下: window.setInterval(“showOnline();“,10000); window.onload=functionfunction() showOnline(); /當頁面載入后顯示在線人員列表 4.6 退出聊天室模塊 在我設(shè)計的聊天室中提供了兩種退出聊天室的方法,一種是單擊主頁面中的“退出 聊天室” 按鈕,另一種是單擊瀏覽器的“關(guān)閉”按鈕。需要注意的是,無論采用哪種方 法都會彈出如圖 4-6 退出提示。 圖 4-6 退出提示 實現(xiàn)安全退出聊天室的具體步驟如下:
57、 1、在主頁面的合適位置添加“退出聊天室”按鈕,并在按鈕的 onClick 事件中調(diào)用 自定義的 javaScript()函數(shù) Exit(),關(guān)鍵代碼如下: 2、編寫自定義的 JavaScript 函數(shù) Exit(),在該函數(shù)中首先將頁面重定向到退出聊 天室頁面 leave.jsp,然后彈出“彈出歡迎您下次光臨!”對話框,具體代碼如下: functionfunction Exit() window.location.href=“l(fā)eave.jsp“; alert(“歡迎您下次光臨!“); 3、編寫退出聊天室的頁面 leave.jsp,在該頁面中,首先銷毀 Session,然后將頁 面重新定向到
58、登錄頁面。Leave.jsp 頁面的完整代碼如下: 總結(jié) 經(jīng)過一個多月的畢業(yè)設(shè)計與開發(fā),聊天室已基本完成,系統(tǒng)需求功能基本 實現(xiàn),測試運行基本與需求相符。該系統(tǒng)完成了用戶登錄、發(fā)送信息、公開聊 天、查看在線人員的功能。操作簡便,易于使用。 在畢業(yè)設(shè)計的初期階段,我主要學(xué)習了與本課題相關(guān)的理論知識,包括: Ajax、jsp 等相關(guān)知識。 在查閱大量資料制訂了系統(tǒng)需求后,在老師的指導(dǎo)下我著手制定了系統(tǒng)的 需求分析規(guī)格說明書和系統(tǒng)概要說明書。接著便進入了系統(tǒng)詳細設(shè)計和編碼階 段,在這個階段,由于自己動手經(jīng)驗不足和對開發(fā)工具的陌生,系統(tǒng)遇到了很 多大大小小的問題,在一次次克服困難的過程中,我得到了極大
59、的鍛煉,基本 上掌握了一些的編程技巧,同時也獲得了許多寶貴的軟件開發(fā)經(jīng)驗和技巧,這 為我今后的學(xué)習工作打下了堅實的基礎(chǔ)。 在這段時間里我學(xué)到了很多以前沒有學(xué)到的知識,同時也將以前所學(xué)過的 知識運用到實踐項目中,在提高理論知識的基礎(chǔ)上,也充分地鍛煉了自己的動 手能力。 當然這個系統(tǒng)還存在許多有待完善之處: 功能相對較少,有待于添加,比方說像文件傳輸,查找,語音等功能。 在文字傳送的同時增加表情發(fā)送的功能; 界面設(shè)計的不夠精致美觀。由于自己經(jīng)驗不足且時間有限,所以界面設(shè)計不 盡人意; 用戶的權(quán)限設(shè)置應(yīng)更加嚴謹,層次更加清晰,多功能的實現(xiàn)不同權(quán)限的用 戶對系統(tǒng)不同功能的操作。 除了以上列舉的一些不足
60、之處外,此系統(tǒng)還有其它很多功能需要增強,由 于個人水平有限,時間也比較緊,只能實現(xiàn)系統(tǒng)的基本操作,對其它功能我想 更進一步的學(xué)習并完善。 通過這次畢業(yè)設(shè)計,我更深刻的認識到了教學(xué)實踐在大學(xué)課程中的重要性, 同時也發(fā)覺到了自己在學(xué)習方面存在的不足之處,在以后的學(xué)習中我會努力改 進這些不足、不斷提高自己的動手實踐能力。 致 謝 衷心感謝在做畢業(yè)設(shè)計的這幾個月中老師的幫助,首先要向我的導(dǎo)師致以 崇高的敬意。導(dǎo)師在專業(yè)課程的學(xué)習、素材的收集、課題的確立、資料的查閱 都給以的熱忱的關(guān)懷和細心的指導(dǎo)。老師嚴謹?shù)闹螌W(xué)態(tài)度、淵博的學(xué)識、對事 業(yè)的兢兢業(yè)業(yè)、不斷進取的精神,為我今后的生活及工作樹立了榜樣,我的點
61、 滴進步無不凝結(jié)著導(dǎo)師的心血。 還要感謝各位任課老師,老師們深厚的學(xué)術(shù)功底、旺盛的工作熱情和平易 近人的態(tài)度是我學(xué)習的榜樣。 感謝審閱本文的老師,感謝你們在百忙之中抽出寶貴時間來審閱本文,并 期待你們的批評指正。 最后,再次向各位老師的關(guān)心和幫助表示衷心的感謝! 參考文獻 1 譚日森.Ajax 技術(shù)的特點及發(fā)展前景J.黑龍江科技信息,2007,21:87. 2 張峰,宋莉.JSP 的研究與應(yīng)用J.科技信息(學(xué)術(shù)研究),2008,03:1415. 3 劉亮亮,王寧,王亞飛.XMLHttpRequest 異步功能在 Web 開發(fā)中的實現(xiàn)J.黑龍江科 技信息, 2009,29:3. 4 Linda
62、Dailey PaulsonBuilding rich web applications with AjaxJ.Computer,2005,10:1417. 5 Mark Frydenberg.A Multi-Tiered Web Development Capstone Project Using Databases, Web Services, and AJAXJ.Information Systems Education Journal,2008,37:315. 6 黃華.AJAX 技術(shù)及應(yīng)用綜述J.科技資訊,2007,11:87. 7 王錕,方明.Ajax 技術(shù)研究與應(yīng)用J.現(xiàn)代電子技
63、術(shù),2007,6:9398. 8 韓學(xué)洲.基于 AJAX 的 Web 應(yīng)用存在問題研究J.寧波職業(yè)技術(shù)學(xué)院學(xué)報, 2008,05:8486. 9 冉春玉, 童瑩.Web2.0 與 Ajax 技術(shù)解析J.河南科技,2010,09:5556. 10 呂林濤, 萬經(jīng)華, 周紅芳.基于 AJAX 的 Web 無刷新頁面快速更新數(shù)據(jù)方法J.計 算機應(yīng)用研究,2006,11:199223. 11 冉春玉, 童瑩.Ajax 技術(shù)及其 Web 開發(fā)J.福建電腦,2007,07:100101. 12利用網(wǎng)絡(luò)聊天室進行數(shù)字參考咨詢服務(wù)研究以碧聊聊天室為實例 胡國芳,楊 新涯.J. 情報雜志, 2004, (05)
64、 計算機科學(xué)與技術(shù)專業(yè) 畢業(yè)實習及畢業(yè)論文畢業(yè)實習及畢業(yè)論文(設(shè)計設(shè)計)規(guī)范規(guī)范 計算機科學(xué)與工程學(xué)院 計算機科學(xué)與技術(shù)系 2015 年 03 月 目目 錄錄 一一. 畢業(yè)實習及畢業(yè)論文畢業(yè)實習及畢業(yè)論文(設(shè)計設(shè)計)的主要目的的主要目的.1 二二. 指導(dǎo)教師選聘及對指導(dǎo)教師的要求指導(dǎo)教師選聘及對指導(dǎo)教師的要求.1 三三. 畢業(yè)實習分組及實施計劃畢業(yè)實習分組及實施計劃.3 四四. 畢業(yè)論文畢業(yè)論文(設(shè)計設(shè)計)的選題的選題.3 五畢業(yè)實習及畢業(yè)論文五畢業(yè)實習及畢業(yè)論文(設(shè)計設(shè)計)的進度控制的進度控制4 六、畢業(yè)論文的結(jié)構(gòu)與格式六、畢業(yè)論文的結(jié)構(gòu)與格式7 七、畢業(yè)實習以及畢業(yè)論文七、畢業(yè)實習以及畢業(yè)
65、論文(設(shè)計設(shè)計)成績評定成績評定10 八、畢業(yè)設(shè)計的歸檔工作八、畢業(yè)設(shè)計的歸檔工作10 九、畢業(yè)實習及畢業(yè)論文九、畢業(yè)實習及畢業(yè)論文(設(shè)計設(shè)計)領(lǐng)導(dǎo)小組領(lǐng)導(dǎo)小組12 附件附件 1:任:任務(wù)務(wù)書的填寫格式書的填寫格式.14 附件附件 2:開題報告的填寫格式:開題報告的填寫格式.18 附件附件 3:文獻綜述格式:文獻綜述格式.22 附件附件 4:實習報告封面格式:實習報告封面格式.27 附件附件 5:實習鑒定表格式:實習鑒定表格式.28 附件附件 6:實習成績評定表格式:實習成績評定表格式.29 附件附件 7:畢業(yè)論文格式的基本要求:畢業(yè)論文格式的基本要求.30 附件附件 8:畢業(yè)設(shè)計袋封面填寫格式:畢業(yè)設(shè)計袋封面填寫格式.39 附件附件 9:畢業(yè)論文驗收表:畢業(yè)論文驗收表.40 附件附件 10:畢業(yè)設(shè)計:畢業(yè)設(shè)計(論文論文)評論標準評論標準.41 附件附件 1111:畢業(yè)設(shè)計資料電子文檔目錄結(jié)構(gòu):畢業(yè)設(shè)計資料電子文檔目錄結(jié)構(gòu).46 根據(jù)學(xué)院有關(guān)學(xué)生實習的規(guī)定和本專業(yè)教學(xué)計劃的安排,對計算機科學(xué)與技術(shù)專 業(yè)學(xué)生畢業(yè)實習及畢業(yè)論文(設(shè)計)作如下具體安排: 一一. . 畢業(yè)實習及畢業(yè)論文畢業(yè)實習及畢業(yè)論文( (設(shè)計設(shè)計) )的主要目的的主要目的 1、 畢業(yè)實習的主要目的: (1) 通過畢業(yè)實習,使學(xué)生從理論走
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。