This book is about web application development with Java technology. It discusses the principles and fundamentals of current web applications, with a focus on the Free Open Source Software (FOSS) available for web development. Java, Java EE, Servlets, JSP, EJB, Apache, Tomcat, MySQL, Java XML, Java Script, and NetBeans IDE are used for all examples and practice labs given in the book. Hands-on programming practice is emphasized, and readers will learn how to develop web enterprise applications with Java technology, including design, programming, and deployment, and how to build and configure a web server and application server.

 There are not many textbooks on Java web server site development graduate level in Java web server enterprise application development.

This book provides in-depth material on web application development and intends to introduce web enterprise application development to students majoring in computer science, software engineering, information technology as well as professional Java web developers working today. We assume that readers are familiar with the Java programming language and HTML basics. While this book has an emphasis on web development principles, methods, and techniques, any reader interested in web server enterprise development will find this book useful. Readers can expect to gain comprehensive knowledge necessary for Java web component software development. 

Great effort has been made to help readers understand and master web enterprise development techniques. With that in mind, we begin by introducing web application design and development by open source Java web development software. Students can easily set up all labs on their own machines. The book can be used as a one-semester textbook for undergraduate study in information technology, information systems, and computer science. It can also be used for first-year graduate students in related fields.

At the beginning of each chapter the main objectives of the chapter are given, and we explain potential problem areas you might encounter during the design and development of web applications. At the end of each chapter, the summary provides an overview of the material presented, and the Chapter Review questions given are designed to further your understanding of the concepts covered in the chapter (the answers to review questions are given as well). The Exercises and Labs given in each chapter are an integral part of the book and provide the hands-on learning needed to further your knowledge. 

In addition to the above, a supplementary website is provided, which contains all examples, lab project guidelines, software packages, and developing tools used in this book. The figures given in the book are also available online. 

Author's Name - Dan Chia-Tien Lo Kai Qian


This book is written to be used for a one-semester introductory curriculum for undergraduate Computer Organization and Architecture, graduate transition in Computer Architecture, or for those who want to study computer systems from practical perspectives. It employs a learn-by-doing-it pedagogical model to convey fundamental computer system concepts. A low-cost MPS 430 device is used for assignments, labs, and projects to gain hands-on experience on top of breadboard prototyping and Xilinx ISE schematic design. The 4th edition revises homework assignments and labs due to the merge of Southern Polytechnic State University and Kennesaw State University. After fully an understanding on the MSP 430 architecture, readers would be able to apply the fundamental concepts to other processor architectures, and be productive in virtually any platform. An 8051 lab (lab 11) is designed in that regard. Sample tests, assignments, and labs are appended at the end of this book. Exercises are also included at the end of a section wherever appropriate. The content covers materials recommended by the ACM computer science curriculum committee such as instruction set architecture, computer organization or microarchitecture, and system architecture. A big portion of this book is dedicated to logic design and assembly programming in light of those important topics being combined in computer architecture course in most of the universities.