《Web開發(fā)》課程設(shè)計報告--聊天室
《《Web開發(fā)》課程設(shè)計報告--聊天室》由會員分享,可在線閱讀,更多相關(guān)《《Web開發(fā)》課程設(shè)計報告--聊天室(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《Web開發(fā)》 課程設(shè)計報告 (2011— 2012學年 第 2 學期) 題 目: 聊 天 室 專 業(yè): 計算機網(wǎng)絡(luò)技術(shù) 班 級: 1班 姓名學號: xxx(1007052139) 指導教師: 成 績: 商丘職業(yè)技術(shù)學院計算機系 2012 年 6 月 5 日 目 錄 目 錄 II 1
2、 概 述 1 1.1 設(shè)計目標 1 1.2 項目規(guī)劃 1 1.3 開發(fā)工具的選擇 2 2 需求分析 3 2.1 需求分析 3 2.2 數(shù)據(jù)庫表設(shè)計 4 3 系統(tǒng)總體設(shè)計 6 3.1系統(tǒng)結(jié)構(gòu) 6 4系統(tǒng)功能模塊實現(xiàn) 7 4.1 登錄和注冊界面模塊 7 4.2 選擇聊天室界面模塊 10 4.3 聊天室主界面模塊 12 4.4 用管理員高級功能管理模塊 20 5 調(diào)試分析 28 6心得體會 29 致 謝 30 參 考 文 獻 31
3、 final, evitar vinculant quan, una desviació de la prestació de barres d'acer i distorsió esquelet canvis. Gruix de protecció de coixí B ha de ser espaiat coixí precís, adequat. C d'acer esquelets vinculant és completa, apareix inclinat a un costat, filferro d'amarratge haurien de ser lligats en la
4、 forma de vuit. Subjecció trobar les omissions, espaiat de estrep és equivocat ha de ser puntualment ajustat. ⑷ Quan l'abocament de formigó, refor?at per la pressió lateral es produeix on el despla?ament, ajust oportuna. 6.2.3 ⑴ soldadura arc procés de soldadura per neteja oportuna, soldar el refor?
5、 de superfície llisa i suau transició de soldadura, farcit de cràter. B segons el grau d'acer, diàmetre, articulació i soldadura posició, seleccioneu els diàmetres elèctrode adequat i la soldadura actual per garantir la fusió del metall de soldadura i acer bo. L'eix d'acer C hauria de complir amb el
6、s requisits pertinents, garantir que la dimensió és conforme als requisits. Bon contacte D terra de soldadura ha de ser refor?at per evitar d'arc i crema d'acer. 6.3 formigó abocament de formigó 6.3.1 enginyeria cel?lular provoca: vibració que vibra bretxa plantilla falses o falta massa gran conduei
7、x a pèrdua de purins de ciment, més varetes o pedres és massa gran. Precaucions: usar i moure que el vibrador, escala abans d'abocar, l'antiga i la nova gamma conjunta es cura vibrant. Superfície d'instal?lació de plantilla hauria de netejar plantilles i plantilla... 6.3.9 causes d'esquerdes en temp
8、s de conservació General de formigó irregularitats superficials, aigua s'evapora components massa ràpids o pesats en contracció de temperatura. Mesures preventives: immediatament després de l'escena inicial de formigó cobert amb plàstic film i manteniment; posar cobertes de llana de roca a l'alta te
9、mperatura, la humitat celebraciI 1 概 述 1.1 設(shè)計目標 從功能角色上來講,在線聊天室可以有兩種類型的用戶,普通用戶和管理員。 其中,普通用戶在登錄后,可以選擇性的進入不同的聊天室,并通過聊天界面,向一人或多人發(fā)送聊天消息,進行聊天交流。如果是第一次進入到該聊天室,還可以通過本模塊提供的注冊功能,提交注冊信息,成為本聊天室的用戶。 管理員在登陸后,除了可以聊天外,還可以擁有各種管理的權(quán)限,比如查看所有在線用戶信息,還可以把一些不遵守聊天規(guī)則的用戶趕出聊天室,甚至從數(shù)據(jù)庫里把一些惡意聊天用戶除名。 1.2 項
10、目規(guī)劃 本聊天室需要提供如下的界面和功能。 1、需要提供支持用戶登陸以及身份驗證的WEB界面和實現(xiàn)后臺對應(yīng)功能的模塊。在這個模塊中,能根據(jù)登入者擁有的權(quán)限,分別開放不同的權(quán)限。 2、需要一個支持用戶注冊的界面和對應(yīng)的后臺模塊。 3、需要為普通用戶和管理員提供一個瀏覽所有聊天室的界面和對應(yīng)后臺功能模塊。在這個界面中,用戶可以選擇性的進入不同的聊天室。 4、需要為普通用戶和管理員提供一個支持多人聊天的界面和對應(yīng)的后臺模塊。在這個界面中用戶和管理員可以選擇聊天對象,也可以想聊天對象發(fā)送信息。 5、需要為管理員提供一個查詢所有用戶的界面和對應(yīng)的功能模塊,這個界面其實就是
11、管理員實現(xiàn)其管理功能的界面,在這個界面里,管理員可以實現(xiàn)“趕人”的功能,也可以實現(xiàn)“刪除聊天用戶”的動作。 1.3 開發(fā)工具的選擇 JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態(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編
12、程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和 scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP的1.0規(guī)范的最后版本是1999年9月推出的,12月又推出了1.1規(guī)范
13、。目前較新的是JSP1.2規(guī)范,JSP2.0規(guī)范的征求意見稿也已出臺。 JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。 JSP的優(yōu)勢 (1)一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。 (2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。相比ASP/P
14、HP的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務(wù)器進行集群和負載均衡,到多臺Application進行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。 2 需求分析 2.1 需求分析 21世紀是網(wǎng)絡(luò)的時代,Internet的普及已經(jīng)影響了傳統(tǒng)的交流方式。網(wǎng)絡(luò)聊天室系統(tǒng)是計算機網(wǎng)絡(luò)發(fā)展的產(chǎn)物,是最為常見、最
15、受廣大互聯(lián)網(wǎng)使用者所認可的基于Web的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。隨著互聯(lián)網(wǎng)的發(fā)展,人們通過網(wǎng)絡(luò)可以更方便快捷地進行信息交流和學習,聊天系統(tǒng)可以為大家提供一個更好的交流平臺,在這個平臺上,人們可以通過文字與符號進行實時的交談、聊天,它是一個向整個因特網(wǎng)開放的地方,是提供給網(wǎng)民一個交友與娛樂的場所,在聊天室里網(wǎng)民可選擇自已的聊天對象,與其進行對話交流,是網(wǎng)民之間相互溝通、交流情感的最佳方式之一。 從傳播方式上講, 聊天室傳播是非線性傳播。非線形傳播指聊天室傳播的信息是為無數(shù)的共享空間的網(wǎng)絡(luò)用戶所發(fā)出的, 任何擁有網(wǎng)絡(luò)傳播權(quán)利的人都可以得到, 網(wǎng)絡(luò)打破了傳統(tǒng)媒體單向傳送信息的格局, 信息傳播者與接收者之間的互
16、動變得切實可行。從傳播的信息內(nèi)涵上講, 聊天室的消息結(jié)構(gòu)是無中心的。聊天室所給受 眾帶來的信息與感受作為一種現(xiàn)代生活資源, 在實現(xiàn)了從傳統(tǒng)大眾傳播的單向傳播向多向傳播的轉(zhuǎn)變后, 極大地拓展了現(xiàn)代生活空間, 使傳播者與受眾之間的直接連通成為可能。這一轉(zhuǎn)變使整個傳播結(jié)構(gòu)與傳播效果發(fā)生了巨大變化, 是傳統(tǒng)媒體無法比擬的。 根據(jù)CNNIC 發(fā)布的第十五次中國互聯(lián)網(wǎng)絡(luò)發(fā)展狀況統(tǒng)計報告, 有3.5%的商業(yè)網(wǎng)站提供網(wǎng)絡(luò)聊天。熱衷于網(wǎng)上聊天的人群大部分集中于16~24 年齡段上, 經(jīng)濟上沒有獨立, 又缺乏網(wǎng)上支付手段的特點也是聊天室不為商業(yè)網(wǎng)站看好的重要理由之一。目前經(jīng)營商獲得收益的渠道有兩條: 在
17、線廣告和電子商務(wù)。青少年在經(jīng)濟上沒有自立, 經(jīng)營商通常很難通過電子商務(wù)獲得收入; 而在在線廣告方面, 各商業(yè)網(wǎng)站目前的廣告客戶主要目標人群鎖定中、高收入的白領(lǐng)階層, 面向青少年消費市場的網(wǎng)上廣告幾乎沒有, 無法通過網(wǎng)上廣告獲得收益。因此, 對于青少年聚集的網(wǎng)上聊天室, 網(wǎng)絡(luò)公司自然沒有太高的熱情。 實際上, 青少年的消費市場一向是規(guī)??捎^、利潤豐厚的一塊大蛋糕。無論流行音樂、新潮服飾、娛樂場所, 青少年消費都是其中的主力。論市場規(guī)模, 全國青少年消費市場的總規(guī)模不低于一千億。我們看到, 并非聊天的人群本身缺乏商業(yè)價值, 而是目前沒有好的辦法將這種價值加以發(fā)掘。在線廣告理應(yīng)成為聊天室獲得商業(yè)收益
18、的主要手段。 隨著研發(fā)技術(shù)的進步,qq.msn等聊天軟件的面世,取代了聊天室。同時,聊天室內(nèi)用戶過激,不法等言辭,也是聊天室逐漸沒落的原因。但是,聊天軟件的局限性,不比聊天室開放性強,面向廣。只有真正了解聊天室的主要使用人群, 才能更好地設(shè)置聊天室的主題、話題、頁面風格等。要重視聊天室產(chǎn)品的氛圍經(jīng)濟效益, 可以成為各種汽車俱樂部、攀巖俱樂部、自行車俱樂部等的合作伙伴, 吸引更多會員,成為網(wǎng)上會所。聊天室還應(yīng)注意自身形象的塑造, 只有個性化、特色化才能使聊天室產(chǎn)品脫穎而出。要注意適當?shù)膹V告宣傳。在以上的種種因素下,本課題的研究方向就是運用JSP技術(shù)營造一個簡單,友好的網(wǎng)絡(luò)聊天室,為互聯(lián)
19、網(wǎng)使用者提供學習,討論和交流的平臺。 2.2 數(shù)據(jù)庫表設(shè)計 在ChatRoom數(shù)據(jù)庫中建一個名為userinfo的表,如表3.2所示。 列名 數(shù)據(jù)類型 長度 可否為空 說明 ID int 11 NOT NULL 索引號,主鍵,自增 nickName varchar 50 NOT NULL 用戶昵稱、用戶昵稱 userPassword Varchar 50 NOT NULL 用戶密碼 role tinyint 1 NOT NULL 用戶權(quán)限0代表普通會員,1代表管理員 lastLoginTime date NULL 用戶最后登陸
20、時間 表3.2userinfo數(shù)據(jù)表 在ChatRoom數(shù)據(jù)庫中新建一個名為msginfo的表,用來保存聊天信息。在顯示聊天記錄時,可以通過查詢語句對不同的用戶顯示不同的信息。如表3.3所示。 列名 數(shù)據(jù)類型 長度 可否為空 說明 ID int 11 NOT NULL 索引號,主鍵,自增 chatRoom varchar 50 NOT NULL 聊天信息對應(yīng)的房間 msgFrom varchar 50 NOT NULL 聊天信息發(fā)言人 msgTo varchar 50 NOT NULL 聊天信息發(fā)表對象 chatTim
21、e datetime NOT NULL 聊天信息發(fā)表時間 chatAction varchar 50 NULL 聊天信息的動作和表情 msgContent varchar 200 NOT NULL 聊天信息的內(nèi)容 secret tinyint 1 NOT NULL 0代表非悄悄話,1代表悄悄話 表3.3msginfo表 在ChatRoom數(shù)據(jù)庫表中新建一個名為onlineUser的表,用來保存在線用戶信息。如表3.4所示。 列名 數(shù)據(jù)類型 長度 可否為空 說明 ID int 20 NOT NULL 索引號、主鍵、
22、自增 chatRoom varchar 50 NOT NULL L 用戶所在的房間 nickName varchar 50 NOT NULL 用戶的昵稱 lastChatRoom dateTime NULL 用戶最后發(fā)言時間 denyRoom varchar 255 NULL 用戶被封的時間 表3.4 onlineUser表 3 系統(tǒng)總體設(shè)計 3.1系統(tǒng)結(jié)構(gòu) 本系統(tǒng)將分為四大模塊,即數(shù)據(jù)庫通用模塊、用戶登錄與注冊模塊、聊天主模塊、管理員模塊,具體描述如表3.1所示
23、。 模塊名 文件名 功能描述 數(shù)據(jù)庫通用管理描述 BaseConn.jsp 連接和數(shù)據(jù)的查詢更新操作 用戶登錄與注冊模塊 login.jsp 用戶登入界面 chklogin.jsp 用戶登錄后臺處理界面 Checklogin.java 封裝登陸后的javabean 聊天室模塊 chkSession.jsp 檢查session信息判斷用戶是否登陸 chatRoomList.jsp 聊天房間選擇界面 chatRoomList.java 封裝選擇聊天房間的javabean chatRoom.jsp 聊天框架界面 red
24、irectChatRoom.jsp 轉(zhuǎn)向聊天室中轉(zhuǎn)界面 input.jsp 聊天室輸入界面 sendMsg.jsp 聊天信息發(fā)送界面 userList.jsp 在線用戶列表界面 dataValue.jsp 聊天信息顯示界面 logout.jsp 離開聊天室 changeRoom.jsp 切換聊天房間 Message.java 聊天信息封裝javabean ChatRoom.java 封裝聊天功能的Javabean 管理員模塊 advanced.jsp 管理員管理高級界面 kick.jsp 踢人功能 delete.jsp 刪除用戶 表3.
25、1 系統(tǒng)結(jié)構(gòu)表 4系統(tǒng)功能模塊實現(xiàn) 4.1 登錄和注冊界面模塊 登錄界面模塊是通過訪問數(shù)據(jù)庫中的userinfo表中的Name和Password兩個字段來判斷用戶名和密碼是否匹配,如果匹配就登入成功,否則登入失敗,如果用戶是第一次登錄該聊天室,則自動注冊。如圖4.1所示。 圖4.1 登錄界面 核心代碼: package net.chat; import java.sql.*; import java.util.*; import java.text.SimpleDateFormat; public class CheckLogin { public St
26、ring checklogin(String userName,String userPassword) throws SQLException,ClassNotFoundException { BaseConn conn = null; try { conn = new BaseConn(); String sql = "select * from userInfo where nickName=?"; PreparedStatement ps = conn.preparedStatement(sql
27、); ps.setString(1,userName); ResultSet rs = conn.executeQuery(); if(rs.next()) { if(rs.getString("userPassword").equals(userPassword)) { SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = cal.format(new java.util.Date(
28、)); sql="update userInfo set lastLoginTime=? where nickName=?"; ps=conn.preparedStatement(sql); ps.setString(1,time); ps.setString(2,userName); conn.executeUpdate(); return "SUCCESS_LOGIN"; } else return "WRONG_PASSWO
29、RD"; } else return "NONE_USER"; }catch(SQLException ex) { ex.printStackTrace(); throw ex; }catch(ClassNotFoundException ex) { ex.printStackTrace(); throw ex; } finally { conn.closeDB(); } } public boolean saveToDataBase(String userN
30、ame,String userPassword) throws SQLException,ClassNotFoundException { BaseConn conn = null; try { conn = new BaseConn(); SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = cal.format(new java.util.Date());
31、 String sql = "insert into userInfo(nickName,userPassword,lastLoginTime,role) values(?,?,?,?)"; PreparedStatement ps = conn.preparedStatement(sql); ps.setString(1,userName); ps.setString(2,userPassword); ps.setString(3,time); ps.setInt(4,0);
32、 conn.executeUpdate(); return true; }catch(SQLException ex) { ex.printStackTrace(); throw ex; }catch(ClassNotFoundException ex) { ex.printStackTrace(); throw ex; }finally { conn.closeDB
33、();
}
}
}
4.2 選擇聊天室界面模塊
如果登錄成功則進入選擇聊天室界面的模塊,如圖4.2所示:
圖4.2 選擇聊天室
核心代碼:
<%@ page language="java" import="java.util.*,net.chat.*" pageEncoding="GB2312"%>
<%@include file="chkSession.jsp"%>
34、ead>