




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、. . . . Web數(shù)據(jù)庫開發(fā)課程設(shè)計報告(2011 2012學(xué)年 第 2 學(xué)期)題 目: 聊 天 室 專 業(yè): 信息管理與信息系統(tǒng) 班 級: 09110611 學(xué)號: 0911061126/20 : 翡/羅琳 指導(dǎo)教師: 翟育明 目 錄目錄II1 概述11.1 設(shè)計目標(biāo)11.2項目規(guī)劃11.3開發(fā)工具的選擇22 需求分析32.1 需求分析32.2 數(shù)據(jù)庫表設(shè)計43 系統(tǒng)總體設(shè)計63.1系統(tǒng)結(jié)構(gòu)64系統(tǒng)功能模塊實現(xiàn)74.1 登錄和注冊界面模塊74.2 選擇聊天室界面模塊104.3 聊天室主界面模塊124.4 用管理員高級功能管理模塊205 調(diào)試分析286心得體會29致30參考文獻3121 /
2、 231 概 述1.1 設(shè)計目標(biāo) 從功能角色上來講,在線聊天室可以有兩種類型的用戶,普通用戶和管理員。 其中,普通用戶在登錄后,可以通過聊天界面,發(fā)送聊天消息,進行聊天交流。如果是第一次進入到該聊天室,還可以通過本模塊提供的注冊功能,提交注冊信息,成為本聊天室的用戶。 1.2 項目規(guī)劃本聊天室需要提供如下的界面和功能。 1、需要提供支持用戶登陸以與身份驗證的WEB界面和實現(xiàn)后臺對應(yīng)功能的模塊。 2、需要一個支持用戶注冊的界面和對應(yīng)的后臺模塊。 3、需要為普通用戶提供一個瀏覽所有聊天室的界面和對應(yīng)后臺功能模塊。在這個界面中,用戶可以聊天室聊天。 4、需要為普通用戶提供一個支持多人聊天和私人聊天的
3、界面和對應(yīng)的后臺模塊。 5.用戶可以根據(jù)自己的個人喜好選擇頭像,字體顏色,發(fā)送動態(tài)動畫圖象,查看在線用戶,與用戶資料1.3開發(fā)工具的選擇SQL Server 是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同開發(fā)的,于1988 年推出了第一個OS/2 版本。在Windows NT 推出后,Microsoft與Sybase 在SQL Server 的開發(fā)上就分道揚鑣了,Microsoft 將SQL Server 移植到Windows NT系統(tǒng)上,專注于開發(fā)推廣SQL Server 的Windows NT 版本。Sybase 則較專注于SQL
4、 Server在UNIX 操作系統(tǒng)上的應(yīng)SQL Server安裝界面用。SQL Server 2005特性一瞥: 企業(yè)數(shù)據(jù)管理 開發(fā)人員生產(chǎn)力 商務(wù)智能有關(guān)開發(fā)的10個最重要的特點 有關(guān)商業(yè)智能特征的10個最重要的特點JSP(JavaServer Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在
5、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è)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP
6、的1.0規(guī)的最后版本是1999年9月推出的,12月又推出了1.1規(guī)。目前較新的是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)勢2 需求分析2.1 需求分析21世紀(jì)是網(wǎng)絡(luò)的時代,Internet的普與已經(jīng)影響了傳統(tǒng)的交流方式。網(wǎng)絡(luò)聊天室系統(tǒng)是計算機網(wǎng)絡(luò)發(fā)展的產(chǎn)物,是最為常見、最受廣大互聯(lián)網(wǎng)使用者所
7、認可的基于Web的網(wǎng)絡(luò)應(yīng)用系統(tǒng)。隨著互聯(lián)網(wǎng)的發(fā)展,人們通過網(wǎng)絡(luò)可以更方便快捷地進行信息交流和學(xué)習(xí),聊天系統(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)媒體單向傳送信息的格局, 信息傳播者與接收者之間的互動變得切實可行。從傳播的
8、信息涵上講, 聊天室的消息結(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ā)展?fàn)顩r統(tǒng)計報告, 有3.5%的商業(yè)提供網(wǎng)絡(luò)聊天。熱衷于網(wǎng)上聊天的人群大部分集中于1624 年齡段上, 經(jīng)濟上沒有獨立, 又缺乏網(wǎng)上支付手段的特點也是聊天室不為商業(yè)看好的重要理由之一。目前經(jīng)營商獲得收益的渠道有兩條: 在線廣告和電子商務(wù)。青少年在經(jīng)濟上沒有自立, 經(jīng)營商
9、通常很難通過電子商務(wù)獲得收入; 而在在線廣告方面, 各商業(yè)目前的廣告客戶主要目標(biāo)人群鎖定中、高收入的白領(lǐng)階層, 面向青少年消費市場的網(wǎng)上廣告幾乎沒有, 無法通過網(wǎng)上廣告獲得收益。因此, 對于青少年聚集的網(wǎng)上聊天室, 網(wǎng)絡(luò)公司自然沒有太高的熱情。 實際上, 青少年的消費市場一向是規(guī)模可觀、利潤豐厚的一塊大蛋糕。無論流行音樂、新潮服飾、娛樂場所, 青少年消費都是其中的主力。論市場規(guī)模, 全國青少年消費市場的總規(guī)模不低于一千億。我們看到, 并非聊天的人群本身缺乏商業(yè)價值, 而是目前沒有好的辦法將這種價值加以發(fā)掘。在線廣告理應(yīng)成為聊天室獲得商業(yè)收益的主要手段。 隨著研發(fā)技術(shù)的進步, .msn等聊天軟件
10、的面世,取代了聊天室。同時,聊天室用戶過激,不法等言辭,也是聊天室逐漸沒落的原因。但是,聊天軟件的局限性,不比聊天室開放性強,面向廣。只有真正了解聊天室的主要使用人群, 才能更好地設(shè)置聊天室的主題、話題、頁面風(fēng)格等。要重視聊天室產(chǎn)品的氛圍經(jīng)濟效益, 可以成為各種汽車俱樂部、攀巖俱樂部、自行車俱樂部等的合作伙伴, 吸引更多會員,成為網(wǎng)上會所。聊天室還應(yīng)注意自身形象的塑造, 只有個性化、特色化才能使聊天室產(chǎn)品脫穎而出。要注意適當(dāng)?shù)膹V告宣傳。在以上的種種因素下,本課題的研究方向就是運用JSP技術(shù)營造一個簡單,友好的網(wǎng)絡(luò)聊天室,為互聯(lián)網(wǎng)使用者提供學(xué)習(xí),討論和交流的平臺。2.2 數(shù)據(jù)庫表設(shè)計在123數(shù)據(jù)
11、庫中建一個名為StuInfo的表,用于保存用戶信息,與保存注冊用戶信息 3 系統(tǒng)總體設(shè)計3.1系統(tǒng)結(jié)構(gòu) 本系統(tǒng)將分為四大模塊,即數(shù)據(jù)庫通用模塊、用戶登錄與注冊模塊、聊天主模塊、具體描述如表3.1所示。模塊名文件名功能描述數(shù)據(jù)庫通用管理描述update.jsp連接和數(shù)據(jù)的查詢更新操作用戶登錄與注冊模塊login.jsp用戶登入界面regedit.jsp用戶登錄后臺處理界面adduser.jsp增加新用戶聊天室模塊loginYc.jsp檢查session信息判斷用戶是否登陸index.jsp聊天框架界面write.jsp聊天室輸入界面writeC.jsp聊天信息發(fā)送界面showlist.jsp在線
12、用戶列表界面jspread.jsp聊天信息顯示界面safeout.jsp離開聊天室管理員模塊advanced.jsp管理員管理高級界面deluser.jsp刪除用戶表3.1 系統(tǒng)結(jié)構(gòu)表4系統(tǒng)功能模塊實現(xiàn)4.1 登錄和注冊界面模塊登錄界面模塊是通過訪問數(shù)據(jù)庫中的StoInfo表中的userName和Password兩個字段來判斷用戶名和密碼是否匹配,如果匹配就登入成功,否則登入失敗,如果用戶是第一次登錄該聊天室,則自動注冊。如圖4.1所示。圖4.1 登錄界面核心代碼:<% page contentType="text/html; charset=GBK" %>&l
13、t;html><head><title>login</title></head><body bgcolor="pink" ><h1><%String err=request.getParameter("err");session.setAttribute("err",err);if(err!=null)if(err.equals("A")%><%="你已經(jīng)登陸!"%><%else if(e
14、rr.equals("X")%><%="恭喜你,注冊成功!" %><%else if(err.equals("Y")%><%="您已注冊!" %><%></h1><center><form method="post" name="form" action="loginYc.jsp"><font color="000000" size=&quo
15、t;100" face="華文行楷">427聊天室</font><br><br><p>:<input type="text" name="userName" /><br><p><p>密碼:<input type="password" name="passWord"/><br><p><p><input type="submi
16、t" value="登陸" > <input type="reset" value="重置"><p></form><a href="regedit.jsp">注冊新用戶</a></center><!-特效工具-><!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "./TR/xhtml1/DTD/xht
17、ml1-transitional.dtd"><html xmlns="./1999/xhtml"><head><meta -equiv="Content-Type" content="text/html; charset=gb2312" /><title>無標(biāo)題文檔</title><style type="text/css"></style></head><body onLoad=&qu
18、ot;MM_timelinePlay('Timeline1');MM_timelinePlay('Timeline2');"><script language="JavaScript" type="">function MM_timelinePlay(tmLnName, myID) var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false; if (document.MM_Time =
19、null) MM_initTimelines(); tmLn = document.MM_TimetmLnName; if (myID = null) myID = +tmLn.ID; firstTime=true; if (myID = tmLn.ID) setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay); fNew = +tmLn.curFrame; for (i=0; i<tmLn.length; i+) sprite = tmLni;
20、 if (sprite.charAt(0) = 's') if (sprite.obj) numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames0; if (fNew >= firstKeyFr && fNew <= sprite.keyFramesnumKeyFr-1) /in range keyFrm=1; for (j=0; j<sprite.values.length; j+) props = sprite.valuesj; if (numKeyFr != pr
21、ops.length) if (p2 = null) p = propsfNew-firstKeyFr; else p = propsfNew-firstKeyFr; else while (keyFrm<numKeyFr && fNew>=sprite.keyFrameskeyFrm) keyFrm+; if (firstTime | fNew=sprite.keyFrameskeyFrm-1) if (p2 = null) spr
22、p = propskeyFrm-1; else p = propskeyFrm-1; else if (sprite.charAt(0)='b' && fNew = sprite.frame) eval(sprite.value); if (fNew > tmLn.lastFrame) tmLn.ID = 0; function MM_timelineGoto(tmLnName, fNew, numGotos) var i,j,tmLn,props,keyFrm,s
23、prite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj; if (document.MM_Time = null) MM_initTimelines(); tmLn = document.MM_TimetmLnName; if (numGotos != null) if (tmLn.gotoCount = null) tmLn.gotoCount = 1; else if (tmLn.gotoCount+ >= numGotos) tmLn.gotoCount=0; return jmpFwd = (fNew > tmLn.curFra
24、me); for (i = 0; i < tmLn.length; i+) sprite = (jmpFwd)? tmLni : tmLn(tmLn.length-1)-i; if (sprite.charAt(0) = "s") numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames0; lastKeyFr = sprite.keyFramesnumKeyFr - 1; if (jmpFwd && fNew<firstKeyFr) | (!jmpFwd &&am
25、p; lastKeyFr<fNew) continue; for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrameskeyFrm; keyFrm+); for (j=0; j<sprite.values.length; j+) props = sprite.valuesj; if (numKeyFr = props.length) propNum = keyFrm-1 else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1)
26、; if (sprite.obj != null) if (p2 = null) p = propspropNum; else p = propspropNum; else if (sprite.charAt(0)='b' && fNew = sprite.frame) eval(sprite.value); tmLn.curFrame = fNew; if (tmLn.ID = 0) eval('MM_timelinePlay(tmLnN
27、ame)');function MM_preloadImages() if (document.images) var imgFiles = MM_preloadImages.arguments; if (document.preloadArray=null) document.preloadArray = new Array(); var i = document.preloadArray.length; with (document) for (var j=0; j<imgFiles.length; j+) if (imgFilesj.charAt(0)!="#&q
28、uot;) preloadArrayi = new Image; preloadArrayi+.src = imgFilesj; function MM_swapImgRestore() if (document.MM_swapImgData != null) for (var i=0; i<(document.MM_swapImgData.length-1); i+=2) document.MM_swapImgDatai.src = document.MM_swapImgDatai+1;function MM_swapImage() var i,j=0,objStr,obj,swapA
29、rray=new Array,oldArray=document.MM_swapImgData; for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) objStr = MM_swapImage.arguments(navigator.appName = 'Netscape')?i:i+1; if (objStr.indexOf('document.layers')=0 && document.layers=null) | (objStr.indexOf('document.a
30、ll') =0 && document.all =null) objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length); obj = eval(objStr); if (obj != null) swapArrayj+ = obj; swapArrayj+ = (oldArray=null | oldArrayj-1!=obj)?obj.src:oldArrayj; obj.src = MM_swapImage.argumentsi+2; doc
31、ument.MM_swapImgData = swapArray;function MM_initTimelines() /v4.0 /MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved. var ns = navigator.appName = "Netscape" var ns4 = (ns && parseInt(navigator.appVersion) = 4); var ns5 = (ns && parseInt(navigator.appV
32、ersion) > 4); var macIE5 = (navigator.platform ? (navigator.platform = "MacPPC") : false) && (navigator.appName = "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4); document.MM_Time = new Array(2); document.MM_Time0 = new Array(2); docu
33、ment.MM_Time"Timeline1" = document.MM_Time0; document.MM_Time0.MM_Name = "Timeline1" document.MM_Time0.fps = 15; document.MM_Time00 = new String("sprite"); document.MM_Time00.slot = 1; if (ns4) document.MM_Time00.obj = document"Layer10" else if (ns5) document.
34、MM_Time00.obj = document.getElementById("Layer10"); else document.MM_Time00.obj = document.all ? document.all"Layer10" : null; document.MM_Time00.keyFrames = new Array(1, 5, 9, 13, 15, 21, 24, 29, 33, 37, 41, 43, 47, 50); document.MM_Time00.values = new Array(2); if (ns5 | macIE5
35、) document.MM_Time00.values0 = new Array("333px", "354px", "375px", "396px", "415px", "429px", "441px", "455px", "473px", "502px", "536px", "570px", "599px", "619px&
36、quot;, "622px", "619px", "616px", "614px", "613px", "611px", "610px", "612px", "614px", "616px", "614px", "613px", "611px", "608px", "607px", "61
37、3px", "620px", "628px", "635px", "623px", "608px", "589px", "568px", "547px", "524px", "500px", "475px", "422px", "373px", "354px", "339px", &quo
38、t;326px", "314px", "298px", "284px", "271px"); else document.MM_Time00.values0 = new Array(333,354,375,396,415,429,441,455,473,502,536,570,599,619,622,619,616,614,613,611,610,612,614,616,614,613,611,608,607,613,620,628,635,623,608,589,568,547,524,500,475,
39、422,373,354,339,326,314,298,284,271); document.MM_Tp = "left" if (ns5 | macIE5) document.MM_Time00.values1 = new Array("312px", "314px", "316px", "318px", "320px", "324px", "331px", "336px", &q
40、uot;335px", "328px", "319px", "305px", "287px", "237px", "194px", "201px", "210px", "216px", "222px", "227px", "232px", "235px", "234px", "233px"
41、, "234px", "234px", "235px", "236px", "238px", "238px", "237px", "236px", "242px", "257px", "273px", "290px", "305px", "316px", "326px", "333px&q
42、uot;, "336px", "320px", "305px", "309px", "318px", "329px", "341px", "360px", "382px", "404px"); else document.MM_Time00.values1 = new Array(312,314,316,318,320,324,331,336,335,328,319,305,287,237,194
43、,201,210,216,222,227,232,235,234,233,234,234,235,236,238,238,237,236,242,257,273,290,305,316,326,333,336,320,305,309,318,329,341,360,382,404); document.MM_Tp = "top" if (!ns4) document.MM_Tp2 = "style" document.MM_Tp2 = "sty
44、le" document.MM_Time01 = new String("behavior"); document.MM_Time01.frame = 51; document.MM_Time01.value = "MM_timelineGoto('Timeline1','1')" document.MM_Time0.lastFrame = 51; document.MM_Time1 = new Array(2); document.MM_Time"Timeline2" = document.
45、MM_Time1; document.MM_Time1.MM_Name = "Timeline2" document.MM_Time1.fps = 15; document.MM_Time10 = new String("sprite"); document.MM_Time10.slot = 1; if (ns4) document.MM_Time10.obj = document"Layer11" else if (ns5) document.MM_Time10.obj = document.getElementById("
46、;Layer11"); else document.MM_Time10.obj = document.all ? document.all"Layer11" : null; document.MM_Time10.keyFrames = new Array(1, 4, 7, 11, 14, 18, 22, 26, 30, 34, 38, 42, 45); document.MM_Time10.values = new Array(2); if (ns5 | macIE5) document.MM_Time10.values0 = new Array("78
47、px", "86px", "94px", "99px", "99px", "96px", "91px", "85px", "77px", "70px", "66px", "71px", "79px", "89px", "91px", "91px", "91px", &q
48、uot;92px", "96px", "102px", "107px", "111px", "111px", "110px", "108px", "109px", "112px", "116px", "122px", "129px", "138px", "148px", "161px",
49、"177px", "197px", "219px", "243px", "270px", "301px", "336px", "371px", "405px", "446px", "486px", "526px"); else document.MM_Time10.values0 = new Array(78,86,94,99,99,96,91,85,77,
50、70,66,71,79,89,91,91,91,92,96,102,107,111,111,110,108,109,112,116,122,129,138,148,161,177,197,219,243,270,301,336,371,405,446,486,526); document.MM_Tp = "left" if (ns5 | macIE5) document.MM_Time10.values1 = new Array("306px", "278px", "251px",
51、 "225px", "203px", "183px", "165px", "155px", "146px", "137px", "125px", "101px", "75px", "54px", "61px", "69px", "78px", "88px", "106px", &
52、quot;126px", "147px", "168px", "186px", "202px", "216px", "230px", "240px", "249px", "256px", "265px", "276px", "289px", "301px", "312px", "321px"
53、;, "328px", "333px", "338px", "341px", "344px", "345px", "344px", "340px", "334px", "327px"); else document.MM_Time10.values1 = new Array(306,278,251,225,203,183,165,155,146,137,125,101,75,54,61,69,78
54、,88,106,126,147,168,186,202,216,230,240,249,256,265,276,289,301,312,321,328,333,338,341,344,345,344,340,334,327); document.MM_Tp = "top" if (!ns4) document.MM_Tp2 = "style" document.MM_Tp2 = "style" document.MM_Time11 =
55、 new String("behavior"); document.MM_Time11.frame = 46; document.MM_Time11.value = "MM_timelineGoto('Timeline2','1')" document.MM_Time1.lastFrame = 46; for (i=0; i<document.MM_Time.length; i+) document.MM_Timei.ID = null; document.MM_Timei.curFrame = 0; documen
56、t.MM_Timei.delay = 1000/document.MM_Timei.fps; </script><span class="STYLE6"></span><div id="Layer10" style="position:absolute; left:333px; top:312px; width:33px; height:35px; z-index:39"><img src="images/butterfly01.gif" width="
57、;86" height="81" alt=""></div><div id="Layer11" style="position:absolute; left:78px; top:306px; width:29px; height:29px; z-index:38"><img src="images/butterfly02.gif" width="79" height="78" alt=""&
58、gt;</div></body></html>4.2聊天室主界面模塊此界面由三個用戶輸入模塊、聊天信息顯示模塊和在線用戶列表等三個模塊組成。核心代碼:<% page contentType="text/html; charset=GBK" import="java.util.*"%><html><head><title>index</title></head><frameset cols="*,45%" > <
59、frameset rows="*,30%" > <frame src="jspread.jsp" /> <frame src="write.jsp" /> </frameset> <frameset rows="70%,30%"> <frame src="showlist.jsp" /> <frame src="select.jsp"></frameset><body bgcolo
60、r="#ffffff" ><%String userName=(String)session.getAttribute("userName"); if(null=userName) response.sendRedirect("login.jsp"); %></body></html>4.3 管理員高級管理功能界面如果是管理員登錄,則可通過高級功能進入高級管理界面,可以實現(xiàn)踢人、刪除用戶以與查看所有用戶的功能,核心代碼:<%page contentType="text/html
61、; charset=GBK" import="java.util.*,example.*"%><html><head><title>deluser</title></head><body bgcolor="#ffffff"><h1>deleuser</h1><% String deleuser = request.getParameter("deleuser"); / String user = (String) se
62、ssion.getAttribute("user"); List list = (List) application.getAttribute("txtlist"); /application.setAttribute("user", list); /list.remove(user); for (int i = 0; i < list.size(); i+) ChatBean cb=(ChatBean)list.get(i); String strUs=cb.getUserName(); if(strUs.equals(deleuser) list.remove(i); break; application.setAttribute("txtlist", list); List delelist; if (application.getAttribute("delelist") = null) delelist = new ArrayList(); else delelist = (List) application.getAttribute("delelist"); delelist.add(deleuser); application.setAt
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品營養(yǎng)學(xué)食品安全相關(guān)試題及答案解析
- 投資合伙人合作協(xié)議
- 合同之屋頂施工合同
- 2025年自動驅(qū)鳥設(shè)備合作協(xié)議書
- 人社部事業(yè)單位聘用合同
- 項目進展推進記錄
- 電子設(shè)備安裝與維護合同
- 婚慶策劃活動執(zhí)行合同
- 高中英語聽說技能訓(xùn)練:語法篇
- 產(chǎn)品品質(zhì)評價表格
- 小學(xué)英語新思維朗文2A知識清單總結(jié)期末復(fù)習(xí)資料
- 幼兒園大班科學(xué)《7的組成和分解》
- 肛腸疾病的預(yù)防與保健
- 項目一-旅游概述-(旅游概論課件完美版)
- 情感體驗量表DESⅡ-附帶計分解釋
- JGJ406T-2017預(yù)應(yīng)力混凝土管樁技術(shù)標(biāo)準(zhǔn)附條文
- 【新零售百貨銷售模式分析-以三福百貨為例9000字(論文)】
- 06-2018泥石流災(zāi)害防治工程勘查規(guī)范(試行)
- 黑鯛淡水養(yǎng)殖技術(shù)
- 焊工培訓(xùn)-焊接基礎(chǔ)知識-課件
- 剪映電腦版使用說明教程
評論
0/150
提交評論