古詩詞大全網 - 藝術簽名 - Java網絡編程解決方案目錄

Java網絡編程解決方案目錄

第1章Java網絡編程介紹1

1.1進程間通信1

1.2計算機網絡的概念3

1.3 OSI參考模型5

1.4 TCP/IP參考模型和TCP/IP協議8

1.4.1 IP協議

1.4.2 TCP協議和端口14

RFC 1.4.3 15簡介

1.4.4客戶端/服務器通信模式16

1.5用Java 17編寫客戶/服務器程序

1.5.1創建EchoServer 18

1.5.2創建回聲客戶端20

1.6匯總22

1.7練習23

第2章插座用法的詳細說明25

2.1構造插座25

2.1.1設置等待建立連接的超時時間26

2.1.2設置服務器的地址26

2.1.3設置客戶端的地址27

2.1.4客戶端連接到服務器時可能引發的異常27

2.2獲取插座30的信息

2.3關閉插座32

2.4半封閉插座33

2.5插座38的設置選項

2.5.1 TCP_NODELAY選項38

2.5.2 SO_RESUSEADDR選項38

SO_TIMEOUT選項39

2.5.4 SO_LINGER選項42

SO_RCVBUF選項44

SO_SNDBUF選項45

SO_KEEPALIVE選項45

2 . 5 . 8 OOB line選項45

服務類型選項45

2.5.10設置連接時間、延遲和帶寬的相對重要性46

2.6發送郵件的SMTP客戶端程序47

2.7匯總51

2.8練習52

第3章服務器套接字使用細節55

3.1構造服務器套接字55。

3.1.1綁定端口55

3.1.2設置用戶連接請求隊列的長度56

3.1.3設置綁定的IP地址58

3.1.4默認構造方法的作用58

3.2接收和關閉與客戶的連接59

3.3關閉服務器套接字60。

3.4獲取服務器套接字60的信息

3.5服務器插座選項62

3.5.1 SO_TIMEOUT選項62

3.5.2 SO_REUSEADDR選項63

SO_RCVBUF選項64

3.5.4設置連接時間、延遲和帶寬的相對重要性64

3.6創建多線程服務器65

3.6.1給每個客戶分配壹個線程65。

3.6.2創建線程池67

3.6.3使用JDK類庫72提供的線程池

3.6.4使用線程池的註意事項74

3.7關閉服務器76

3.8摘要80

3.9練習81

第4章無阻塞通信83

4.1線程阻塞的概念83

4.1.1線程阻塞的原因83

4.1.2阻止服務器程序中多線程通信的限制84

4.1.3無阻塞通信的基本思想85

4.2 Java . nio包中的主要類87

4.2.1緩沖器緩沖器88

4.2.2字符編碼字符集90

頻道90

4.2.4可選通道類別92

4.2.5服務器套接字通道類93

93級插座通道

選擇器等級96

4.2.8選擇鍵類別97

4.3服務器編程示例100

4.3.1創建壹個阻塞的EchoServer 100。

4.3.2創建無阻塞的EchoServer 103。

4 . 3 . 3 echo server中混合阻塞模式和非阻塞模式110。

4.4客戶端編程示例114

4.4.1創建阻塞的回聲客戶端114。

4.4.2創建非阻塞EchoClient 116。

4.4.3創建壹個非阻塞PingClient 120。

4.5摘要126

4.6練習127

第5章創建非阻塞HTTP服務器129

5.1 HTTP協議簡介129

5.1.1 HTTP請求格式129

5.1.2 HTTP響應格式132

5.1.3測試HTTP請求133

5.2創建壹個非阻塞的HTTP服務器137

5.2.1服務器主程序:

HttpServer類137

5.2.2帶自動增長緩沖區的ChannelIO類138

5.2.3負責處理各種事件。

處理器接口140

5.2.4負責處理接收連接的準備工作。

事件的AcceptHandler類140。

5.2.5 RequestHandler類141負責接收HTTP請求和發送HTTP響應。

5.2.6表示HTTP請求的請求類143。

5.2.7表示HTTP響應的響應類145。

5.2.8表示響應體的內容接口及其實現類147。

5.2.9運行HTTP服務器149。

5.3匯總150

5.4練習151

第六章客戶端協議處理框架153

6.1客戶端協議處理框架的主要類153

6.2在客戶端程序中使用協議處理框架154

6 . 2 . 1 URL類154的使用

6 . 2 . 2 URL connection類156的使用

6.3實現協議處理框架160

6.3.1創建EchoURLConnection類161

6.3.2創建EchoURLStreamHandler和工廠類162。

6.3.3創建EchoContentHandler類和工廠類163。

6.3.4使用ECHO協議處理EchoClient類中的框架165。

6.4摘要166

6.5練習167

第7章展示了帶有Swing組件的HTML文檔169。

7.1在按鈕和其他組件上顯示HTML文檔170

7.2用JEditorPane組件171創建壹個簡單的瀏覽器。

7.3摘要179

7.4練習179

第8章基於UDP的

數據報和套接字181

8.1 UDP協議簡介181

8.2 DatagramPacket類184

8.2.1選擇數據報大小185。

8.2.2讀取並設置DatagramPacket 185的屬性。

8.2.3數據格式轉換186

8.2.4重復使用DatagramPacket 187

8.3 DatagramSocket類189

8.3.1構造DatagramSocket 189

8.3.2接收和發送數據報190

8.3.3管理連接190

8.3.4關閉DatagramSocket 191。

8 . 3 . 5 datagram套接字選項191

8.3.6 IP服務類型選項193

8.4 DatagramChannel類193

8.4.1創建數據通道194。

8.4.2管理連接194

8.4.3用send()方法發送數據報194。

8.4.4用receive()方法接收數據報195。

8.4.5用write()方法發送數據報198。

8.4.6用read()方法接收數據報199。

8.5多播套接字202

8.5.1多播套接字類205

8.5.2多播套接字207的示例

8.6摘要209

8.7練習210

第9章對象的序列化和反序列化213

9.1 JDK類庫中的序列化API 213

9.2實現可串行化接口218

9.2.1序列化對象圖220

9.2.2控制序列化行為222

9 . 2 . 3 read resolve()方法在singleton類229中的應用

9.3實現外部化接口231

9.4不同版本的可序列化類的序列化兼容性233

9.5摘要235

9.6練習236

第10章Java語言的反射機制239

10.1 Java反射API 239簡介

10.2在遠程方法調用中使用反射機制244

10.3代理模式248

10.3.1靜態代理類248

10.3.2動態代理類250

遠程方法調用中的10.3.3

使用代理類253

10.4匯總258

10.5練習259

第11章RMI框架261

11.1 RMI 262的基本原理

11.2創建第壹個RMI應用264

11.2.1創建遠程接口264

11.2.2創建遠程類265

11.2.3創建服務器程序267

11.2.4創建客戶端程序269

運行RMI應用程序270

11.3遠程對象工廠設計模式272

11.4在遠程方法中傳遞參數和返回值277

11.5回調客戶端的遠程對象281

11.6遠程對象的並發訪問286

11.7分布式垃圾收集289

11.8遠程對象294的equals()、hashCode()和clone()方法

11.9使用安全管理器294

11.10 RMI應用程序的部署和類的動態加載46638.66666666661

11.11遠程激活297

11.12匯總303

11.13練習304

第12章通過JDBC API訪問數據庫305

12.1 JDBC 306的實現原理

12.2安裝和配置MySQL數據庫308

12.3 JDBC API 310簡介

12.4 JDBC API 314基本用法

12.4.1處理字符編碼317的轉換。

12.4.2將連接數據庫的各種屬性放在配置文件318中。

12.4.3管理連接、語句和結果集對象的生命周期321

12.4.4執行SQL腳本326

12.4.5處理SQLException 328

12.4.6輸出JDBC日誌329

12.4.7獲取新插入記錄329的主鍵值

12.4.8設置批量捕獲屬性330

12.4.9檢測驅動程序使用的JDBC版本330。

12.4.10元數據331

12.5可滾動和可更新的結果集333

12.6行集339

12.7調用存儲過程346

12.8處理Blob和Clob數據347

12.9控制交易351

12.9.1交易351的概念

12.9.2聲明事務邊界的概念353

12.9.3在mysql.exe程序中申報交易354

12.9.4通過JDBC API聲明事務邊界356

12.9.5保存點357

12.9.6批量更新358

12.9.7設置事務隔離級別360

12.10數據庫連接池

12.10.1創建連接池

12.10.2數據源數據源369

12.11匯總371

練習372

第13章基於MVC和RMI 375的分布式應用

13.1 MVC設計模式簡介375

13.2店鋪申請簡介377

13.3創建視圖381

13.4創建控制器389

13.5創建型號390

創建獨立的應用程序394

13.7創建分布式應用程序395

13.8匯總398

13.9練習398

第14章通過JavaMail API發送和接收郵件

14.1電子郵件協議簡介

14.1.1 SMTP簡單郵件傳輸協議401

14.1.2 POP3郵局協議402

接收郵件的新協議IMAP 402

14.1.4 MIME 403簡介

14.2 JavaMail API 403簡介

14.3建立JavaMail應用程序的開發環境405

14.3.1獲取JavaMail API 405的類庫。

14.3.2安裝和配置郵件服務器406

14.4創建JavaMail應用程序408

14.5認證412

14.6 URLName類416

14.7創建和閱讀復雜的電子郵件

14.7.1電子郵件地址419

郵件頭420

14.7.3郵件標誌421

14.7.4郵件正文422

14.8操作郵件夾427

14.9摘要432

練習433

第15章安全網絡通信435

15.1 SSL 435簡介

15.1.1加密通信436

15.1.2安全證書436

15.1.3 SSL握手437

15.1.4創建自簽名安全證書438

15.2 JSSE簡介439

15.2.1密鑰庫、密鑰管理器和信任管理器類442

15.2.2 SSLContext class 443

15.2.3 sslserversocket工廠類444

15 . 2 . 4 SSLSocketFactory Class 444

15.2.5不銹鋼444級

15.2.6 SSLServerSocket類447

15 . 2 . 7 SSLEngine 448級

15.3創建基於SSL的安全服務器和安全客戶端453

15.4摘要457

練習題457

第16章CORBA 459簡介

16.1創建IDL接口460

16.2創建IDL接口實現類460

16.3創建服務器程序461

16.4創建客戶端程序462

16.5運行CORBA程序463

16.6摘要464

練習題465

第17章Web服務簡介467

17.1肥皂467簡介

17.2建立Apache AXIS環境469

17.3在Tomcat上發布

Apache-AXIS Web應用程序470

17.4創建SOAP服務471

17.4.1創建並提供SOAP。

Java服務等級471

17.4.2創建SOAP服務

發布描述符文件471

17.5管理SOAP服務472

17.5.1發布SOAP服務472

17.5.2刪除SOAP服務

17.6創建和運行SOAP

客戶端程序473

17.7發布JWS服務476

17.8匯總476

17.9練習477

附錄A如何運行本書的示例479

A.1本書使用的軟件下載地址479

A.2軟件安裝的壹部分479

A.2.1安裝JDK 480

A.2.2安裝ANT 480

A.2.3安裝Tomcat 481

A.3編譯源代碼481

A.4運行客戶/服務器程序482