freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于bs方式的即時通信軟件的和實(shí)現(xiàn)(參考版)

2025-05-11 18:17本頁面
  

【正文】 charset=UTF8 meta equiv=ContentScriptType content=text/Javascript meta equiv=ContentStyleType content=text/css /head body background=../BG/ body h1 align=center歡迎使用 Etalk 即時通訊系統(tǒng) /h1 h2 align=center請登錄 /h2 form action= method=get table width=301 height=99 border=0 align=center tr th span=2 scope=row width=200用戶名: /th td input name=name type=text class=input id=nickname size=25 maxlength=20 / /td /tr tr th scope=row width=100密碼: /th td input name=psw type=password size=25 /td /tr /table table align=center tr th scope=rowh1 input name=提交 type=submit value=提交 /h1/th th scope=rowh1 input name=重置 。 總之,在以后的學(xué)習(xí)生活 中我將以加倍的努力作為對給予我?guī)椭膶W(xué)校、老師及同學(xué)們的回報。 在 此 ,我 由衷感謝李牧老師在本次設(shè)計中對我給予的充分支持 。 在 此次畢業(yè)設(shè)計 過程中我翻閱了大量的資料,從中獲得了極大的啟發(fā),同時也鍛煉了解決問題的能力。由于此次受時間所限,這些不足會在以后的軟件運(yùn)行維護(hù)階段,根據(jù)用戶的需要逐漸地改進(jìn)。 在本軟件的開發(fā)過程中,我對本軟件總體開發(fā)的了解還存在一些不足,業(yè)務(wù)方面也有不少疑問 ,技術(shù)上也不夠熟練。 本 系統(tǒng) 在功能上基本實(shí)現(xiàn)了 用戶注冊,用戶登錄,編輯用戶信息,向指定用戶發(fā)送 消息 ,為離線用戶保存 消息 的功能 。 結(jié) 論 通過以上分析基于 B/S 的即時通信軟件在理論和實(shí)際上是可行的。 void close(): 系統(tǒng)關(guān)閉時執(zhí)行。 void updataOnline(int,String): 系統(tǒng)受到新的連 接,將 id 號寫入對應(yīng)的用戶記錄中。 以上過程由線程類 ServerThread 中 run()方法所實(shí)現(xiàn)的 。前一部分作為接收方的名字,后一部分作 為要發(fā)送的信息。 第二種形式是客戶端發(fā)送信息所使用的格式。 當(dāng) ServerThread 接收到此信息時,首先將 “ From” 去除,獲取用戶名。 第一種形式只使用一次,在客戶端初始化時使用。 在本系統(tǒng)中 socket 套接字的內(nèi)容共有兩種形式: ( 1) “ From” + sender(發(fā)送方名稱) 。 void send(int,String): 通過向可變數(shù)組 id 中指定元素所對應(yīng)的 socket 的輸入流添加數(shù)據(jù),實(shí)現(xiàn) 向指定用戶轉(zhuǎn)發(fā)信息 的功能。刪除管理人員在Fdelete 文本框輸入的用戶名。將該 socket 存入可變數(shù)組 id 中。 void showusers():所有用戶名稱和最后一次登錄時間顯示在 Tinfo 組件中。一旦監(jiān)聽到新的連接,啟動 ServerThread 線程,將 Socket 交給線程處理。調(diào)用 GUI()和 showuser()顯示圖形界面與用戶上次登錄的時間。 其作用就是初始化一個 Server 對象。 Server 實(shí)現(xiàn)了 9 個方法。 ( 7) JButton Bdelet 刪除按鈕 。 ( 5) JScrollPane Stext 嵌套 Ttext 服務(wù)器端信息顯示框的 滾動條 。 ( 3) JTextArea Tinfo 用戶信息顯示框 。 ( 1) JFrame serverGUI 主 框架,在標(biāo)題欄顯示“ Etalk 服務(wù)端 ”。 服務(wù)器端運(yùn)行界面 如圖 19所示??梢杂嗅槍π缘膭h除指定的用戶。 服務(wù)器端的設(shè)計 服務(wù)器端由兩部分組成: Server 和 ServerThread。 CliThread 中接收來自 chatGui 的 Socket 和 chatGui 參數(shù)。 Runnable 接口只有一個方法 run()。由于 Java 不支持多繼承性,如果用戶需要類以線程方式 運(yùn)行并 且繼承其他所需要的類,就必須實(shí)現(xiàn)Runnable 接口。一個類通過繼承Thread 類,同時重寫其 run()方法,該類就可以實(shí)現(xiàn)多線程的方式運(yùn)行,并繼承 Thread 類的所有方法 。 Thread 類實(shí)現(xiàn)了 Runnable 接口。 Thread 類是 Java 語言包中 的一個可重用類。 圖 18 用戶頁面( win2021 系統(tǒng) 瀏覽器 分辨率 1280*768) ClientThread 的設(shè)計 ClientThread 是采用了多線程機(jī)制。 圖 16 用戶頁面( Linux 系統(tǒng) Firefox 瀏覽器 分 辨率 1024*768) 在 WindowsXP 系統(tǒng)下 IE7 瀏覽器運(yùn)行效果如圖 17 所示 。 本系統(tǒng)是基 于 B/S 方式 的,其具有系統(tǒng)無關(guān)性,既可以在 Linux系統(tǒng)下運(yùn)行,也可以在 windows平臺下運(yùn)行。將文本輸入框 Fwords 中信息重新構(gòu)建 為如下格式: receiver(接收方名稱 )+“receiveit”(分割字符串用的標(biāo)識 )+sender(發(fā)送方名稱) +“say: ”+內(nèi)容 [11]。用戶退出,將 online 表中的用戶記錄刪除 ,用以標(biāo)識該用戶不在線。添加用戶,將用戶名寫入 online 表 ,用以標(biāo)識該用戶已經(jīng)在線。 void updata():按鈕 Bupdata被按下時觸發(fā),將新的用戶資料寫入 user表,隱藏 Bupdata 按鈕和 Ltip 標(biāo)簽。獲得用戶列表,將獲得信息寫入下拉列表Clist 中。 執(zhí)行了 SQL的 Seletct 語句,使用了JDBC 的 executeQuery executeUpdate 方法 。 void getUserinfo():按鈕 Binfo被按下時觸發(fā)。將 records 表中的留言信息讀取到 Ttext 文本框中。 執(zhí)行了 SQL 的 Updata 語句,使用了 JDBC 的 executeUpdate方法 。 void recSav():按鈕 Bsaver 被按下時觸發(fā)。此屬性默認(rèn)為 false。如果設(shè)置為 false,則始終不換行。 ( 4) setLineWrap(boolean wrap)方法, 設(shè)置文本區(qū)的換行策略。 默認(rèn)情況下,不可編輯的文本組件的背景色為 。如果將該標(biāo)志設(shè)置為 true,則此文本組件變成用戶可編輯的。 如果 參數(shù) b 為 ture,則顯示對象;否則將隱藏它 。 height 此 Rectangle 的新高度 。 y 此 Rectangle 的左上角的新 y 坐標(biāo) 。 設(shè)置各個組件的屬性主要使用了以下方法 [10] ( 1) setBonds(int x,int y,int width, int height)方法, 將此 Rectangle 的邊界 Rectangle 設(shè)置為指定的 x、 y、 width 和 height。如果事件處理程序比較復(fù)雜,內(nèi)部類中的代碼將變得很長,你將找不到 相應(yīng)的組 件定義位置。首先,根據(jù)組件在代碼中被定義的不同位置,類的定義以及處理事件的代碼將分散在程序的各個部分,不是集中在一塊,同樣不便于閱讀與維護(hù)。使用簡單的匿名內(nèi)部類作為 addActionListener 的變量即可。當(dāng)然,如果處理的事件較少,這 種方式比較簡單。第二種方法是使用多個內(nèi)部類來響應(yīng)不同組件產(chǎn)生的各種事件,其具體實(shí)現(xiàn)又分兩種方式,一種是匿名內(nèi)部類,一種是一般內(nèi)部類。但人們通常用二種方法。 ( 3) 定義處理事件的方法 (如在 ActionListener 中的 actionPerformed中定義相應(yīng)方法 ) [9] 。 Java Swing 中處理各組件事件的一般步驟是: ( 1) 新建一個組件 (如 JButton)。 void destroy():在瀏覽器關(guān)閉 時執(zhí)行, 使用 outUser()方法 更新 online表,清除在線信息 。 void init():實(shí)現(xiàn)用戶頁面的初始化。 ( 23) JScrollPane Sinfo 嵌套 信息顯示框 Tinfo 的 滾動條 [8] 。 ( 21) JTextArea Temai 文本框顯示 被用戶電子郵件 。 ( 18) JLabel Linfo 字符 標(biāo)簽 “個人 信息 ”。 ( 16) JLabel Ltip 字符 標(biāo)簽 “僅接收 ?男 ?或 ?女 ?,其他字符被視為 ?不詳 ?”。 以下是 個人信息顯示區(qū)域相關(guān) 組件 ( 14) JLabel Lname 字符 標(biāo)簽 “ 姓名 ”。 ( 12) JButton Bupdate 個人信息 更新 按鈕 。 ( 10) JButton Bsender 信息 發(fā)送按鈕 。 ( 8) JButton Bsaver 信息 保存按鈕 。 ( 6) JTextArea Ttext 信息顯示框 。 ( 4) JLabel Lsay 字符 標(biāo)簽 “ 說 ” 。 ( 2) JLabel Lstate 字符標(biāo)簽顯示用戶狀態(tài) 。共由 23 個組件構(gòu)成 。在本設(shè)計中主要應(yīng)用了 init()和 destroy()兩個方法 [7]。 用戶頁面的設(shè)計 用戶頁面由 Applet 小程序 chatGui 和線程類 ClientThread 組成 。 在上一章中 users 表中性別字段為一個字節(jié)的 Verchar,但傳遞過來的 sex的值 是中文的 “男 ”, “女 ”和 “不詳 ”均大于表中 sex字段長度,所以需要將起進(jìn)行轉(zhuǎn)換:將 “男 ”轉(zhuǎn)換為 “M”, “女 ”轉(zhuǎn)換為 “F”, “不詳 ”轉(zhuǎn)換為 “? ”。同樣的密碼和驗(yàn)開始 獲得參數(shù) name 和 psw 用戶已 注冊 密碼 一致 密碼 為空 對 psw 進(jìn)行 MD5 處理 N Y 生成提示 返回注冊頁 生成提示 返回注冊頁 結(jié)束 生成提示 返回注冊頁 Y Y 用戶名 為空 性別 判斷 sex=”M” sex=”F” sex=”?” 男 女 不詳 將用戶信息 錄入數(shù)據(jù)庫 N N 證密碼頁使用 equals 方法。 } 流程如圖 16 所示 。 s = new String(b)。 由于傳遞過來的參數(shù)有可能出現(xiàn)漢字,為防止亂碼需要字符串進(jìn)行處理,相關(guān)代碼如下: public String getString(String s) { if (s == null) { s = 。 用戶名已經(jīng)被注冊時返回如圖 15 所示。 包括對用戶的錯誤輸入進(jìn)行提示,并將確認(rèn)后的信息添加到 user 表中。 注冊頁面 如圖 14 所示。 的設(shè)計 提供用戶的注冊界面,這個頁面提供表單的 post 方法,將用戶輸入的注冊信息發(fā)送給 頁面。若數(shù)據(jù)相符合則將當(dāng)前日期寫入數(shù)據(jù)庫作為用戶最后一次登錄時間,并根據(jù) name 參數(shù)動態(tài)生成用戶端頁面,否則彈出提示 。 開始 獲得參數(shù) name 和 psw 用戶名為空 用戶 在線 密碼 為空 用戶是否 在線 對 psw 進(jìn)行 MD5 處理 N N N Y Y Y 生成提示 返回登錄頁 生成提示 返回登錄頁 根據(jù)參數(shù) 生成用戶 頁 生成提示 返回登錄頁 結(jié)束 生成提示 返回登錄 頁 登錄時間 寫入庫 Y N 判斷用戶是否在線的方法是查看 online 表中是否有與當(dāng)前用戶相同的用戶名,如果有則判定用戶已經(jīng)在線,不允許用戶登錄;否則則視為沒有在線。該方法比較此字符串與指定的對象。 圖 12 提示該用戶已在線 流程如圖 12 所示 。 圖 10 提示密碼不能為空 如果用戶名或密碼錯誤,彈出如圖 11 提示。 如果用戶名沒有輸入,彈出如圖 9 提示。 頁面將接收到參數(shù)使用 name和 psw,并將 name作字符轉(zhuǎn)換。 登錄頁面如圖 8 所示。登錄頁面的表單由兩個表格 table組成。 的設(shè)計 頁面 提供用戶的登錄界面及注冊鏈接,提示用戶輸入用戶名和密碼。amp。因此需要調(diào)用方法 getUpdateCount 來檢查它是哪一種情況。如上所述,如果 getResultSet 返回 null,則需要調(diào)用 getUpdateCount 來檢查
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1