《Java網(wǎng)絡(luò)程序設(shè)計》課件-第11章_第1頁
《Java網(wǎng)絡(luò)程序設(shè)計》課件-第11章_第2頁
《Java網(wǎng)絡(luò)程序設(shè)計》課件-第11章_第3頁
《Java網(wǎng)絡(luò)程序設(shè)計》課件-第11章_第4頁
《Java網(wǎng)絡(luò)程序設(shè)計》課件-第11章_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第11章

常用工具

11.1Java開發(fā)工具11.2JCreator11.3Wireshark

11.1Java開發(fā)工具

11.1.1JDK的歷史

JavaDevelopmentKit(JDK)是SunMicroSystems針對Java開發(fā)人員發(fā)布的免費軟件開發(fā)工具包(SoftwareDevelopmentKit,SDK)。2006年Sun公司宣布將發(fā)布基于GPL協(xié)議的開源JDK,使JDK成為自由軟件。在去掉了少量閉源特性之后,Sun公司最終促成了基于GPL協(xié)議的OpenJDK的發(fā)布。

JDK是整個Java的核心,包括了Java運行環(huán)境、Java工具和Java基礎(chǔ)的類庫。自從1995年Java推出以來,JDK已經(jīng)成為使用最廣泛的JavaSDK,其發(fā)展過程如下:

(1)?1995年正式發(fā)布JDK第一個版本。

(2)?1997年Servlet技術(shù)與JSP的產(chǎn)生,使Java可以對抗PHP,ASP等服務(wù)器端語言。1998年,Sun發(fā)布了EJB1.0標準,至此J2EE平臺的三個核心技術(shù)都已經(jīng)出現(xiàn)。1999年,Sun正式發(fā)布了J2EE的第一個版本,并于1999年底發(fā)布了J2EE1.2。

(3)在2001年發(fā)布了J2EE1.3架構(gòu),其中主要包含了Applet容器、ApplicationClient容器、Web容器和EJB容器,并且包含了WebComponent、EJBComponent、ApplicationClientComponent,以JMS、JAAS、JAXP、JDBC、JAF、JavaMail、JTA等技術(shù)做為基礎(chǔ)。J2EE1.3中引入了幾個值得注意的功能:Java消息服務(wù)(定義了JMS的一組API);J2EE連接器技術(shù)(定義了擴展J2EE服務(wù)到非J2EE應(yīng)用程序的標準);XML解析器的一組JavaAPI;Servlet2.3,JSP1.2也都進行了性能擴展與優(yōu)化;全新的CMP組件模型和MDB(消息Bean)。

(4)?2003年發(fā)布了J2EE1.4,大體上的框架和J2EE1.3是一致的,1.4增加了對Web服務(wù)的支持,主要是WebService,JAX-RPC,SAAJ,JAXR,還對EJB的消息傳遞機制進行了完善(EJB2.1),部署與管理工具的增強(JMX),以及新版本的Servlet2.4和JSP2.0使得Web應(yīng)用更加容易。

(5)?JavaEE5擁有許多值得關(guān)注的特性,其中之一就是新的JavaStandardTagLibrary(JSTL)1.2規(guī)范。JSTL1.2的關(guān)鍵是統(tǒng)一表達式語言,它允許我們在JavaServerFaces(JSF)中結(jié)合使用JSTL的最佳特性。

(6)?JavaSE6的最終正式版于2006年底發(fā)布,代號Mustang(野馬)。跟Tiger(JavaSE5)相比,Mustang在性能方面有了不錯的提升。與Tiger在API庫方面的大幅度加強相比,雖然Mustang在API庫方面的新特性顯得不太多,但是也提供了許多實用和方便的功能:在腳本,Webservice,XML,編譯器API,數(shù)據(jù)庫,JMX,網(wǎng)絡(luò)和Instrumentation方面都有不錯的新特性和功能加強。

Sun公司針對不同的開發(fā)應(yīng)用設(shè)計了不同版本:

●?J2SE(Java2StandardEdition,標準版),是通常用的一個版本,從JDK5.0開始,改名為JavaSE。

●?J2EE(Java2EnterpriseEdition,企業(yè)版),這種JDK用于開發(fā)J2EE應(yīng)用程序,從JDK5.0開始,改名為JavaEE。

●?J2ME(Java2MicroEdition,微模式版),主要用于移動設(shè)備、嵌入式設(shè)備上的Java應(yīng)用程序開發(fā),從JDK5.0開始,改名為JavaME。11.1.2JDK的安裝

作為Java語言的SDK,普通用戶并不需要安裝JDK來運行Java程序,而只需要安裝JRE(JavaRuntimeEnvironment),程序開發(fā)者則必須安裝JDK以編譯、調(diào)試程序。最新的J2SDK的安裝包,可以從Sun公司網(wǎng)站上下載,以下是J2SDK1.6在Windows環(huán)境下的安裝過程。

首先,在執(zhí)行J2SDK安裝程序,彈出一個位于當前屏幕中心的的小窗口,顯示安裝許可證協(xié)議界面,可以閱讀Sun公司關(guān)于該J2SDK的協(xié)議,如圖11-1所示。圖11-1J2SDK安裝協(xié)議接受安裝協(xié)議后,進入安裝內(nèi)容選擇界面,如圖11-2所示??梢钥吹竭x擇內(nèi)容有兩個部分:一是安裝的目錄,默認在C:\ProgramFiles\Java\?目錄下,可以進行更改;二是安裝的內(nèi)容,如果是要開發(fā)用,必須選擇其中的“開發(fā)工具”,如果僅需要運行,必須選擇其中的“公共JRE”。其余不建議安裝,安裝的幫助可以通過界面右側(cè)的“功能說明”查看。

J2SDK的安裝過程非常簡單和節(jié)省時間,確定安裝內(nèi)容后進入自動安裝過程,大概花費5分鐘時間,安裝結(jié)束。安裝成功則顯示提示界面,如圖11-3所示。圖11-2J2SDK自定義安裝界面圖11-3J2SDK安裝成功界面安裝成功后,可以在指定的安裝路徑中看到目錄結(jié)構(gòu),如圖11-4所示。從該圖中,可以發(fā)現(xiàn)J2SDK可以同時存在多個不同的版本,分別在不同的目錄中。本節(jié)介紹安裝的是J2SDK的1.6.0_16版本,該版本中存在如圖11-4所示的子目錄。其中,bin目錄中存放各類可執(zhí)行程序,include和lib目錄中存放各類開發(fā)類庫包。圖11-4J2SDK安裝目錄結(jié)構(gòu)

JDK包含了一批用于Java開發(fā)的組件,均包含在子目錄bin中,包括:

●?Javac:編譯器,將后綴名為?.java的源代碼編譯成后綴名為?.class的字節(jié)碼。

●?Java:運行工具,運行?.class的字節(jié)碼。

●?Jar:打包工具,將相關(guān)的類文件打包成一個文件。

●?Javadoc:文檔生成器,從源碼注釋中提取文檔,注釋需符合規(guī)范。

●?jdbdebugger:調(diào)試工具。

●?jps:顯示當前Java程序運行的進程狀態(tài)。

●?javap:反編譯程序。●?appletviewer:運行和調(diào)試applet程序的工具,不需要使用瀏覽器。

●?javah:從Java類生成C頭文件和C源文件。這些文件提供了連接方法,使Java和C代碼可進行交互。

●?javaws:運行JNLP程序。

●?extcheck:一個檢測jar包沖突的工具。

●?apt:注釋處理工具。

●?jhat:Java堆分析工具。

●?jstack:棧跟蹤程序。

●?jstat:JVM檢測統(tǒng)計工具。

●?jstatd:jstat守護進程?!?jinfo:獲取正在運行或崩潰的Java程序配置信息。

●?jmap:獲取Java進程內(nèi)存映射信息。

●?idlj:IDL-to-Java編譯器將IDL語言轉(zhuǎn)化為java文件。

●?policytool:一個GUI的策略文件創(chuàng)建和管理工具。

●?jrunscript:命令行腳本運行。

JDK中還包括完整的JRE(JavaRuntimeEnvironment,Java運行環(huán)境,也被稱為PrivateRuntime),包括了用于產(chǎn)品環(huán)境的各種庫類,如基礎(chǔ)類庫rt.jar,以及給開發(fā)人員使用的補充庫,如國際化與本地化的類庫、IDL庫等等?;A(chǔ)的Java編程,常用的類庫包:

●?java.lang:這個是系統(tǒng)的基礎(chǔ)類,比如String等都是這里面的,這個包是唯一一個可以不用引入(import)就可以使用的包。

●?java.io:這里面是所有與輸入/輸出有關(guān)的類,比如文件操作等。

●?java.nio:為了完善io包中的功能,提高io包中性能而寫的一個新包,例如NIO非堵塞應(yīng)用。

●?:這里面是與網(wǎng)絡(luò)有關(guān)的類,比如URL、URLConnection等?!?java.util:這個是系統(tǒng)輔助類,特別是集合類Collection、List、Map等。

●?java.sql:這個是數(shù)據(jù)庫操作的類,如Connection、Statement、ResultSet等。

●?javax.servlet:這個是JSP、Servlet等使用到的類。

安裝J2SDK后,還需要進行一定運行環(huán)境配置。

在Windows系統(tǒng)下,置運行環(huán)境參數(shù):

如果是Windows95/98,在\autoexec.bat的最后面添加如下3行語句:

setJava_HOME=c:\jdk1.6.0_21\

setPATH=%Java_HOME%\bin;%PATH%

setCLASSPATH=.;%Java_HOME%\lib如果是Windows2000、XP或Win7系統(tǒng),使用鼠標右擊“我的電腦”->屬性->高級->環(huán)境變量,所打開界面如圖11-5所示。

系統(tǒng)變量->新建->變量名:Java_HOME變量值:c:\jdk1.6.0_21\

系統(tǒng)變量->新建->變量名:classpath變量值:.;%Java_HOME%\lib

系統(tǒng)變量->編輯->變量名:Path在變量值的最前面加上:%Java_HOME%\bin;圖11-5配置JDK運行環(huán)境變量圖11-6API過期提示在編輯Java程序時,由于JSDK的版本升級原因,在編譯某些例程時,可能會遇到所使用的API類庫過期的提示,即該API類已經(jīng)被更新了,而當前程序中仍然在使用舊的API類,提示信息如圖11-6所示。遇到這種情況,按照提示信息,在命令行模式下,重新編譯程序,將得到詳細的信息。在Windows下,進入CMD模式,執(zhí)行如下命令:

javacSimpleServer.java–Xlint:deprecation

可得到已過期的類或者是方法的提示,如圖11-7所示,說明是IO中DataInputStream類的readLine()方法已經(jīng)過期了,該方法將會在以后的JSDK中被放棄。圖11-7DataInputStream的方法過期提示

11.2JCreator

11.2.1JCreator介紹

JDK的編程環(huán)境要求很低,只需要可以進行文字編輯的軟件工具,類似Windows中提供的文本編輯器即可。

本節(jié)將介紹JCreator。JCreator是一個用于Java程序設(shè)計的集成開發(fā)環(huán)境,具有編輯、調(diào)試、運行Java程序的功能。當前最新版本是JCreator5.00,它又分為LE和Pro版本。LE版本功能上受到一些限制,是免費版本。Pro版本功能最全,但這個版本是一個共享軟件,需要注冊。這個軟件比較小巧,對硬件要求不是很高,完全采用C++?編寫,速度快、效率高。

JCreatorPro版是一款適合于各個Java語言編程開發(fā)人員的IDE工具,具有語法著色、代碼自動完成、代碼參數(shù)提示、工程向?qū)?、類向?qū)У裙δ堋K鼮槭褂谜咛峁┝舜罅繌妱诺墓δ?,例?項目管理、工程模板、代碼完成、調(diào)試接口、高亮語法編輯、使用向?qū)б约巴耆勺远x的用戶界面。

JCreator的特點有:

(1)可無限撤銷、代碼縮進、自動類庫方法提示、按所選智能定位查閱JavaAPI文檔等功能;

(2)新版采用仿VS2005界面設(shè)計,體驗感覺更快更好更易用;

(3)支持JSP、Ant、CVS;

(4)小巧、易用、美觀。

由此可見,JCreator是Java初級程序員的理想IDE。11.2.2JCreator安裝

從JCreator公司下載安裝軟件,當前最新版本是JCreator5.00。執(zhí)行安裝程序,首先進入安裝協(xié)議界面,如圖11-8所示。

選擇接受安裝協(xié)議,進入下一界面,設(shè)置安裝的路徑。默認是在C:\ProgramFiles\XinoxSoftware\JCreator目錄下,可進行更改,如圖11-9所示。圖11-8JCreator安裝協(xié)議界面圖11-9安裝路徑選擇點擊“Next”,即開始自動安裝,JCreator安裝所需要的存儲空間很小,大概11.4MB,在2分鐘之內(nèi)完成安裝。

第一次啟動JCreator時,需要進行一些設(shè)置,如關(guān)聯(lián)編輯的文件,提示設(shè)置JavaJDK主目錄及JDKJavaDoc目錄,軟件自動設(shè)置好類路徑、編譯器及解釋器路徑,還可以在幫助菜單中使用JDKHelp。JCreator可以關(guān)聯(lián)五類文件,包括jcw、jcp、java、jsp、xml等,如圖11-10所示。

接下來設(shè)置編譯程序所需要的JSDK路徑,因為JCreator僅提供一個程序編輯環(huán)境,所以需要連接外部的J2SDK編譯路徑。J2SDK的安裝方法上一節(jié)內(nèi)容中已經(jīng)介紹。如果在計算機上安裝了多個版本的J2SDK,可以通過“Browse”進行選擇,如圖11-11所示。圖11-10關(guān)聯(lián)可編輯的文件類型圖11-11J2SDK環(huán)境設(shè)置編輯環(huán)境安裝完畢,首先利用一個小程序來測試安裝的結(jié)果。選擇“運行”菜單的“File”->“New”選項,在出現(xiàn)的如圖11-12所示的界面中選擇“JavaClasses”->“JavaClass”創(chuàng)建一個新的程序。

單擊“Next”,在出現(xiàn)的如圖11-13所示的界面中輸入新程序的名稱和存儲的路徑。

打開編輯界面,輸入程序,如圖11-14所示。圖11-12選擇新程序的類型圖11-13設(shè)置新程序的名稱和存儲路徑圖11-14測試編輯環(huán)境程序輸入完畢,編輯程序。選擇菜單命令“Build”->“BuildFile”,或者點擊快捷按鈕,執(zhí)行程序編譯。如果程序在錄入時有錯誤,例如:println寫成printl,少了字母n,則顯示錯誤,并指出錯誤所在的程序與行號,如圖11-15所示。圖11-15編譯時錯誤的提示信息如果編譯成功,則顯示“Processcompleted”信息,如圖11-16所示。圖11-16程序編譯成功編譯成功,則生成后綴為.class的二進制文件,就可以執(zhí)行程序。選擇菜單命令“Run”->“RunFiles”或者按快捷按鈕,執(zhí)行程序。運行結(jié)果如圖11-17所示。圖11-17運行結(jié)果圖11.2.3編寫與編譯

J2SDK中所提供的類庫包,只是最基本的類庫包,可以通過引用外部類庫包實現(xiàn)更加復(fù)雜的應(yīng)用。

一般在編譯程序時需要引用外部類庫包,點擊菜單命令“Configure”->“Options”,彈出如圖11-18所示的配置窗口,選擇左側(cè)列表中的“JDKProfiles”,可以查看當前JCreator所配置的J2SDK信息,選擇需要查看內(nèi)容,然后點擊右側(cè)“Edit”按鈕,可顯示類庫包包含的內(nèi)容。圖11-18J2SDK配置情況

以第9章配置連接MySQL數(shù)據(jù)庫所需要的類庫包為例。為了連接MySQL數(shù)據(jù)庫,需要使用MySQL開發(fā)組所提供的連接類庫包,當前可采用mysql-connector-java-5.1.7-bin.jar,將該類庫包加入到J2SDK的編輯環(huán)境中。

在圖11-18中,打開J2SDK的類庫包,可以通過彈出窗口查看配置情況。為了實現(xiàn)對MySQL數(shù)據(jù)庫的訪問,需要在該配置中增加新的類庫包。點擊彈出窗口右側(cè)按鈕“Add”,出現(xiàn)副按鈕,里面有兩個選項:

●?“AddPath”:增加一個路徑,如果一次要增加多個類庫包,且這些包文件保存在同一路徑下,按此方法一次性增加完畢?!?“AddArchive”:增加一個壓縮包。

因為mysql-connector-java-5.1.7-bin.jar是單個文件,所以選擇增加一個壓縮包。打開文件選擇窗口,如圖11-19所示。

選擇返回后,選中的類庫包路徑出現(xiàn)在編譯環(huán)境中,如圖11-20所示。

此時,JCreator就可以正常編譯連接MySQL數(shù)據(jù)庫的Java程序了。圖11-19增加一個類庫包界面圖11-20增加了類庫包的編譯環(huán)境

11.3Wireshark

11.3.1Wireshark介紹

Wireshark(前稱Ethereal)是一個網(wǎng)絡(luò)封包分析軟件。網(wǎng)絡(luò)封包分析軟件的功能是截取網(wǎng)絡(luò)封包,并盡可能顯示出最為詳細的網(wǎng)絡(luò)封包資料。2006年6月,因為商標的問題,Ethereal更名為Wireshark。

網(wǎng)絡(luò)封包分析軟件原來是非常昂貴的,Wireshark的出現(xiàn)改變了這一切。在GNUGPL,GNUGeneralPublicLicense)通用許可證的保障范圍下,使用者可以免費取得Wireshark軟件與其源代碼,并擁有修改其源代碼的權(quán)力。Wireshark是目前全世界使用最廣泛的網(wǎng)絡(luò)封包分析軟件之一。網(wǎng)絡(luò)管理員使用Wireshark來檢測網(wǎng)絡(luò)問題,網(wǎng)絡(luò)安全工程師使用Wireshark來檢查信息安全相關(guān)問題,開發(fā)者使用Wireshark來為新的通信協(xié)定除錯,普通使用者使用Wireshark來學(xué)習(xí)網(wǎng)絡(luò)協(xié)定的相關(guān)知識,當然,也有“居心叵測”的人會用它來尋找一些敏感信息。

Wireshark不是入侵偵測軟件(IntrusionDetectionSoftware,IDS)。對于網(wǎng)絡(luò)上的異常流量行為,Wireshark不會產(chǎn)生警示或是任何提示。Wireshark不會對網(wǎng)絡(luò)封包產(chǎn)生內(nèi)容的修改,它只會反映出目前流通的封包信息。Wireshark本身也不會送出封包至網(wǎng)絡(luò)上。通過仔細分析Wireshark截取的封包能夠幫助使用者對于網(wǎng)絡(luò)行為有更清楚的了解。

使用Wireshark最常見的問題,是使用默認設(shè)置時,可能會得到大量冗余信息,以至于很難從中找到需要的部分。通過設(shè)置數(shù)據(jù)報過濾器,可以幫助我們在龐雜的結(jié)果中迅速找到我們需要的信息。Wireshark提供了兩種類型的過濾器,分別是:●?捕捉過濾器:用于決定將什么樣的信息記錄在捕捉結(jié)果中。該過濾器需要在開始捕捉前設(shè)置。捕捉過濾器是數(shù)據(jù)經(jīng)過的第一層過濾器,它用于控制捕捉數(shù)據(jù)的數(shù)量,以避免產(chǎn)生過大的日志文件。

●?顯示過濾器:在捕捉結(jié)果中進行詳細查找。顯示過濾器是一種更為強大(復(fù)雜)的過濾器,它可以在日志文件中迅速、準確地找到所需要的記錄。11.3.2捕捉過濾器

捕捉過濾器必須在開始捕捉前設(shè)置完畢,設(shè)置捕捉過濾器的步驟是:

(1)選擇capture->options,如圖11-21所示。

填寫“CaptureFilter”欄或者點擊“CaptureFilter”按鈕為過濾器起一個名字并保存,以便在今后的捕捉中繼續(xù)使用這個過濾器,如圖11-22所示。

(2)點擊“Start”進行捕捉。

例如,設(shè)置的捕捉語句如表11-1所示。圖11-21步驟一圖11-22步驟二●?Protocol(協(xié)議):可能的值為ETHER、FDDI、IP、ARP、RARP、DECNET、LAT、SCA、MOPRC、MOPDL、TCPandUDP。如果沒有特別指明是什么協(xié)議,則默認使用所有支持的協(xié)議。

●?Direction(方向):可能的值為src、dst、srcanddst、srcordst。如果沒有特別指明來源或目的地,則默認使用“srcordst”作為關(guān)鍵字。

例如,“host”與“srcordsthost”是一樣的。

●?Host(s):可能的值為net、port、host、portrange。如果沒有指定此值,則默認使用“host”作為關(guān)鍵字。例如,“src”與“srchost”相同。

●?LogicalOperations(邏輯運算):可能的值為not、and、or。否(“not”)具有最高的優(yōu)先級?;?“or”)和與(“and”)具有相同的優(yōu)先級,運算時從左至右進行。

例如,

“nottcpport3128andtcpport23”與“(nottcpport3128)andtcpport23”相同。

“nottcpport3128andtcpport23”與“not(tcpport3128andtcpport23)”不同。

以下為例子:

●?tcpdstport3128:顯示目的TCP端口為3128的封包;●?ipsrchost:顯示來源IP地址為的封包;

●?host:顯示目的或來源IP地址為的封包;

●?srcportrange2000-2500:顯示來源為UDP或TCP,并且端口號在2000至2500范圍內(nèi)的封包;

●?notimcp:顯示除了icmp以外的所有封包(icmp通常被ping工具使用);

●?srchost2andnotdstnet/16:顯示來源IP地址為2,但目的地不是/16的封包;

●?(srchost2orsrcnet/16)andtcpdstportrange200-10000anddstnet/8:顯示來源IP為2或者來源網(wǎng)絡(luò)為/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論