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

正文內(nèi)容

web服務(wù)器設(shè)計論文畢業(yè)設(shè)計word格式-在線瀏覽

2025-02-01 11:27本頁面
  

【正文】 塊后,再執(zhí)行 finally塊。 Java 線程 每個 java 程序都有一個主線程,要實(shí)現(xiàn)多線程,必須在主線程中創(chuàng)建新的線程。每個線程都要經(jīng)歷新建、運(yùn)行、中斷和死亡四種狀態(tài)。實(shí)現(xiàn)多線程有兩個途徑,一種是用 Thread 類的子類創(chuàng)建來實(shí)現(xiàn),另一種是通過實(shí)現(xiàn) Runnable 接口的類來實(shí)現(xiàn)。當(dāng)編寫 Thread 類的子類時,可以在子類中重寫父類的 run 方法,該方法中包含了線程的操作。當(dāng)創(chuàng)建的線程調(diào)用 start()方法開始運(yùn)行時, run()方法將被自動進(jìn)行 [4]。輸入流代表從外設(shè)流入計算機(jī)的數(shù)據(jù)序列,輸出流代表從計算機(jī)流向外設(shè)的數(shù)據(jù)序列。序列中的數(shù)據(jù)既可以是未經(jīng)加工的原始二進(jìn)制數(shù)據(jù),也可以是按一定編碼處理后符合某種格式規(guī)定的特點(diǎn)數(shù)據(jù),如字符數(shù)據(jù),所以 Java 中的流有位流(字節(jié)流)和字符流之分 [5]。 3 設(shè)計步驟 本次課程設(shè)計進(jìn)行 Web 服務(wù)器的設(shè)計與實(shí)現(xiàn),其步驟分為兩大步,先要進(jìn)行用戶圖形界面的設(shè)計與實(shí)現(xiàn),由于它不是本次設(shè)計報告的側(cè)重點(diǎn),故在以下的步驟中只會稍加說明。 設(shè)計流程圖 通過分析設(shè)計任務(wù),本次課程設(shè)計的大致流程如圖 所示 《 Web 服務(wù)器設(shè)計 》 a 第 7 頁 共 24 頁 圖 Web服務(wù)器設(shè)計流程圖 創(chuàng)建用戶界面 首先,創(chuàng)建一個頂級的容器組件,一般是繼承框架( Frame)的應(yīng)用程序主窗口,它包含邊框 、標(biāo)題欄、控制菜單和內(nèi)容面板的容器 ,以下程序段主要是將組件聲明并且實(shí)例化。 private JLabel listenPortLb = new JLabel(Server listen port: )。 //init 組件 = new WebServerNet(this)。它分為三部分: 對圖形用戶界面整體進(jìn)行聲明、實(shí)例化和布局 private void initComponent() {} 對控制面板內(nèi)的組件進(jìn)行布局和實(shí)現(xiàn)其功能 public void buildBtnPan() {} 對信息面板內(nèi)的組件進(jìn)行聲明并且實(shí)例化,實(shí)現(xiàn)其功能 public void buildHintPan() {} 最后,對按鈕的動作進(jìn)行設(shè)置,即設(shè)置檔用鼠標(biāo)點(diǎn)擊 Start 和 Clear Hint 按鈕時將會出現(xiàn)的狀況。 圖 Web服務(wù)器用戶界面 I/O 接口的實(shí)現(xiàn) 《 Web 服務(wù)器設(shè)計 》 a 第 9 頁 共 24 頁 本次課程設(shè)計報告主要是描述 I/O 接口的實(shí)現(xiàn),即 Web 服務(wù)器是如何實(shí)現(xiàn)與客戶端(瀏覽器)的連接與數(shù)據(jù)傳輸?shù)?。同時,由于我們要實(shí)現(xiàn)通信,故需要聲明一個服務(wù)器端的 ServerSocket 對象,創(chuàng)建一個 ServerSocket 對象就創(chuàng)建了一個監(jiān)聽,用來監(jiān)聽客戶端(瀏覽器)的請求。 //聲明一個 frame 事例變量 private ServerSocket serverSocket。} 進(jìn)行完變量的聲明后我們就要開始對相關(guān)的方法進(jìn)行編寫了。在編寫的 start 方法中,我們運(yùn)用了異常處理機(jī)制和線程。 (new Date().toLocaleString()+ : Server start on port +port+.)。//隨時監(jiān)聽 客戶端請求 new HandlerThread(socket).start()。} }}.start()。}} 從以上的程序段中我們可以看出 ,實(shí)現(xiàn) start 方法運(yùn)用了兩個 try……catch 分 《 Web 服務(wù)器設(shè)計 》 a 第 10 頁 共 24 頁 別處理可能出現(xiàn)的異常情況,在第一個 try……catch 異常處理語句中,我們首先創(chuàng)建了一個指定端口的 Socket 對象來監(jiān)聽該端口 ,但是端口必須為整型數(shù)字,若不為整型,則程序?qū)霈F(xiàn)異常 ,然后 為 frame 中的 “Start”按鈕 addHint,故點(diǎn)擊“Start”按鈕將會出現(xiàn):當(dāng)前時間 +erver start on port+IP 地址 +.。 線程的基本實(shí)現(xiàn)方法 為: 1構(gòu)造線程 new; 2啟動線程 Start( );3運(yùn)行線程 run( )。最后調(diào)用線程的 .start 方法來啟動線程。如此就完成了 start 方法的實(shí)現(xiàn)。//拆除連接 即當(dāng) ServerSocket 不為空(服務(wù)器處于正在執(zhí)行的狀態(tài)中) ,強(qiáng)制關(guān)閉 Web服務(wù)器。故最后 stop 實(shí)現(xiàn)的功能為:關(guān)閉 Web 服務(wù)器,顯示:當(dāng)前時間 + : Server stop.。 該部分使用 HandlerThread 類繼承 Thread 類的方法,實(shí)現(xiàn)多線程的數(shù)據(jù)流傳輸。 而在多線程的執(zhí)行塊 run() {}中, 采用了字符流的傳輸方法。 《 Web 服務(wù)器設(shè)計 》 a 第 11 頁 共 24 頁 程序中 in=newBufferedReader(new InputStreamReader(()))。 完成了輸出流的獲得 。 //從瀏覽器提交的請求頭部中獲得想訪問的文件名稱 String src=().split( )[1]。 由于程序中是運(yùn)用的 Get 方法從服務(wù)器上獲得數(shù)據(jù),而 Get 是不安全的,因?yàn)樵趥鬏斶^程,數(shù)據(jù)被放在請求的 URL 中,數(shù)據(jù)的按照 variable=value 的形式,添加到 action 所指向的 URL 后面,并且兩者使用 “?”連接, 而 “?”后面的數(shù)據(jù)即為用戶的私人數(shù)據(jù),這樣就 使用戶的私人信息變?yōu)榭梢?了 ,這樣是極不安全的,故我們采用了一下語句來彌補(bǔ) Get 語句帶來的安全問題。 //取字符串從 0 到 index, 問號后面的就不要了 if(index=0) (0,index)。輸出響應(yīng)頭部信息是通過輸出流 ()實(shí)現(xiàn)的,之后通過 ()語句來清除緩存。 完成了數(shù)據(jù)流是傳輸之后,最后需要關(guān)閉流, 其代碼段為: //瀏覽器和服務(wù)器間交互的輸入流 ,不為空,關(guān)閉流 《 Web 服務(wù)器設(shè)計 》 a 第 12 頁 共 24 頁 if(in!=null)()。 //服務(wù)器端文件的輸入流 ,不為空,關(guān)閉流 if(fin!=null)()。 String type=((.))。 if(.gif.equals(type)) result=image/gif。 else if(.htm.equals(type)) result=text/html。 else if(.xml.equals(type)) result=text/xml。} 通過這一系列的程序設(shè)計后,最終就完成了 Web 服務(wù)器與瀏覽器之間的通信。 結(jié)果分析 《 Web 服務(wù)器設(shè)計 》 a 第 13 頁 共 24 頁 編寫完所有程序后,在主函數(shù)程序中右擊鼠標(biāo),在出現(xiàn)的菜單欄中單擊 Run運(yùn)行,會出現(xiàn)設(shè)計的 Web 服務(wù)器界面,界面中出現(xiàn)一行字: Please click the START button to start web server.。若從另一臺連網(wǎng)的計算機(jī)上打開一個瀏覽器,在地址欄里面輸入 Web 服務(wù)器的 Socket 套接字,即輸入: Web 服務(wù)器所在主機(jī)的 IP 地址 :8080, 即可實(shí)現(xiàn) Web 服務(wù)器與瀏覽器的 連接, Web 服務(wù)器面板中顯示連接的那臺計算機(jī)瀏覽器的連接情況。 圖 Web服務(wù)器監(jiān)聽本機(jī)瀏覽器 4 出現(xiàn)的問題及解決方法 本實(shí)驗(yàn)中出現(xiàn)的問題主要有以下幾點(diǎn): ,必須要導(dǎo)入相關(guān)的包。擋 《 Web 服務(wù)器設(shè)計 》 a 第 14 頁 共 24 頁 在一個源程序中使用 import 導(dǎo)入包后,就可以直接引用其中的類或接口了。 ,然后再實(shí)例化,最后才能使用。 ,要記得調(diào)用 Thread 的 .start()語句,否則線程是無法運(yùn)行的,程序?qū)⒊霈F(xiàn)錯誤。 5 結(jié)束語 《 Web 服務(wù)器設(shè)計 》 a 第 15 頁 共 24 頁 參考文獻(xiàn) [1]李尊朝,蘇軍 .Java 語言程序設(shè)計(第二版) .北京 :中國鐵道 出版社, 2020 [2]馬爭鳴 .TCP/IP 原理與利用 [M].北京:冶金工業(yè)出版社 :2020 [3] Linux 下的網(wǎng)絡(luò)監(jiān)聽
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1