In JavaServer Pages 2.0, Sun has added new features that make it even easier to create dynamic, interactive Web pages in Java. These include a built-in expression language and a library of tags (the JSP Standard Tag Library) that facilitate creation of pages.
Sams Teach Yourself JavaServer Pages 2.0 in 24 Hours starts with the basics of JSP, and explains the expression language, JSTL, creating new tags and more. Each lesson builds on the previous one, giving you a full picture of JSP development. Later chapters describe how to incorporate XML, interface with larger Java applications, work with popular frameworks such as Struts, and more. The book includes Apache Tomcat, Sun's reference implementation of JSP, so you can start developing applications immediately.
About the Author
Mark Wutka has been programming since the Carter administration and considers programming to be a relaxing pastime. He managed to get a computer science degree while designing and developing networking software for Delta Airlines. Although he has been known to delve into areas of system and application architecture, he isn't happy unless he's writing code . . . usually in Java.
As a consultant for Wutka Consulting, Mark enjoys solving interesting technical problems and helping his coworkers explore new technologies. He has taught classes, written articles and books, and given lectures. His first book, Hacking Java, outsold Stephen King at the local technical bookstore. He's also known for having a warped sense of humor.
He plays a mean game of Scrabble and a lousy game of chess, and he is the bane of every greenskeeper east of Atlanta. He is also a women's gymnastics judge.
He can be reached via e-mail at email@example.com. You can also visit his company Web site at http://www.wutka.com.
Alan Moffet is a consultant with over 20 years of experience in software development and management. He specializes in software architecture and design, and development practice. His work has focused on applying emerging technologies, updating legacy systems, and improving organizational effectiveness. His programming experience includes a variety of systems and programming languages. He began to work with Java professionally while it was a beta product and continues to follow its development and use it in his projects. He is a member of the JCP.
Kunal Mittal is a consultant for implementation and strategy for WebServices and Services Oriented Architectures. He has co-authored and contributed to several books on Java, WebLogic, and Web Services. Over the past several years, Kunal has worked on numerous projects using different BEA products ranging from WebLogic Server 4.5 to 8.1, BEA Portal, BEA Integration, Liquid Data for WebLogic and WebLogic Workshop. His projects have ranged in verticals such as Finance, Real-Estate, Supply Chain, Broadband, Entertainment, and ISV's in the Web Services space.
Table of Contents
Who Should Read This Book. How This Book Is Organized. In Every Hour. Conventions Used in This Book. Apache Tomcat.
Hour 1. Getting Started with JavaServer Pages.
A “Hello World” JavaServer Page. Using the <% %> Tags in a JavaServer Page. Displaying a Value with <%= %>. Inserting Comments. Declaring Methods and Variables with <%!%>. Handling Multiple Threads in a JSP. Summary. Q&A. Workshop.
Hour 2. JavaServer Pages Behind the Scenes.
Introducing Servlets. A “Hello World” Servlet. Using the invoker to Run a Servlet. Packaging, Deploying, and Running a Servlet. The Anatomy of a Servlet. Sending a Response to the Browser. The HttpServlet Class. Choosing Between JavaServer Pages and Servlets. Summary. Q&A. Workshop.
Hour 3. Creating HTML Forms.
A Simple HTML Form. Using the request Object. Retrieving Form Variables in a Servlet. Different Ways to Do Forms. Summary. Q&A. Workshop.
Hour 4. How the Browser Interacts with the Server.
The Hypertext Transfer Protocol. Common Request Headers. Common Response Headers. The HTTP POST Command. GET versus POST. HTTPS: Secure HTTP. Summary. Q&A. Workshop.
5. JSP and Servlet Lifecycles.
Servlet Lifecycle. JavaServer Page Lifecycle. Reloading Other Classes. Application Lifecycle Events. Summary. Q&A. Workshop.
Hour 6. Looking Under the Hood–Core Servlet Components.
The ServletRequest Class. The HttpServletRequest Class. The ServletContext Class. The ServletResponse Class. The HttpServletResponse Class. The ServletInputStream Class. The ServletOutputStream Class. The HttpSession Class. The Cookie Class. Creating a New Cookie. Summary. Q&A. Workshop.
Hour 7. Servlet Filters.
The Filter Interface. An Example Filter–JSP/Servlet Timings. An Example Filter–Session Logging. Summary. Q&A. Workshop.
Hour 8. Core JavaServer Page Components.
Built-in JSP Objects. The JspWriter Class. Working with the pageContext Object. The JspEngineInfo Class. Summary. Q&A. Workshop.
Hour 9. JSP Directives.
An Overview of JSP Directives. The page Directive. The include Directive. The taglib Directive. Summary. Q&A. Workshop.
Hour 10. Using JSP Standard Actions to Organize Your Web Application.
Including Other Files. Forwarding to Another Page. Passing Java Objects Between JSPs and Servlets. Making Your Application More Modular. Using an Applet in Your Form. Summary. Q&A. Workshop.
11. Debugging and Error Handling.
Why Debugging Is Tough. Compile Versus Runtime Errors. Using Log Files to Debug an Application. Using a Debugger. Error Handling. Summary. Q&A. Workshop.
12. Saving Data Between Requests.
Storing Data in Hidden Form Variables. Storing Data in a session Object. How Sessions Work. Forcing a New Session. Handling Session Termination. Handling Sessions Without Cookies. Storing Application-Wide Data. Summary. Q&A. Workshop.
Hour 13. More About Saving Data.
Using Sessions to Save Data in a Shopping Cart Application. Storing Data in a Cookie. Q&A. Workshop.
Hour 14. Interacting with JavaBeans.
The jsp:useBean Action. A Bean-Based Web Application. Summary. Q&A. Workshop.
Hour 15. The JSP Expression Language.
Basic Syntax. Variables. Literals and Operators. Implicit Objects. Functions. Q&A. Workshop.
Hour 16. Extending JSP with New Tags.
“Hello World” Tag. Packaging and Installing a Tag. Conditionally Including the Body of a Custom Tag. Processing Body Content with a Custom Tag. Handling Exceptions. Accessing Tag Attributes. Using Dynamic Attributes. Adding Scripting Variables. The JSP 2.0 SimpleTag Interface. Tag Files–Tag Extensions Without Java. Tag File Directives. Summary. Q&A. Workshop.
Hour 17. The JSP Standard Tag Library.
Installing and Using JSTL. Core Tag Library. Functions. Q&A. Workshop.
Hour 18. Working with Databases and JSTL Database Actions.
A Brief Overview of Databases. What Is SQL? Getting Started with Cloudscape. What Is JDBC? Using JDBC from JavaServer Pages and Servlets. JSTL SQL Tag Library. Summary. Q&A. Workshop.
Hour 19. Creating an XML Application.
A “Hello World” XML Page. A Few Simple Rules for XML. Why Use XML with JSP and Servlets? XML Tag Library. Summary. Q&A. Workshop.
Hour 20. Building Web Applications with JavaServer Pages and Servlets.
Web Application Architecture. The Model 1 and Model 2 Architectures. Using Model-View-Controller in Your Web Applications. Calling Multiple Controllers and Views. Summary. Q&A. Workshop.
Hour 21. Using Struts and JavaServer Faces.
An Overview of Struts. Setting Up Struts. An Overview of JavaServer Faces (JSF). Summary. Q&A. Workshop.
Hour 22. Internationalization.
Setting the Page Encoding. Detecting the Browser's Preferred Locale. Using Locale-Based Text Formatters. Using Resource Bundles in Web Pages. The Format Tag Library. Summary. Q&A. Workshop.
Hour 23. Security.
Role-Based Security. BASIC Authentication. Creating a Custom Login Form. Checking Security Roles Programmatically. Using Client Certificates for Authentication. Summary. Q&A. Workshop.
Hour 24. Performance.
Buffering Pages to Improve Performance. Use Static Content Where Possible. Caching Objects to Reduce Setup Time. Choosing the Right Session Mechanism. Precompiling JSPs. Setting the JSP Reload Time. Simple Java Optimizations. Making JSPs and Servlets Thread-Safe. Using Thread Pools. Summary. Q&A. Workshop. Appendixes.