About the Author |
|
xv | |
About the Technical Reviewer |
|
xvii | |
Acknowledgments |
|
xix | |
Preface |
|
xxi | |
|
|
1 | (84) |
|
|
3 | (18) |
|
|
3 | (11) |
|
Working with TinyCalculator |
|
|
14 | (1) |
|
|
14 | (4) |
|
|
18 | (1) |
|
The Relationship Between Code and View |
|
|
19 | (1) |
|
|
20 | (1) |
|
|
21 | (14) |
|
|
21 | (1) |
|
|
22 | (2) |
|
|
24 | (2) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
29 | (4) |
|
|
33 | (1) |
|
|
33 | (2) |
|
Chapter 3 JavaServer Faces |
|
|
35 | (14) |
|
|
36 | (1) |
|
Web vs. Traditional Application |
|
|
36 | (3) |
|
|
39 | (2) |
|
|
41 | (2) |
|
|
43 | (4) |
|
|
47 | (1) |
|
|
48 | (1) |
|
Chapter 4 Expression Language |
|
|
49 | (8) |
|
Unified Expression Language |
|
|
49 | (2) |
|
|
51 | (1) |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
53 | (1) |
|
|
53 | (2) |
|
|
55 | (2) |
|
Chapter 5 HTML-Friendly Markup |
|
|
57 | (4) |
|
HTML-Friendly TinyCalculator |
|
|
57 | (3) |
|
|
60 | (1) |
|
Chapter 6 Configuration Files |
|
|
61 | (8) |
|
|
61 | (1) |
|
|
62 | (2) |
|
|
64 | (1) |
|
|
65 | (1) |
|
|
65 | (1) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
67 | (1) |
|
|
67 | (2) |
|
Chapter 7 Testing with Selenium |
|
|
69 | (14) |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
71 | (9) |
|
Unit Test without Selenium |
|
|
80 | (2) |
|
|
82 | (1) |
|
Chapter 8 TinyCalculator Recap |
|
|
83 | (2) |
|
|
85 | (158) |
|
Chapter 9 Preparing for Java EE 8 |
|
|
87 | (6) |
|
|
87 | (1) |
|
Upgrade the Application Server |
|
|
88 | (2) |
|
|
90 | (1) |
|
|
91 | (2) |
|
Chapter 10 Introducing the Books Application |
|
|
93 | (6) |
|
|
93 | (2) |
|
|
95 | (2) |
|
|
97 | (2) |
|
Chapter 11 Starting the Books App |
|
|
99 | (26) |
|
|
99 | (1) |
|
|
100 | (3) |
|
|
103 | (10) |
|
|
113 | (2) |
|
First Dialog Box (Repeating Structure) |
|
|
115 | (8) |
|
|
123 | (2) |
|
Chapter 12 Java Persistence API |
|
|
125 | (20) |
|
|
125 | (5) |
|
|
130 | (5) |
|
|
135 | (2) |
|
|
137 | (1) |
|
|
137 | (5) |
|
Using the CategoryService/lnjection |
|
|
142 | (2) |
|
|
144 | (1) |
|
Chapter 13 JSF Templating |
|
|
145 | (8) |
|
|
145 | (6) |
|
|
151 | (2) |
|
Chapter 14 Going International |
|
|
153 | (42) |
|
Internationalization and Localization |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (8) |
|
Naive Welcome Page Implementation |
|
|
162 | (2) |
|
Use Paragraphs and <ui:repeat> |
|
|
164 | (2) |
|
|
166 | (2) |
|
|
168 | (1) |
|
Preparing the Administer Area |
|
|
169 | (1) |
|
|
169 | (3) |
|
|
172 | (1) |
|
|
173 | (12) |
|
Enhancing the Category Entity |
|
|
185 | (6) |
|
The Category Translation Page |
|
|
191 | (3) |
|
|
194 | (1) |
|
Chapter 15 Bean Validation |
|
|
195 | (6) |
|
|
196 | (2) |
|
|
198 | (2) |
|
|
200 | (1) |
|
Chapter 16 Contexts and Dependency Injection |
|
|
201 | (10) |
|
|
201 | (3) |
|
|
204 | (1) |
|
Chapter 17: Conversation Scope |
|
|
205 | (1) |
|
|
205 | (4) |
|
|
209 | (1) |
|
Begin and End the Conversation |
|
|
210 | (1) |
|
|
210 | (1) |
|
|
211 | (12) |
|
|
211 | (2) |
|
|
213 | (2) |
|
|
215 | (1) |
|
|
215 | (1) |
|
|
215 | (1) |
|
|
216 | (1) |
|
|
216 | (3) |
|
|
219 | (1) |
|
|
220 | (3) |
|
Chapter 19 Responsive Design |
|
|
223 | (18) |
|
|
223 | (13) |
|
|
236 | (1) |
|
|
237 | (1) |
|
Mobile-First and Desktop-First |
|
|
238 | (1) |
|
|
239 | (2) |
|
Chapter 20 Summary and Perspective |
|
|
241 | (2) |
|
|
243 | (20) |
|
|
245 | (2) |
|
Chapter 22 JSF Lifecycle Revisited |
|
|
247 | (2) |
|
Chapter 23 Repetitive Structures |
|
|
249 | (14) |
|
Tag Handler vs. Component |
|
|
249 | (5) |
|
|
254 | (8) |
|
|
262 | (1) |
|
|
263 | (166) |
|
|
265 | (10) |
|
Preparing the Application |
|
|
265 | (5) |
|
|
270 | (4) |
|
|
274 | (1) |
|
|
275 | (20) |
|
|
275 | (4) |
|
Creating a Customized Message |
|
|
279 | (2) |
|
Details of Customized Messages |
|
|
281 | (1) |
|
|
282 | (1) |
|
|
283 | (1) |
|
|
284 | (1) |
|
Multi-Component Validation |
|
|
285 | (6) |
|
|
291 | (2) |
|
|
293 | (2) |
|
Chapter 26 AJAX Components |
|
|
295 | (6) |
|
Using AJAX for Immediate Feedback |
|
|
295 | (5) |
|
|
300 | (1) |
|
Chapter 27 Building Composite Components |
|
|
301 | (12) |
|
Transform into a Composition |
|
|
301 | (4) |
|
Enable Child Element for the Composition |
|
|
305 | (3) |
|
Pass In Validation Method |
|
|
308 | (2) |
|
Ubiquitous Input Component |
|
|
310 | (2) |
|
|
312 | (1) |
|
Chapter 28 Secure Passwords |
|
|
313 | (6) |
|
|
313 | (1) |
|
Security Issues and Mitigation |
|
|
314 | (2) |
|
|
316 | (1) |
|
|
317 | (2) |
|
|
319 | (12) |
|
|
319 | (3) |
|
|
322 | (2) |
|
|
324 | (5) |
|
|
329 | (2) |
|
Chapter 30 Activation Mail |
|
|
331 | (12) |
|
Config Mail Properties by Code |
|
|
331 | (4) |
|
|
335 | (4) |
|
|
339 | (2) |
|
|
341 | (2) |
|
Chapter 31 Scheduled Tasks |
|
|
343 | (6) |
|
|
343 | (1) |
|
|
344 | (2) |
|
|
346 | (1) |
|
|
347 | (2) |
|
Chapter 32 Authentication and Authorization |
|
|
349 | (30) |
|
|
349 | (2) |
|
Basic Authentication and fileRealm |
|
|
351 | (10) |
|
|
361 | (3) |
|
|
364 | (3) |
|
|
367 | (1) |
|
|
367 | (5) |
|
|
372 | (5) |
|
|
377 | (2) |
|
Chapter 33 Account Handling |
|
|
379 | (10) |
|
|
379 | (2) |
|
|
381 | (6) |
|
|
387 | (1) |
|
|
388 | (1) |
|
Chapter 34 Classroom Chat (WebSockets) |
|
|
389 | (26) |
|
HTTP Protocol and Alternatives |
|
|
390 | (1) |
|
|
391 | (1) |
|
|
392 | (1) |
|
|
393 | (11) |
|
|
404 | (7) |
|
|
411 | (2) |
|
|
413 | (2) |
|
Chapter 35 Changing Look and Feel |
|
|
415 | (10) |
|
|
415 | (1) |
|
Immediately Change the Look and Feel |
|
|
416 | (1) |
|
|
417 | (7) |
|
|
424 | (1) |
|
Chapter 36 Handling Constants |
|
|
425 | (4) |
|
|
425 | (2) |
|
|
427 | (1) |
|
|
427 | (2) |
|
|
429 | (22) |
|
|
429 | (1) |
|
|
430 | (1) |
|
|
430 | (1) |
|
Page and Text Structure, Linking |
|
|
431 | (1) |
|
|
432 | (2) |
|
|
434 | (3) |
|
Tag Completion/Tag Guessing |
|
|
437 | (2) |
|
Appendix B Cascading Style Sheets |
|
|
439 | (12) |
|
|
442 | (1) |
|
|
442 | (1) |
|
|
442 | (1) |
|
|
442 | (1) |
|
|
442 | (1) |
|
|
443 | (2) |
|
|
445 | (1) |
|
|
446 | (3) |
|
|
449 | (2) |
|
|
451 | (12) |
|
|
452 | (1) |
|
|
452 | (3) |
|
|
455 | (3) |
|
|
458 | (1) |
|
Facelet Templating Tag Library |
|
|
458 | (2) |
|
Composite Component Tag Library |
|
|
460 | (1) |
|
|
461 | (1) |
|
JSP Standard Tag Library (JSTL) |
|
|
461 | (1) |
|
|
462 | (1) |
|
Appendix D Programming Style |
|
|
463 | (4) |
|
|
467 | (2) |
Afterword |
|
469 | (2) |
Index |
|
471 | |