Beginning Java Networking
What does this book cover?
- Networking in JDK 1.3 and 1.4
- Network Basics
- Java I/O, Threads
- Java security model, JCA, JAAS, JCE and JSSE
- TCP, UDP, Multicasting
- Java URL handler architecture
- Serialization, RMI, CORBA
- Servlets, JavaMail, JMS
Book Overview
The increasing popularity of the Internet has resulted in the majority of today's programming tasks and applications involving some form of networking. Almost every programming language provides some networking facilities. However, unlike other programming languages, Java had support for network programming built into it right from the start. Java, therefore, allows you to develop powerful network applications with exceptional ease. This book introduces you to the world of Java network programming and takes you far inside it.
The chapters of this book are grouped in five sections. The first section looks at network basics. Java networking preliminaries are then covered in the following section. The third section explores classes that are provided by Java to handle a variety of network tasks. Java API's that are used for distributed network programming are covered in section four. The fifth and final section investigates new networking features and improvements offered by JDK 1.4.
Who is this book for?
Familiarity with networking is not needed for reading this book, but a working knowledge of Java is required. The book, however, does cover core Java classes that are relevant to networking. Both the beginner and the more advanced programmer, therefore, should benefit from this book. By the end of the book, you will have acquired a deep understanding of various network concepts and protocols and developed extensive knowledge of Java APIs that you can use to develop sophisticated network applications.
Summary of Contents
| Introduction | | 1 |
| Chapter 1: | Introduction to Java Networking | 11 |
| Chapter 2: | Network Basics | 25 |
| Chapter 3: | Network Application Models | 47 |
| Chapter 4: | Web Basics | 63 |
| Chapter 5: | Java I/O | 83 |
| Chapter 6: | Threads | 117 |
| Chapter 7: | Java Security Model | 153 |
| Chapter 8: | Internet Addressing and Naming | 191 |
| Chapter 9: | TCP Programming | 217 |
| Chapter 10: | UDP Programming | 263 |
| Chapter 11: | Multicasting | 295 |
| Chapter 12: | Java URL Handler Architecture | 331
| | Chapter 13: | Implementing an HTTP Server | 381 |
| Chapter 14: | Making Network Applications More Secure | 445 |
| Chapter 15: | Object Serialization | 509 |
| Chapter 16: | RMI | 531 |
| Chapter 17: | CORBA | 563 |
| Chapter 18: | Servlets | 605 |
| Chapter 19: | E-mail With JavaMail | 643 |
| Chapter 20: | Messaging with JMS | 689 |
| Chapter 21: | Networking in JDK 1.4 | 723 |
| Appendix A: | Java Network Connectivity Exceptions | 763 |
| Appendix B: | Installing and Configuring Tomcat 4.0 | 777 |
| Index: | | 785 |
Java Security Model
If you are studying Java Networking with an eye on writing networked client software, you should be
acutely aware of the security implications of downloading executable content over the network. A basic
knowledge of the Java security framework can help you to decide when you can trust code, and how to
limit the trust you extend to downloaded code. Should you be planning to write network services, such
as web servers, security is absolutely vital. You should assume that the server will be attacked sooner or
later. Most of the Java preliminaries on network programming have been covered now, but the final
ingredient needed before we can safely embark on it is security.
In this chapter, you will see why Java is exceptionally well suited to writing network-enabled code, and
be shown how the Java security model can help you make it even more secure. You will:
- See why security is important in a heavily networked environment
- Understand the fundamentals of access control as introduced in Java 1.0 and extended in Java 1.1, notably the "sandbox model"
- Sign your code to authenticate it to others and make it tamper-proof
- Understand the Java 2 platform security model which introduces permissions and policies
- Give Java classes specific permissions to access parts of the system using a security policy
- Create your own permissions, and securely grant access to services you provide
- Use the Java 2 security tools
- Although some cryptography terms cannot be avoided, this chapter covers only those that are absolutely necessary. An in-depth treatment of the topic follows later in Chapter 14.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|