The first edition of this book was released in November 2007.
Some years later, Apress asked me whether I would have liked to write a second edition of the book. My reply was that not enough had changed to warrant an update.
Then, in early 2012, they asked me again. In the meanwhile, JSF had added three new libraries of elements and Java 7 SE had been released. Michael Sekler, who had contributed to the first edition, agreed that I would go alone with the second edition.
I said yes.
It took me five months to change the structure of the first edition, update and add functionality and examples, etc., but it was worthwhile.
You might be wondering why it took so long. After all, most of the material for the second edition came from the first one, right? Not really. The problem with writing computer books is that you cannot simply write your stuff and be done with it. You have to write examples for most of what you say, and this adds a whole new dimension to writing. You have to write the examples in the tightest possible way, because thousands of smart people will pore over them. No slacking off in either format or content. Not even one superfluous or missing tab.
And then, once you have designed and written your examples, you have to test them in the most thorough way. This also applies to the examples you have from a previous edition. You see, in computing everything keeps changing. Therefore, one example that was working flawlessly a couple of years ago, even if it doesn't fail (thanks to back compatibility), it will generate a lot of warning
messages during compilation. And a professional developer doesn't want his/her code even to generate a single warning!
For web applications, you have to test your examples with all major web browsers (Internet Explorer, Google Chrome, Firefox, and Opera). This often leads to changes that have to be retested again from scratch.
Once you are happy with your examples, you need to integrate them into the text of the book and explain them in enough detail for the reader to make full sense of them. And sometimes the lines of code don't fit into the printed page...
And don't think that the work is done once you send the chapter off to the publisher, because technical and scientific books are different from novels and most non-fiction books: before going through copy-edit, they are technically reviewed. And although if you have been exemplary with your coding, debugging, and documenting, the TR (Technical Reviewer) might come up with points you had not considered, or points you had considered and discarded without mentioning them in the chapter. Even if you avoid having to rework the examples, you will have at the very least to explain your choices...
Some years later, Apress asked me whether I would have liked to write a second edition of the book. My reply was that not enough had changed to warrant an update.
Then, in early 2012, they asked me again. In the meanwhile, JSF had added three new libraries of elements and Java 7 SE had been released. Michael Sekler, who had contributed to the first edition, agreed that I would go alone with the second edition.
I said yes.
It took me five months to change the structure of the first edition, update and add functionality and examples, etc., but it was worthwhile.
You might be wondering why it took so long. After all, most of the material for the second edition came from the first one, right? Not really. The problem with writing computer books is that you cannot simply write your stuff and be done with it. You have to write examples for most of what you say, and this adds a whole new dimension to writing. You have to write the examples in the tightest possible way, because thousands of smart people will pore over them. No slacking off in either format or content. Not even one superfluous or missing tab.
And then, once you have designed and written your examples, you have to test them in the most thorough way. This also applies to the examples you have from a previous edition. You see, in computing everything keeps changing. Therefore, one example that was working flawlessly a couple of years ago, even if it doesn't fail (thanks to back compatibility), it will generate a lot of warning
messages during compilation. And a professional developer doesn't want his/her code even to generate a single warning!
For web applications, you have to test your examples with all major web browsers (Internet Explorer, Google Chrome, Firefox, and Opera). This often leads to changes that have to be retested again from scratch.
Once you are happy with your examples, you need to integrate them into the text of the book and explain them in enough detail for the reader to make full sense of them. And sometimes the lines of code don't fit into the printed page...
And don't think that the work is done once you send the chapter off to the publisher, because technical and scientific books are different from novels and most non-fiction books: before going through copy-edit, they are technically reviewed. And although if you have been exemplary with your coding, debugging, and documenting, the TR (Technical Reviewer) might come up with points you had not considered, or points you had considered and discarded without mentioning them in the chapter. Even if you avoid having to rework the examples, you will have at the very least to explain your choices...
One of the readers of the first
edition complained that it contained not enough material on JSF. In
this second edition I did something about it: in the first edition, I
had devoted to JSF a chapter plus a quick-reference appendix; in the
new edition, I dropped the quick reference and added a second chapter
to the main body of the book. By doing so, I added quite a bit of
practical information on JSF, because much of the quick reference
appendix consisted of a list of elements that you can already find
explained in several web sites.
Another complaint about the first
edition was that it included too many appendices and too much
extraneous material. Well, there were as many appendices as chapters!
I had done it for two main reasons: I wanted to keep the main body
of the book uncluttered but I still wanted to provide information on
everything needed to write a dynamic web page. The resulting table
of contents was as follows:
CHAPTER 1 | Introducing JavaServer Pages and Tomcat |
CHAPTER 2 | JSP Explained |
CHAPTER 3 | The Web Page |
CHAPTER 4 | Databases |
CHAPTER 5 | At Face Value (JSF Primer) |
CHAPTER 6 | Communicating with XML |
CHAPTER 7 | Tomcat 6 |
CHAPTER 8 | Eshop |
APPENDIX A | Installing Everything |
APPENDIX B | HTML Characters |
APPENDIX C | HTML Reference |
APPENDIX D | JSP Reference |
APPENDIX E | SQL Quick Reference |
APPENDIX F | JSF Quick Reference |
APPENDIX G | Eclipse |
APPENDIX H | Abbreviations and Acronyms |
And here is the new table of contents:
CHAPTER 1 | Introducing JSP and Tomcat |
CHAPTER 2 | JSP Elements |
CHAPTER 3 | JSP Application Architectures |
CHAPTER 4 | JSP in Action |
CHAPTER 5 | XML and JSP |
CHAPTER 6 | JSP and Databases |
CHAPTER 7 | JSF 2.2 |
CHAPTER 8 | JSF and eshop |
CHAPTER 9 | Tomcat 7 |
CHAPTER 10 | Eshop |
APPENDIX A | The Web Page |
APPENDIX B | SQL |
APPENDIX C | Abbreviations and Acronyms |
I eliminated the appendices on JSP,
JSF, and Eclipse by merging their contents into the main body of the
book. Then, I made the appendix on package installation disappear by
explaining how to install all necessary packages as they became
necessary. Finally, I dropped the appendix on HTML characters and
told everything I wanted to say about HTML and SQL in the two
remaining appendices. The result is a much better book in which the
chapters are clearly focussed and that you can read with less
flipping forth and back.
What are you waiting for? Buy it!
This comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteI deleted the previous three comments because I don't want to have advertisements on my blog.
ReplyDelete