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

正文內(nèi)容

java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)教程(下)ppt-文庫(kù)吧資料

2024-10-24 14:50本頁(yè)面
  

【正文】 法 ? Applet類是所有 Applet應(yīng)用的基類,所有的 Java小應(yīng)用程序都必須繼承該類。 ? 在某些情況下,通過使用簽名的 Applet還可以針對(duì)不同的情況給予其不同級(jí)別的安全等級(jí)。 ? 由于 Applet是在 Java虛擬機(jī)中解釋執(zhí)行,而不是由用戶計(jì)算機(jī)的 CPU直接運(yùn)行,才使得這些安全規(guī)則成為可能。特別是本地系統(tǒng)的用戶名以及 Email等信息。 ? Applet不能對(duì)本地文件系統(tǒng)進(jìn)行讀寫操作。 Applet本身設(shè)定了相應(yīng)的安全規(guī)則來(lái)保證用戶的系統(tǒng)安全 , 這些規(guī)則包括: ? Applet永遠(yuǎn)無(wú)法運(yùn)行本地機(jī)上的可執(zhí)行程序。 starting page/title ? /head ? body ? applet codebase=. ? code= ? name=HelloWorld ? width=200 ? height=100 ? !param name=p0 value= ? param name=p1 value= ? /applet ? /body ? /html 4.執(zhí)行 ? 如果用 appletviewer運(yùn)行 , 需輸入如下的命令行: ? 如下圖所示 , 可以看出 , 該命令啟動(dòng)了appletviewer并指明了 html文件 , 該 html文件中包含對(duì)應(yīng)于 HelloWorld的< applet>語(yǔ)句 。 ? 【 例 113】 ? html ? head ? titleMy applet 39。 3.創(chuàng)建 HTML文件 ? 在運(yùn)行創(chuàng)建的 之前 , 還需創(chuàng)建一個(gè) HTML文件 , appletviewer或?yàn)g覽器將通過該 文 件 訪 問 創(chuàng) 建 的 Applet 。 ? 成功地編譯 Java applet之后生成響應(yīng)的字節(jié)碼文件。 2.編譯 Applet ? 編譯 JDK命令: ? 注意: 如果編寫的源程序違反了 Java編程語(yǔ)言的語(yǔ)法規(guī)則, Java編譯器將在屏幕上顯示語(yǔ)法錯(cuò)誤提示信息。 ? public class HelloWorld extends Applet // 繼承 Appelet類,這是Appelet Java程序的特點(diǎn) ? { ? public void paint(Graphics g) { ? (Hello World!, 5, 35)。 ? 下面舉一個(gè)最簡(jiǎn)單的 HelloWorld 例子 112來(lái)說明 Applet程序的開發(fā)過程: 1.編輯 Applet 的 java源文件 ? 創(chuàng)建文件夾 C:\ghq,在該文件夾下建立 ? 【 例 112】 ? import 。 ? 編制使用 class 的 HTML文件。這個(gè)Applet引用是一個(gè)指定了 appletviewer要裝載代碼的 HTML標(biāo)記: applet code= width=220 height=160/applet Java Applet程序開發(fā)步驟 ? Applet程序開發(fā)主要步驟如下: ? 選用 EDIT或 Windows Notepad等工具作為編輯器建立 Java Applet源程序。 什么是 appletviewer ? appletviewer是 JDK下的一個(gè) Applet查看工具,在 Java安裝目錄下的 bin文件夾中可以找到這個(gè)可執(zhí)行文件。這個(gè) HTML文件中關(guān)于Applet的信息至少應(yīng)包含以下三點(diǎn): ? 字節(jié)碼文件名 (編譯后的 Java文件,以 .class為后綴 ); ? 字節(jié)碼文件的地址; ? 在網(wǎng)頁(yè)上顯示 Applet的方式。也可以通過 java開發(fā)工具的 appletviewer來(lái)運(yùn)行。 ? 含有 Applet的網(wǎng)頁(yè)的 HTML文件代碼中必須帶有< applet>和< /applet>這樣一對(duì)標(biāo)記,當(dāng)支持 Java的網(wǎng)絡(luò)瀏覽器遇到這對(duì)標(biāo)記時(shí),就將下載相應(yīng)的小程序代碼并在本地計(jì)算機(jī)上執(zhí)行該 Applet小程序。 ? // 生成一個(gè)字符串對(duì)象 ? } ? public void paint(Graphics g) { ? (s, 25, 25)。//在進(jìn)行顯示輸出時(shí),需要用到類 Graphics的對(duì)象; ? public class HelloEducation extends Applet { ? // 程序員給這個(gè)類取名為 HelloEducation ? // 所有的 applet程序都是 Applet類的子類 ? public String s。 ? import 。 【 例 111】 一個(gè)名為 Applet類,在瀏覽器的坐標(biāo)( 25, 25)位置顯示字符串。一個(gè)Java Applet在執(zhí)行時(shí)也是先被編譯成為 .class文件,但必須再將字節(jié)碼文件嵌入到 Web頁(yè)面中,通過瀏覽器或使用JDK中的 appletviewer命令來(lái)運(yùn)行。 ? Java Applet程序是通過瀏覽器來(lái)執(zhí)行的,因此,它和 Java應(yīng)用程序有許多不同之處。 A、 getFile() B、 getProtocol() C、 getHost() D、 getPort() ? 一個(gè) URL對(duì)象通常包含哪些信息? ? 怎樣讀取 URL中的資源? ? Java使用哪個(gè)組件來(lái)顯示 URL中的 HTML文件? 第 11章 Java Applet基礎(chǔ) ? Java Applet的運(yùn)行原理 ? Applet類及其常用方法 ? 一個(gè)顯示動(dòng)畫的 Applet程序 ? Applet中使用 URL ? Applet中建立新線程 ? Applet中播放聲音 Java Applet的運(yùn)行原理 ? 一個(gè) Java Applet程序中必須有一個(gè)類是 Applet類的子類。這樣才能更好的理解這幾個(gè)程序,理解其中所包含的編程思想。讀者應(yīng)該對(duì) URL網(wǎng)絡(luò)編程,Socket中的 TCP, UDP編程進(jìn)行大量的練習(xí)才能更好的掌握本章中所提到的一些概念,才能真正學(xué)到 Java網(wǎng)絡(luò)編程的精髓! ? 最后幾個(gè)小節(jié)所舉的例子,讀者務(wù)必要親自試驗(yàn)一下,如果遇到問題,想辦法解決之。讀者通過學(xué)習(xí),應(yīng)該對(duì)網(wǎng)絡(luò)編程有了一個(gè)清晰的認(rèn)識(shí),可能對(duì)某些概念還不是十分的清楚,還是需要更多的實(shí)踐來(lái)進(jìn)一步掌握。新程序完成的功能是使同時(shí)運(yùn)行的多個(gè)客戶程序能夠接收到服務(wù)器發(fā)送來(lái)的相同的信息,顯示在各自的屏幕上。MulticastSocket用在客戶端,監(jiān)聽服務(wù)器廣播來(lái)的數(shù)據(jù)。給出端口號(hào)時(shí)要保證不發(fā)生端口沖突,否則會(huì)生成SocketException類例外。 ? 其中, port指明 socket所使用的端口號(hào),如果未指明端口號(hào),則把socket連接到本地主機(jī)上一個(gè)可用的端口。 ? DatagramSocket(int prot)。 DatagramSocket、 DatagramPacket ? 包 DatagramSocket和 DatagramPacket用來(lái)支持?jǐn)?shù)據(jù)報(bào)通信, DatagramSocket用于在程序之間建立傳送數(shù)據(jù)報(bào)的通信連接, DatagramPacket則用來(lái)表示一個(gè)數(shù)據(jù)報(bào)。 ? UDP:不可靠,差錯(cuò)控制開銷較小,傳輸大小限制在64K以下,不需要建立連接。 Datagram ? 所謂數(shù)據(jù)報(bào)( Datagram)就跟日常生活中的郵件系統(tǒng)一樣,是不能保證可靠的寄到的,而面向鏈接的TCP就好比電話,雙方能肯定對(duì)方接受到了信息。 UDP數(shù)據(jù)報(bào) ? 前面在介紹 TCP/IP協(xié)議的時(shí)候,我們已經(jīng)提到,在 TCP/IP協(xié)議的傳輸層除了 TCP協(xié)議之外還有一個(gè) UDP協(xié)議,相比而言 UDP的應(yīng)用不如 TCP廣泛,幾個(gè)標(biāo)準(zhǔn)的應(yīng)用層協(xié)議 HTTP,F(xiàn)TP, SMTP… 使用的都是 TCP協(xié)議。服務(wù)器總是在指定的端口上監(jiān)聽是否有客戶請(qǐng)求,一旦監(jiān)聽到客戶請(qǐng)求,服務(wù)器就會(huì)啟動(dòng)一個(gè)專門的服務(wù)線程來(lái)響應(yīng)該客戶的請(qǐng)求,而服務(wù)器本身在啟動(dòng)完線程之后馬上又進(jìn)入監(jiān)聽狀態(tài),等待下一個(gè)客戶的到來(lái)。在實(shí)際應(yīng)用中,往往是在服務(wù)器上運(yùn)行一個(gè)永久的程序,它可以接收來(lái)自其他多個(gè)客戶端的請(qǐng)求,提供相應(yīng)的服務(wù)。程序的意義請(qǐng)參考注釋。但是為了有效的利用資源,建議讀者按照合理的順序主動(dòng)釋放資源。 ? ()。 ? ()。在關(guān)閉 Socket之前,應(yīng)將與 Socket相關(guān)的所有的輸入 /輸出流全部關(guān)閉,以釋放所有的資源。 Socket ? 每一個(gè) Socket存在時(shí),都將占用一定的資源,在 Socket對(duì)象使用完畢時(shí),要其關(guān)閉。 /出流 ? 類 Socket提供了方法 getInputStream ()和getOutStream()來(lái)得到對(duì)應(yīng)的輸入 /輸出流以進(jìn)行讀 /寫操作,這兩個(gè)方法分別返回InputStream和 OutputSteam類對(duì)象。程序中 accept()是一個(gè)阻塞函數(shù),所謂阻塞性方法就是說該方法被調(diào)用后,將等待客戶的請(qǐng)求,直到有一個(gè)客戶啟動(dòng)并請(qǐng)求連接到相同的端口,然后 accept()返回一個(gè)對(duì)應(yīng)于客戶的socket。 ? } ? } ? } ? 以上的程序是 Server的典型工作模式,只不過在這里Server只能接收一個(gè)請(qǐng)求,接受完后 Server就退出了。 ? try { ? socket = ()。 ? //創(chuàng)建一個(gè) ServerSocket在端口 4700監(jiān)聽客戶請(qǐng)求 ? } catch (IOException e) { ? (can not listen to : + e)。 ? public class ep10_7 { ? public static void main(String[] args) { ? ServerSocket server = null。 ? import 。 ServerSocket ? 【 例 107】 一個(gè)典型的創(chuàng)建 Server端 ServerSocket的過程。 ? } ? } ? } ? 這是最簡(jiǎn)單的在客戶端創(chuàng)建一個(gè) Socket的一個(gè)小程序段,也是使用 Socket進(jìn)行網(wǎng)絡(luò)通訊的第一步,程序相當(dāng)簡(jiǎn)單,在這里不作過多解釋了。 ? public class ep10_6 { ? public static void main(String[] args) { ? try { ? Socket socket = new Socket(, 4700)。 ? import 。所以在創(chuàng)建 Socket或ServerSocket是必須捕獲或拋出例外。 0~1023的端口號(hào)為系統(tǒng)所保留,例如 服務(wù)的端口號(hào)為 80, tel服務(wù)的端口號(hào)為 21, ftp服務(wù)的端口號(hào)為 23, 所以我們?cè)谶x擇端口號(hào)時(shí),最好選擇一個(gè)大于 1023的數(shù)以防止發(fā)生沖突。 ? 注意,在選擇端口時(shí),必須小心。 ? 例如: ? Socket client = new Socket(., 80)。 ? ServerSocket(int port, int backlog, IAddress bindAddr) ? 其中 address、 host和 port分別是雙向連接中另一方的 IP地址、主機(jī)名和端口號(hào), stream指明 socket是流 socket還是數(shù)據(jù)報(bào) socket,localPort表示本地主機(jī)的端口號(hào), localAddr和 bindAddr是本地機(jī)器的地址( ServerSocket的主機(jī)地址), impl是 socket的父類,既可以用來(lái)創(chuàng)建 serverSocket又可以用來(lái)創(chuàng)建 Socket。 ? Socket(SocketImpl impl) ? Socket(String host, int port, IAddress localAddr, int localPort) ? Socket(IAddress address, int port, IAddress localAddr, int localPort) ? ServerSocket(int port)。 ? Socket(String host, int prot)。其構(gòu)造方法如下: ? Socket(IAddress address, int port)。 Socket ? java在包 Socket和ServerSocket,分別用來(lái)表示雙向連接的客戶端和服務(wù)端。 ? 工作過程包含以下四個(gè)基本的步驟: ? ( 1) 創(chuàng)建 Socket; ? ( 2) 打開連接到 Socket的輸入 /出流; ? ( 3) 按照一定的協(xié)議對(duì) Socket進(jìn)行讀 /寫操作; ? ( 4) 關(guān)閉 Socket. ? 第三步是程序員用來(lái)調(diào)用 Socket和實(shí)現(xiàn)程序功能的關(guān)鍵步驟,其他三步在各種程序中基本相同。一個(gè)連接就建立起來(lái)了。 Socket通訊的一般過程 ? 前面已經(jīng)提到 Socket通常用來(lái)實(shí)現(xiàn) C/S結(jié)構(gòu)。 ? 說 Socket編程是低層次網(wǎng)絡(luò)編程并不等于它功能
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1