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

正文內(nèi)容

web服務(wù)器設(shè)計論文畢業(yè)設(shè)計word格式(文件)

2024-12-23 11:27 上一頁面

下一頁面
 

【正文】 return result。這時單擊 “Start”按鈕,然后從計算機上打開瀏覽器,在地址欄里面輸入 Web 服務(wù)器的 Socket 套接字,即輸入: 即可實現(xiàn)對本機的連接,服務(wù)器面板中顯示本機瀏覽器的連接情況。包是 Java 提供的組織類和接口的機制,是一組相關(guān)類和接口的集合 ,在引用其他包中的類或接口時,在其名前加包名很不方便,為此 Java 提供了導(dǎo)入包中類或接口的機制。如果未經(jīng)聲明、實例化,那么系統(tǒng)會提示這個變量是不存在的,程序?qū)霈F(xiàn)錯誤。 //導(dǎo)包 import 。 import 。 public class WebServerFrame extends JFrame implements ActionListener { /*聲明并初始化用戶面板里面的組件 */ // 按鈕面板:在聲明實例變量的同時初始化 //設(shè)置面板里面的東西居中對齊 private JPanel btnPan = new JPanel(new FlowLayout())。 private JButton clearHintBtn = new JButton(Clear Hint)。 //對 變量實例化 = new WebServerNet(this)。 《 Web 服務(wù)器設(shè)計 》 a 第 17 頁 共 24 頁 // 獲取默認工具包。 //點叉叉的時候所有的功能停止 setDefaultCloseOperation(EXIT_ON_CLOSE)。 (portTf)。 //把 定義的四個組件放到北邊 add(btnPan, )。 //為 “Clear Hint”Button添加事件監(jiān)聽 (this)。 //設(shè)置何時出現(xiàn)滾動條 (())。} /*對按鈕的動作進行設(shè)置 */ public void actionPerformed(ActionEvent arg0) { //定義并且實例化一個 source Object source = ()。 //如果點擊 “Start”按鈕,則 “Start”按鈕名變?yōu)?“Stop”,文本框里面不能再輸入端口號,開始獲取瀏覽器信息 if ((Start)) { (Stop)。 (true)。 //導(dǎo)包 import 。 import 。 import 。 public class WebServerNet { //聲明變量 private WebServerFrame frame。 //點擊 “Start”信息面板里面出現(xiàn)的內(nèi)容 (new Date().toLocaleString()+ : Server start on port +port+.)。 }}}.start()。 }} /*構(gòu)造器:每發(fā)一次請求構(gòu)造一次客戶端 */ class HandlerThread extends Thread { //創(chuàng)建客戶端 Socket 對象,用于與服務(wù)器建立連接 private Socket socket。 //輸出信息 (new Date().toLocaleString()+ : Client +hostName+ connect.)。 //得到一系列的信息 try { //輸入流,加強流 ,字節(jié)流轉(zhuǎn)換成字符流 in=newBufferedReader(newInputStreamReader(()))。 //對瀏覽器想獲得的文件名稱進行去除 ?后面內(nèi)容處理 //查找字符串 ,一直到 ?為止 int index=(?)。 //如果瀏覽器訪問的頁面不存在 ,則返回 頁面內(nèi)容 //500:表示程序內(nèi)部出錯 if(!()||!()) srcFile=new File(html/)。 (ContentType: +getContentType(srcFile))。 ()。 while((i=(buffer))!=1) {(buffer,0,i)。 //服務(wù)器端文件的輸入流 ,不為空,關(guān)閉流 if(fin!=null)()。 《 Web 服務(wù)器設(shè)計 》 a 第 23 頁 共 24 頁 if(.gif.equals(type)) result=image/gif。 else if(.xml.equals(type)) result=text/xml。 public class WebServerMain { public static void main(String[] args) { //實例化 WebServer 界面,啟動,運行 new WebServerFrame()。}} 《 Web 服務(wù)器設(shè)計 》 a 第 24 頁 共 24 頁 附錄 3: package 。 else if(.htm.equals(type)) result=text/html。 String type=((.))。} //無論是否異常都執(zhí)行 finally { try{ //瀏覽器和服務(wù)器間交互的輸入流 ,不為空,關(guān)閉流 if(in!=null)()。 //數(shù)組的長度 byte[] buffer=new byte[1024*8]。 (Date: +new Date())。 (Server: Briup WebServer )。 //如果瀏覽器沒指定訪問的頁面 ,則返回 頁面內(nèi)容 //index 通常表示首頁,本首頁為 if(/.equals(src)) src=/。 //從瀏覽器提交的請求頭部中獲得想訪問的文件名稱 讀字符串,用空格分開,讀每個數(shù)組的第二個元素 頭部信息 ,從第二個才有效 String src=().split( )[1]。 //瀏覽器和服務(wù)器間交互的輸出流 PrintStream out=null。 //成員內(nèi)部類 public HandlerThread(Socket socket){ =socket。 }} /*定義 stop 方法 */ public void stop() { try { //ServerSocket 不為空(服務(wù)器處于正在執(zhí)行的狀態(tài)中) if(serverSocket!=null) //拆除連接 ()。 new HandlerThread(socket).start()。 //引入 Frame 框架 public WebServerNet(WebServerFrame frame) {=frame。 import 。 import 。 import 。 } } //字符先換行再輸出 public void addHint(String s) { (() + \r\n + s)。 (())。 return。 //添加滾動條 add(scrollPane, )。 //設(shè)置信息面板的顏色 ()。 //可以用所有的端口 ()。 (clearHintBtn)。 //可視化組建(如窗口、面板等)可見,表示這個 組建顯示為可見 setVisible(true)。 //設(shè)置界面出現(xiàn)在屏幕上的位置 setLocation( (().width ().width)/2, (().height ().height)/2 )。 buildHintPan()。 //自己寫的程序,作為一個實例變量被調(diào)用 private WebServerNet 。 //每次開始運行的初始端口為 8080,文本框長度為 5 private JTextField portTf =new JTextField(8080, 4)。 import .*。 import 。 Web 服務(wù)器與瀏覽器的連接測試時,要先打開 Web 服務(wù)器,并點擊“ Start”按鈕使服務(wù)器開始運行,在打開瀏覽器,在瀏覽器的地址欄中輸入相 關(guān)的 Socket
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1