畢業(yè)設計(論文)-基于Java網(wǎng)頁版聊天室的設計與實現(xiàn).doc_第1頁
畢業(yè)設計(論文)-基于Java網(wǎng)頁版聊天室的設計與實現(xiàn).doc_第2頁
畢業(yè)設計(論文)-基于Java網(wǎng)頁版聊天室的設計與實現(xiàn).doc_第3頁
畢業(yè)設計(論文)-基于Java網(wǎng)頁版聊天室的設計與實現(xiàn).doc_第4頁
畢業(yè)設計(論文)-基于Java網(wǎng)頁版聊天室的設計與實現(xiàn).doc_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本科生畢業(yè)論文(設計)題 目: 基于Java網(wǎng)頁版聊天室的設計與實現(xiàn) 姓 名: 陳義旺 學 院: 理學院 專 業(yè): 信息與計算科學 班 級: 信科092 學 號: 23109223 指導教師: 李愛萍 職稱: 副教授 20 年 月 日南京農業(yè)大學教務處制目 錄摘要1關鍵詞1Abstract1Key words1引言(或緒論)11材料與方法Y1.1材料 Y1.2方法 Y1.2.1Y1.2.2Y1.2.3Y1.2.4Y2Y2.1Y3 Y(略)X (正文第X章)Y致謝Y參考文獻Y附錄A (必要時)Y附錄B (必要時)Y圖1 (必要時)Y圖2 (必要時)Y表1 (必要時)Y表2 (必要時)Y基于Java網(wǎng)頁版聊天室的設計與實現(xiàn)信息與計算科學 陳義旺指導老師 李愛萍摘要:隨著Internet的普及和寬帶網(wǎng)絡技術的成熟,聊天室這種交流方式已經(jīng)被大眾所認可。通過聊天室在線聊天已成為網(wǎng)絡上人與人之間的溝通、交流和聯(lián)系的一種方式,為此越來越多的網(wǎng)站開始提供在線聊天的功能。與此同時,聊天室也以其方便、快捷和低成本等優(yōu)勢受到眾多企業(yè)的青睞,很多企業(yè)的網(wǎng)站中也加入了聊天室,以達到增進企業(yè)與消費者之間、消費者與消費者之間相互交流和聯(lián)系的目的。本畢業(yè)論文設計的聊天室系統(tǒng)采用JSP開發(fā)工具和Ajax技術,實現(xiàn)聊天室的群聊、私聊功能和顯示在線聊天用戶信息等功能。關鍵詞:聊天室,在線聊天,Ajax技術,jsp Design and Implementation of Java web version of chat roomsStudent major in Information and Computing Science: yiwang Chen Guidance teacher: aiping LiAbstract:With the popularity of the Internet and broadband network technology matures, chat rooms, this form of communication has been the public recognition. Through chat rooms, online chat has become a way of communication, exchanges and contact between people on the network, this more and more websites started offering online chat function. At the same time, the chat rooms also favored by many businesses with its convenient, efficient and cost advantages, the site of many companies also joined the chat room, in order to achieve the increase between businesses and consumers, the consumer and the consumer the purpose of mutual exchange and contact. The chat room system designed in this thesis JSP development tools and Ajax technology to achieve the chat room group chat, private chat features and display online chat user information and other functionsKey words: Chat rooms, online chat, Ajax technology, jsp引言:目前,越來越多的用戶進入到網(wǎng)絡世界中享用瀏覽新聞、查詢信息、發(fā)送郵件、在線觀看電影等服務,享受網(wǎng)絡帶來的便利和辦公的高效。與此同時,一個新型的Web應用程序為網(wǎng)民之間提供了一個即時互通信息的功能和場所,這就是聊天室。聊天室系統(tǒng)作為本人畢業(yè)設計課題,規(guī)模適中,適合于個人開發(fā),能夠鍛煉本人的學習新知識能力、編程能力、軟件工程思維方式。本次畢業(yè)論文設計的聊天室系統(tǒng)以如何更高效和及時的實現(xiàn)用戶間的聊天為主要目標,仿照現(xiàn)在最流行的騰訊qq聊天工具,在騰訊qq聊天工具的基礎上加以改進,舍棄掉騰訊原有的客戶端軟件,以網(wǎng)頁替代,并加上屏蔽敏感詞匯等功能。1系統(tǒng)任務與目標1.1系統(tǒng)任務此系統(tǒng)是以用戶為中心的人性化設計,總體來看,系統(tǒng)可以看作是用戶模塊和聊天室兩大模塊的協(xié)調運作。1.1.1用戶注冊登陸功能:用戶第一次登錄該聊天室,沒有賬號,用戶可以注冊,注冊成功后才可以登錄。用戶通過提交用戶名稱和用戶密碼進行登陸,系統(tǒng)便會根據(jù)這些登陸資料,辨別出用戶是否存在,密碼正確則順利登陸,密碼錯誤將提示用戶再次輸入密碼。1.1.2聊天功能:用戶既可以公聊,也可以和特定選擇的用戶進行私聊,系統(tǒng)會根據(jù)用戶公聊或私聊選擇將聊天內容顯示給不同的用戶;同時系統(tǒng)會根據(jù)后臺敏感詞匯數(shù)據(jù)庫表,判斷用戶聊天的內容是否有敏感詞匯,內容和諧時正常顯示,包含敏感詞匯時自動屏蔽。1.1.3顯示功能用戶上線后系統(tǒng)會自動將已經(jīng)上線的用戶列表顯示給當前用戶,另外如有用戶登錄或退出時,在線用戶列表會自動的刷新,以保證上線用戶的有效性。1.1.4退出功能聊天室有兩種退出方式,一種是單擊主頁面中的“退出聊天室”按鈕,另一種是直接單擊了瀏覽的關閉按鈕,無論是何種退出,系統(tǒng)都能實現(xiàn)安全退出聊天室。1.2系統(tǒng)目標1.2.1、功能目標:爭取完全實現(xiàn)需本設計研究內容中定義的功能,希望能夠有時間進行版本升級,如果可能進一步實現(xiàn)擴展的音頻和視頻聊天的功能。1.2.2、性能目標:在網(wǎng)絡正常的情況下能夠快速將頁面加載完畢,并且顯示出聊天室中的所有成員,操作響應迅速,有較強的兼容性,能夠在IE、遨游、火狐等流行的瀏覽器中正常運行。可擴展性強、可維護性強。1.2.3、其它目標:頁面美觀大方、操作簡單易用、用戶體驗好。2系統(tǒng)需求分析一個完美得及時聊天工具,它將為用戶提供友好的界面,豐富的功能,方便用戶的使用,下面是該畢業(yè)設計需求的詳細描述。 2.1 頁面設計模塊功能需求la.第一次使用系統(tǒng)的用戶通過填寫個人信息來注冊,并能驗證用戶名的有效性是否重名;lb.使已經(jīng)注冊的用戶可以在驗證他的登錄信息(一般指用戶名和密碼)后登錄系統(tǒng);lc.能和所有人聊天,即要求實現(xiàn)公聊;ld.能選擇特定的聊天的對象,即要求實現(xiàn)私聊;le.能夠隨意選擇聊天文本的顏色;lf.能夠選擇聊天的語言動作和表情;lg.能夠自動顯示聊天室中的在線成員;2.2文本聊天功能 這是頁面的主要界面區(qū)域,為一個編輯框形式的窗口,其中用于顯示聊天信息和系統(tǒng)通知用戶的信息,該編輯框中可拷貝文字或圖片,但不支持修改里面信息。2.2.1聊天室成員列表以列表方式顯示該聊天室中現(xiàn)在在線的成員,成員最多顯示100位,但是在聊天的時候沒有顯示出的成員的發(fā)言信息依舊會在文本信息框中顯示,每一個聊天室支持1000名成員同時在線聊天,該成員列表可隱藏。2.2.2消息發(fā)送功能在菜單欄中可點擊選擇顯示在線好友列表,此時以列表的方式顯示所有在線的好友,可以選某位,然后在下面的文本聊天編輯框中進行消息的發(fā)送,當然也提供全選的功能。2.2.3文字設置功能在文本聊天框下方的工具欄中包含文字顏色和字體選項,選擇顏色或字體后以后輸入的文本顏色將改變?yōu)樵O置的顏色,字體也改變,且聊天對方可見變化。2.2.4聊天記錄功能在文本聊天框下方的工具欄中包含聊天記錄的選項,可以點擊選擇顯示今天、最近兩天、最近一星期的聊天記錄,聊天記錄中只包含聊天室成員的聊天信息而不包含系統(tǒng)的提示信息。2.3 后臺通訊模塊功能需求由于是即時通訊,所以用Ajax實現(xiàn),將客戶端發(fā)送的請求及時響應并返回數(shù)據(jù)。2.4數(shù)據(jù)庫訪問模塊功能需求將服務器發(fā)送的查詢請求及時響應,并將結果返回。3數(shù)據(jù)庫設計3.1創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表根據(jù)需求分析,本畢業(yè)設計的聊天室需要3各表,分別是用戶信息表,敏感詞匯表和聊天消息表。數(shù)據(jù)表名數(shù)據(jù)表中文名稱數(shù)據(jù)表用途User用戶信息表保存用戶的基本信息Sensitivity敏感詞匯表存儲敏感詞匯Information聊天消息表存儲聊天消息3.2創(chuàng)建基本信息表3.2.1用戶信息表字段名字段描述數(shù)據(jù)類型可否為空UserName用戶名文本主鍵Password密碼文本非空Sex性別文本Age年齡數(shù)字3.2.2敏感詞匯表字段名稱字段描述數(shù)據(jù)類型可否為空Word敏感字文本主鍵3.2.3聊天消息表字段名稱字段描述數(shù)據(jù)類型可否為空InformationID消息編號數(shù)字主鍵Sender消息發(fā)送者文本Receiver消息接收者文本InformationDate消息時間日期/時間4關鍵技術和難點4.1監(jiān)控用戶在線狀態(tài)在聊天室程序中需要實時監(jiān)控用戶在線狀態(tài),當用戶非正常退出時(例如當用戶沒有單擊“退出聊天室”按鈕,也沒有單擊窗口的關閉按鈕,而是直接將頁面轉向其他網(wǎng)站)將該用戶從用戶列表中刪除??梢詰肧ervlet中的(HttpBindingListener接口)實現(xiàn)此效果,HttpBindingListener接口監(jiān)聽HTTP會話中的對象時不需要在web.xml中設定監(jiān)聽。通過HttpBindingListener接口監(jiān)控用戶在線狀態(tài)的具體步驟:4.1.1編寫用來保存在線用戶和對在線用戶堿性具體操作的類UserInfo,在該類中主要暴扣返回外界使用的實例對象、添加用戶、獲取用戶列表和移除用戶的方法。UserInfo類的具體代碼如下:import java.util.Vector;public class UserInfo private static UserInfo user = new UserInfo();private Vector vector = null;/ 利用private調用構造函數(shù),防止被外界產(chǎn)生新的instance對象public UserInfo() this.vector = new Vector();/ 外界使用的instance對象public static UserInfo getInstance() return user;/ 增加用戶public boolean addUser(String user) if (user != null) this.vector.add(user);return true; else return false;/ 獲取用戶列表public Vector getList() return vector;/ 移除用戶public void removeUser(String user) if (user != null) vector.removeElement(user);4.1.2創(chuàng)建UserListener類,主要實現(xiàn)valueBound(HttpSessionBindingEvent arg0)和valueUnbound(HttpSessionBindingEvent arg0)方法,用于監(jiān)控Session中的對象變化情況。在該方法中,通過valueBound()方法向控制臺輸出上線用戶的信息,通過valueUnbound()方法向控制臺輸出下線用戶的信息。UserListener類的具體代碼如下:import javax.servlet.http.HttpSessionBindingEvent;public class UserListener implementsjavax.servlet.http.HttpSessionBindingListener private String user;private UserInfo container = UserInfo.getInstance();public UserListener() user = ;/ 設置在線監(jiān)聽人員public void setUser(String user) this.user = user;/ 獲取在線監(jiān)聽public String getUser() return this.user;/ 當Session有對象加入時執(zhí)行的方法public void valueBound(HttpSessionBindingEvent arg0) System.out.println(上線用戶: + this.user);/ 當Session有對象移除時執(zhí)行的方法public void valueUnbound(HttpSessionBindingEvent arg0) System.out.println(下線用戶: + this.user);if (user != ) container.removeUser(user);4.1.3在聊天室的Servlet實現(xiàn)類的登錄聊天室的longinRoom()方法中,首先獲得登錄用戶名和UserInfo類的對象,然后Session的過期時間設置為10分鐘,在將該用戶添加到UserInfo類的對象中,最后將UserListener對象到Session中。關鍵代碼如下:/獲得登錄用戶名String username=su.toGBK(request.getParameter(username); UserInfo user=UserInfo.getInstance();/獲得UserInfo類的對象session.setMaxInactiveInterval(600);/設置Session的過期時間為10分鐘UserListener ul=new UserListener();/創(chuàng)建UserListener的對象ul.setUser(username);/添加用戶user.addUser(ul.getUser();/添加用戶到UserInfo類的對象中session.setAttribute(user,ul);/將UserListener對象綁定到Session中上述的代碼中,一定要將UserListener對象綁定到Session中,否則起不到監(jiān)聽的效果。4.2通過快捷鍵發(fā)送聊天消息使用過的QQ聊天軟件的用戶都知道,在通過QQ聊天時,編好聊天內容后按下快捷鍵(Ctrl+Enter)即可發(fā)送聊天內容,實現(xiàn)該功能只需要在聊天內容的文本框的onKeyDown事件中判斷當前按下的快捷鍵是否為(Ctrl+Enter),如果是則調用自定義的send() 方法發(fā)送聊天內容。關鍵代碼如下:4.3實現(xiàn)私聊所謂私聊就是只有發(fā)言人和接收人可以看到該信息,其他用戶不能看到該信息,這樣可以保證用戶間的悄悄話不被其他用戶所看到。4.3.1在保存聊天信息的XML文件中設置一個isprivate節(jié)點,用于記錄聊天信息是否為私聊信息。isPrivate節(jié)點的值為true或false,值為true時表示是私聊信息,否則表示不是私聊信息。添加私聊信息在XML文件中的顯示代碼如下:wgh微笑著無語<font color=”>l和你說一件事呀?</font>”2013-3-15 15:51:41true4.3.2當用戶輸入聊天信息并發(fā)送后,在接收聊天信息的Servlet中,將聊天信息保存在XML文件中,包括是否為私聊信息的參數(shù)(isPrivate)。關鍵代碼如下:Element isPrivateNode = new Element(isPrivate).setText(false);newNode.addContent(isPrivateNode);4.3.3在顯示輸入內容時,判斷聊天內容是否為私聊內容,即isPrivate節(jié)點是否為true,如果是則在發(fā)言人和接收人的窗口中輸出該聊天信息,并且在前面加入標記內容“私人對話”,關鍵代碼如下:boolean isPrivate = Boolean.valueOf(item.getChildText(isPrivate);if (isPrivate) /獲取私聊內容if (userName.equals(to)| userName.equals(from) messages += 私人對話+ from+ + face+ 對+ to+ 說:+ content+  + sendTime + ;4.4滾屏顯示在實現(xiàn)聊天時,為了讓用戶可以及時看到最新發(fā)言,需要對聊天內容內容進行滾屏顯示,同時為了讓用戶可以看到全部聊天內容,還需要提供不滾屏顯示的功能。實現(xiàn)滾屏顯示時,可以分為整個窗口的滾動和頁面中元素的滾動兩種情況:4.4.1對整個窗口的內容進行滾動滾動整個窗口,即對滾動條進行定位為,可以通過sroll()函數(shù)的語法如下:window.scroll(x,y)其中,參數(shù)x表示滾動條水平位置的坐標;參數(shù)y表示滾動條垂直位置的坐標。另外將滾動條置底,只要將y的值設置的大一些即可,具體代碼如下:function scrollWindow()this.scroll(0,75000);setInterval(scrollWindow(),1000);scrollWindow();這樣每隔1000毫秒執(zhí)行一次該函數(shù),就可以讓滾動條永遠置底了。4.4.2對指定頁面元素中的內容進行滾動對指定頁面元素中的內容進行滾動可以通過scrollTop屬性實現(xiàn)。scrollTop屬性表示當前對象的頂點距離其最外層對象元素的距離。代碼如下:object.scrollTop=distance;聊天室的內容顯示區(qū)中滾屏效果就是使用該屬性來定位最新聊天內容的。在頁面的合適位置添加一個標記用于顯示聊天內容。由于在現(xiàn)實聊天信息時默認情況下是滾屏顯示,因此需要將該層的overflow屬性設置為hidden即隱藏,具體代碼如下:聊天內容添加一個用戶控制是否滾屏的復選框,在該復選框的onClick事件上調用一個用于控制是否滾屏的方法checkScorllScreen(),具體代碼如下:編寫一個自定義的JavaScript函數(shù)checkSrcollScreen()用于控制是否滾屏,在該方法中,首先判斷添加的復選框是否為選中狀態(tài),如果不是則表示滾屏,否則將設置聊天內容的標記的scrollTop屬性等于它的滾動高度乘以2,。checkSrcollScreen()函數(shù)的具體代碼如下:function checkScrollScreen()if(!form1.scrollScreen.checked)document.getElementById(content).style.overflow=scroll;elsedocument.getElementById(content).style.overflow=hidden;/當聊天信息超過一屏時,設置最先發(fā)送的聊天信息不顯示document.getElementById(content).scrollTop= document.getElementById(content).scrollHeight*2;setTimeout(checkScrollScreen(),500);4.5自動踢出長時間不發(fā)言的用戶為了保證聊天室的搞笑運行,需要提供踢出長時間不發(fā)言用戶的功能。在實現(xiàn)踢出長時間不發(fā)言的用戶時,可以通過采用JavaScript腳本的window對象的setTimeout()方法定時調用退出系統(tǒng)的函數(shù)實現(xiàn)。Window對象的setTimeout()方法用于延遲代碼的執(zhí)行,該方法的基本語法格式如下:window.setTimeout(code,delay);其中,code用于指定要延遲執(zhí)行的代碼(通常為一個自定義的JavaScript函數(shù));delay用于指定延遲時間(以毫秒為單位)。通過window對象的setTimeout()方法實現(xiàn)定時踢出指定用戶的具體代碼:Timer=window.setTimeout(“Exit()”,);上述的代碼實現(xiàn)了定時踢出長時間不發(fā)言的用戶,如果想實現(xiàn)踢出長時間不發(fā)言的用戶,還需要在用戶發(fā)言后,將上述的計時器重新計時。具體代碼如下:clearTimeout(timer);timer=window.setTimeout(“Exit()”,);注意在實現(xiàn)用戶發(fā)言的方法中,一定要調用此方法,否則不會更新用戶的發(fā)言時間,造成即使用戶發(fā)言了還是被踢出了。4.6敏感詞的自動屏蔽在以QQ聊天室為首的大多數(shù)聊天室都沒有屏蔽敏感詞匯功能,為了營造良好的網(wǎng)絡文明用語環(huán)境,本聊天室特意增設此功能。用戶進入聊天室就會看到有醒目的提醒,提醒大家文明聊天,不要說一些的敏感的字眼。而一旦有用戶說了敏感的字眼,系統(tǒng)就要自動屏蔽掉。 在服務器數(shù)據(jù)庫將那些敏感的字放進去,一旦用戶聊天時,系統(tǒng)自動將用戶的聊天的詞語在數(shù)據(jù)庫中去查找,一旦有敏感的詞,通過控制器Servlet的內容過濾(Filter+Wrapper)修改輸出的的字符串,改為“*”。關鍵代碼如下:Request= new HttpServletRequestWrapper(HttpServletReqest) request)public String getParamter(String infor)If(sensitivity.contains(infor)infor=”*”;5系統(tǒng)程序開發(fā)5.1用戶模塊當用戶訪問聊天室時,首先進入的是登錄聊天室頁面。如果用戶沒有賬號,則可以點擊頁面的注冊鏈接,進入到注冊頁面;如果用戶之前已經(jīng)登錄過,則直接輸入用戶名、密碼和驗證碼,進行登錄。5.1.1用戶注冊當用戶進入到注冊頁面后,提示用戶填寫詳細信息,點擊“注冊”按鈕后,系統(tǒng)開始判斷用戶名和密碼是否非法,判斷用戶名是否已經(jīng)被注冊,如果都能驗證通過才允許用戶注冊成功。下面是詳細描述:設計注冊聊天室頁面,該頁面用于新用戶注冊關鍵代碼如下:用戶名:密碼:設計聊天室的Servlet實現(xiàn)類,添加注冊聊天室的方法registRoom。在該方法中,首先獲得注冊用戶,然后判斷用戶名和密碼是否為空或已存在。如果注冊成功,自動登錄該用戶。具體代碼如下:public boolean registRoom (HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException String username = request.getParameter(username);User user = (User) getServletContext().getAttribute(username);if (user = null) String password = request.getParameter(password);String email = request.getParameter(email);String address = request.getParameter(address);String phoneNum = request.getParameter(phoneNum);user = new User(username, password, email, address, phoneNum);/寫入文件,加入到內存,并且標記為登錄getServletContext().setAttribute(username, user);request.getSession().setAttribute(userId, user);return true; else request.setAttribute(register, 注冊失敗,用戶已存在);return false;編寫注冊成功頁面regist_ok.jsp,在該文件中將頁面重定向到聊天室的主界面。注冊成功的具體代碼如下:5.1.2用戶登錄當用戶單擊“登錄”按鈕后,系統(tǒng)將判斷用戶名是否存在,密碼是否和用戶名搭配,用戶是否已登錄,如果都能驗證通過才允許用戶登錄成功。實現(xiàn)登錄的具體步驟如下:設計登錄聊天室頁面,該頁面主要用于收集用戶輸入的登錄信息,以及通過自定義的JavaScript函數(shù)驗證輸入信息是否為空和是否包括非法字符,該頁面的表單元素包括輸入用戶名、密碼的文本框和登錄提交表單的按鈕,具體代碼如下:用戶名:密碼:在聊天室的Servlet實現(xiàn)類中,添加登錄聊天室的方法loginRoom(),在該方法中,首先獲得登錄用戶,然后判斷用戶名是否存在、密碼是否和用戶名搭配、用戶是否已登錄。如果登錄成功,將該用戶添加到在線用戶列表中,然后向向保存聊天信息的XML文件中添加一條系統(tǒng)公告,最后將頁面重定向到登錄頁面;否則返回到登陸界面,并給出相應的提示信息。具體代碼如下:public void loginRoom(HttpServletRequest request,HttpServletResponse response) response.setContentType(text/html;charset=GBK);HttpSession session = request.getSession();StringUtils su=new StringUtils();/獲得登錄用戶名String username=su.toGBK(request.getParameter(username);UserInfo user=UserInfo.getInstance();/獲得UserInfo類的對象/設置Session的過期時間為10分鐘session.setMaxInactiveInterval(600);Vector vector=user.getList();boolean flag=true;/標記是否登錄的變量/判斷用戶是否登錄if(vector!=null&vector.size()0)for(int i=0;ivector.size();i+)if(user.equals(vector.elementAt(i)PrintWriter out;try out = response.getWriter();out.println(alert(該用戶已經(jīng)登錄);window.location.href=index.jsp;); catch (IOException e) e.printStackTrace();flag=false;break;/保存用戶信息if(flag)UserListener ul=new UserListener();/創(chuàng)建UserListener的對象ul.setUser(username); /添加用戶/添加用戶到UserInfo類的對象中user.addUser(ul.getUser()/將UserListener對象綁定到Session中session.setAttribute(user,ul);/保存當前登錄的用戶名session.setAttribute(username,username);session.setAttribute(loginTime,new Date().toLocaleString();/保存登錄時間/* *開始系統(tǒng)公告* */ 當文件不存在時創(chuàng)建該文件String fileURL = createFile(request, response);/ 獲取當前用戶SAXBuilder builder = new SAXBuilder();try Document feedDoc = builder.build(fileURL);Element root = feedDoc.getRootElement();Element channel = root.getChild(messages);Element newNode = new Element(message);channel.addContent(newNode); / 創(chuàng)建messages節(jié)點Element fromNode = new Element(from).setText(系統(tǒng)公告);newNode.addContent(fromNode);Element faceNode = new Element(face).setText();newNode.addContent(faceNode);Element toNode = new Element(to).setText();newNode.addContent(toNode);Element contentNode = new Element(content).setText( + username + 走進了聊天室!);newNode.addContent(contentNode);/ 登錄時間Element sendTimeNode = new Element(sendTime).setText(new Date().toLocaleString();newNode.addContent(sendTimeNode);Element isPrivateNode = new Element(isPrivate).setText(false);newNode.addContent(isPrivateNode);request.getRequestDispatcher(login_ok.jsp).forward(request, response);XMLOutputter xml = new XMLOutputter(Format.getPrettyFormat();xml.output(feedDoc, new FileOutputStream(fileURL); catch (Exception e) e

評論

0/150

提交評論