{"product_id":"professional-java-for-web-applications-paperback-softback-9781118656464","title":"Professional Java for Web Applications (Paperback \/ softback) 9781118656464","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eProfessional Java for Web Applications\u003c\/font\u003e\u003cbr\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003c\/p\u003e\n\u003cp\u003e\u003cfont size=\"4\"\u003eNicholas S. Williams (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781118656464, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003ePaperback \/ softback, published 4 April 2014\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e944 pages\u003cbr\u003e23.4 x 18.8 x 5.1 cm, 1.588 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cp\u003e\u003cb\u003eThe comprehensive Wrox guide for creating Java web applications for the enterprise\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThis guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment. You'll begin with an introduction to the Java Enterprise Edition and the basic web application, then set up a development application server environment, learn about the tools used in the development process, and explore numerous Java technologies and practices. The book covers industry-standard tools and technologies, specific technologies, and underlying programming concepts.\u003c\/p\u003e \u003cul\u003e \u003cli\u003eJava is an essential programming language used worldwide for both Android app development and enterprise-level corporate solutions\u003c\/li\u003e \u003cli\u003eAs a step-by-step guide or a general reference, this book provides an all-in-one Java development solution\u003c\/li\u003e \u003cli\u003eExplains Java Enterprise Edition 7 and the basic web application, how to set up a development application server environment, which tools are needed during the development process, and how to apply various Java technologies\u003c\/li\u003e \u003cli\u003eCovers new language features in Java 8, such as Lambda Expressions, and the new Java 8 Date \u0026amp; Time API introduced as part of JSR 310, replacing the legacy Date and Calendar APIs\u003c\/li\u003e \u003cli\u003eDemonstrates the new, fully-duplex WebSocket web connection technology and its support in Java EE 7, allowing the reader to create rich, truly interactive web applications that can push updated data to the client automatically\u003c\/li\u003e \u003cli\u003eInstructs the reader in the configuration and use of Log4j 2.0, Spring Framework 4 (including Spring Web MVC), Hibernate Validator, RabbitMQ, Hibernate ORM, Spring Data, Hibernate Search, and Spring Security\u003c\/li\u003e \u003cli\u003eCovers application logging, JSR 340 Servlet API 3.1, JSR 245 JavaServer Pages (JSP) 2.3 (including custom tag libraries), JSR 341 Expression Language 3.0, JSR 356 WebSocket API 1.0, JSR 303\/349 Bean Validation 1.1, JSR 317\/338 Java Persistence API (JPA) 2.1, full-text searching with JPA, RESTful and SOAP web services, Advanced Message Queuing Protocol (AMQP), and OAuth\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003e\u003ci\u003eProfessional Java for Web Applications\u003c\/i\u003e is the complete Wrox guide for software developers who are familiar with Java and who are ready to build high-level enterprise Java web applications.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eIntroduction xxiii\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I: Creating Enterprise Applications\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1: Introducing Java Platform, Enterprise Edition 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eA Timeline of Java Platforms 3\u003c\/p\u003e \u003cp\u003eUnderstanding the Basic Web Application Structure 13\u003c\/p\u003e \u003cp\u003eSummary 18\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2: Using Web Containers 19\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChoosing a Web Container 19\u003c\/p\u003e \u003cp\u003eInstalling Tomcat on Your Machine 23\u003c\/p\u003e \u003cp\u003eDeploying and Undeploying Applications in Tomcat 27\u003c\/p\u003e \u003cp\u003eDebugging Tomcat from Your IDE 30\u003c\/p\u003e \u003cp\u003eSummary 39\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3: Writing Your First Servlet 41\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eCreating a Servlet Class 42\u003c\/p\u003e \u003cp\u003eConfiguring a Servlet for Deployment 46\u003c\/p\u003e \u003cp\u003eUnderstanding doGet(), doPost(), and Other Methods 51\u003c\/p\u003e \u003cp\u003eUsing Parameters and Accepting Form Submissions 56\u003c\/p\u003e \u003cp\u003eConfiguring your Application Using Init Parameters 61\u003c\/p\u003e \u003cp\u003eUploading Files from a Form 64\u003c\/p\u003e \u003cp\u003eMaking Your Application Safe for Multithreading 69\u003c\/p\u003e \u003cp\u003eSummary 71\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4: Using JSPs to Di splay Content 73\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cbr\u003e is Easier Than output.println(“\u003cbr\u003e”) 74\u003c\/p\u003e \u003cp\u003eCreating Your First JSP 78\u003c\/p\u003e \u003cp\u003eUsing Java within a JSP (and Why You Shouldn’t!) 88\u003c\/p\u003e \u003cp\u003eCombining Servlets and JSPs 94\u003c\/p\u003e \u003cp\u003eA Note about JSP Documents (JSPX) 102\u003c\/p\u003e \u003cp\u003eSummary 104\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5: Maintaining State Using Sessions 105\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Why Sessions are Necessary 106\u003c\/p\u003e \u003cp\u003eUsing Session Cookies and URL Rewriting 107\u003c\/p\u003e \u003cp\u003eStoring Data in a Session 116\u003c\/p\u003e \u003cp\u003eApplying Sessions Usefully 129\u003c\/p\u003e \u003cp\u003eClustering an Application That Uses Sessions 139\u003c\/p\u003e \u003cp\u003eSummary 142\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6: U sing the Expression Language in JSPs 143\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Expression Language 144\u003c\/p\u003e \u003cp\u003eWriting with the EL Syntax 147\u003c\/p\u003e \u003cp\u003eUsing Scoped Variables in EL Expressions 160\u003c\/p\u003e \u003cp\u003eAccessing Collections with the Stream API 167\u003c\/p\u003e \u003cp\u003eReplacing Java Code with Expression Language 172\u003c\/p\u003e \u003cp\u003eSummary 175\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7: U sing the Java Standard Tag Library 177\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eIntroducing JSP Tags and the JSTL 178\u003c\/p\u003e \u003cp\u003eUsing the Core Tag Library (C Namespace) 182\u003c\/p\u003e \u003cp\u003eUsing the Internationalization and Formatting Tag Library (FMT Namespace) 193\u003c\/p\u003e \u003cp\u003eUsing the Database Access Tag Library (SQL Namespace) 203\u003c\/p\u003e \u003cp\u003eUsing the XML Processing Tag Library (X Namespace) 205\u003c\/p\u003e \u003cp\u003eReplacing Java Code with JSP Tags 205\u003c\/p\u003e \u003cp\u003eSummary 208\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8: Writing Custom Tag and Function Libraries 209\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding TLDs, Tag Files, and Tag Handlers 210\u003c\/p\u003e \u003cp\u003eCreating Your First Tag File to Serve as an HTML Template 219\u003c\/p\u003e \u003cp\u003eCreating a More Useful Date Formatting Tag Handler 221\u003c\/p\u003e \u003cp\u003eCreating an EL Function to Abbreviate Strings 226\u003c\/p\u003e \u003cp\u003eReplacing Java Code with Custom JSP Tags 227\u003c\/p\u003e \u003cp\u003eSummary 232\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9: Improving Your Application Using Filters 233\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding the Purpose of Filters 234\u003c\/p\u003e \u003cp\u003eCreating, Declaring, and Mapping Filters 235\u003c\/p\u003e \u003cp\u003eOrdering Your Filters Properly 239\u003c\/p\u003e \u003cp\u003eInvestigating Practical Uses for Filters 247\u003c\/p\u003e \u003cp\u003eSimplifying Authentication with a Filter 254\u003c\/p\u003e \u003cp\u003eSummary 255\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10: Making Your Application Interactive with WebSockets 257\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eEvolution: From Ajax to WebSockets 258\u003c\/p\u003e \u003cp\u003eUnderstanding the WebSocket APIs 268\u003c\/p\u003e \u003cp\u003eCreating Multiplayer Games with WebSockets 273\u003c\/p\u003e \u003cp\u003eUsing WebSockets to Communicate in a Cluster 284\u003c\/p\u003e \u003cp\u003eAdding “Chat with Support” to the Customer Support Application 288\u003c\/p\u003e \u003cp\u003eSummary 296\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11: Using Logging to Monitor Your Application 297\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding the Concepts of Logging 298\u003c\/p\u003e \u003cp\u003eUsing Logging Levels and Categories 303\u003c\/p\u003e \u003cp\u003eChoosing a Logging Framework 305\u003c\/p\u003e \u003cp\u003eIntegrating Logging into Your Application 312\u003c\/p\u003e \u003cp\u003eSummary 320\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II: Adding Spring Framework Into the Mix\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12: Introducing Spring Framework 323\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat is Spring Framework? 324\u003c\/p\u003e \u003cp\u003eWhy Spring Framework? 326\u003c\/p\u003e \u003cp\u003eUnderstanding Application Contexts 327\u003c\/p\u003e \u003cp\u003eBootstrapping Spring Framework 329\u003c\/p\u003e \u003cp\u003eConfiguring Spring Framework 336\u003c\/p\u003e \u003cp\u003eUtilizing Bean Definition Profiles 349\u003c\/p\u003e \u003cp\u003eSummary 353\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 13: Replacing Your Servlets with Controllers 355\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding @RequestMapping 356\u003c\/p\u003e \u003cp\u003eUsing Spring Framework’s Model and View Pattern 370\u003c\/p\u003e \u003cp\u003eMaking Your Life Easier with Form Objects 380\u003c\/p\u003e \u003cp\u003eUpdating the Customer Support Application 384\u003c\/p\u003e \u003cp\u003eSummary 387\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 14: Using Services and Repositories to Support Your Controllers 389\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Model-View-Controller Plus Controller-Service-Repository 390\u003c\/p\u003e \u003cp\u003eUsing the Root Application Context Instead of a Web Application Context 394\u003c\/p\u003e \u003cp\u003eImproving Services with Asynchronous and Scheduled Execution 404\u003c\/p\u003e \u003cp\u003eApplying Logic Layer Separation to WebSockets 409\u003c\/p\u003e \u003cp\u003eSummary 416\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 15: Internationalizing Your Application with Spring Framework i18n 417\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhy Do You Need Spring Framework i18n? 418\u003c\/p\u003e \u003cp\u003eUsing the Basic Internationalization and Localization APIs 419\u003c\/p\u003e \u003cp\u003eConfiguring Internationalization in Spring Framework 424\u003c\/p\u003e \u003cp\u003eInternationalizing Your Code 430\u003c\/p\u003e \u003cp\u003eSummary 440\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 16: Using JSR 349, Spring Framework, and Hibernate Validator for Bean Validation 441\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat is Bean Validation? 442\u003c\/p\u003e \u003cp\u003eConfiguring Validation in the Spring Framework Container 445\u003c\/p\u003e \u003cp\u003eAdding Constraint Validation Annotations to Your Beans 450\u003c\/p\u003e \u003cp\u003eConfiguring Spring Beans for Method Validation 458\u003c\/p\u003e \u003cp\u003eWriting Your Own Validation Constraints 466\u003c\/p\u003e \u003cp\u003eIntegrating Validation in the Customer Support Application 470\u003c\/p\u003e \u003cp\u003eSummary 472\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 17: Creating RESTful and SOAP Web Services 473\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Web Services 474\u003c\/p\u003e \u003cp\u003eConfiguring RESTful Web Services with Spring MVC 484\u003c\/p\u003e \u003cp\u003eTesting Your Web Service Endpoints 496\u003c\/p\u003e \u003cp\u003eUsing Spring Web Services for SOAP 500\u003c\/p\u003e \u003cp\u003eSummary 508\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 18: Using Messaging and Clustering for Flexibility and Reliability 509\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eRecognizing When You Need Messaging and Clustering 510\u003c\/p\u003e \u003cp\u003eAdding Messaging Support to your Application 520\u003c\/p\u003e \u003cp\u003eMaking your Messaging Distributable Across a Cluster 525\u003c\/p\u003e \u003cp\u003eDistributing Events with AMQP 534\u003c\/p\u003e \u003cp\u003eSummary 540\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart III: Persisting Data with JPA and Hibernate ORM \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 19: Introducing Java Persistence API and Hibernate ORM 543\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat is Data Persistence? 543\u003c\/p\u003e \u003cp\u003eWhat is an Object-Relational Mapper? 547\u003c\/p\u003e \u003cp\u003eA Brief Look at Hibernate ORM 552\u003c\/p\u003e \u003cp\u003ePreparing a Relational Database 559\u003c\/p\u003e \u003cp\u003eA Note About Maven Dependencies 564\u003c\/p\u003e \u003cp\u003eSummary 564\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 20: Mapping Entities to Tables with JPA Annotations 565\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eGetting Started with Simple Entities 566\u003c\/p\u003e \u003cp\u003eCreating and Using a Persistence Unit 581\u003c\/p\u003e \u003cp\u003eMapping Complex Data Types 590\u003c\/p\u003e \u003cp\u003eSummary 596\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 21: Using JPA in Spring Framework Repositories 597\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUsing Spring Repositories and Transactions 598\u003c\/p\u003e \u003cp\u003eConfiguring Persistence in Spring Framework 602\u003c\/p\u003e \u003cp\u003eCreating and Using JPA Repositories 610\u003c\/p\u003e \u003cp\u003eConverting Data with DTOs and Entities 624\u003c\/p\u003e \u003cp\u003eSummary 632\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 22: Eliminating Boilerplate Repositories with Spring Data JPA 633\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Spring Data’s Unified Data Access 634\u003c\/p\u003e \u003cp\u003eConfiguring and Creating Spring Data JPA Repositories 646\u003c\/p\u003e \u003cp\u003eRefactoring the Customer Support Application 656\u003c\/p\u003e \u003cp\u003eSummary 661\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 23: Searching for Data with JPA and Hibernate Search 663\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAn Introduction to Searching 664\u003c\/p\u003e \u003cp\u003eUsing Advanced Criteria to Locate Objects 666\u003c\/p\u003e \u003cp\u003eTaking Advantage of Full-Text Indexes with JPA 676\u003c\/p\u003e \u003cp\u003eIndexing Any Data with Apache Lucene and Hibernate Search 684\u003c\/p\u003e \u003cp\u003eSummary 692\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 24: Creating Advanced Mappings and Custom Data Types 693\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat’s Left? 694\u003c\/p\u003e \u003cp\u003eConverting Nonstandard Data Types 695\u003c\/p\u003e \u003cp\u003eEmbedding POJOs Within Entities 699\u003c\/p\u003e \u003cp\u003eDefining Relationships Between Entities 703\u003c\/p\u003e \u003cp\u003eAddressing Other Common Situations 709\u003c\/p\u003e \u003cp\u003eCreating Programmatic Triggers 717\u003c\/p\u003e \u003cp\u003eRefining the Customer Support Application 720\u003c\/p\u003e \u003cp\u003eSummary 725\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart IV: Securing Your Application with Spring Security\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 25: Introducing Spring Security 729\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat is Authentication? 729\u003c\/p\u003e \u003cp\u003eWhy Spring Security? 743\u003c\/p\u003e \u003cp\u003eSummary 746\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 26: Authenticating Users with Spring Security 747\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChoosing and Configuring an Authentication Provider 748\u003c\/p\u003e \u003cp\u003eWriting Your Own Authentication Provider 766\u003c\/p\u003e \u003cp\u003eSummary 778\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 27: Using Authorization Tags and Annotations 779\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAuthorizing by Declaration 780\u003c\/p\u003e \u003cp\u003eUnderstanding Authorization Decisions 794\u003c\/p\u003e \u003cp\u003eCreating Access Control Lists for Object Security 798\u003c\/p\u003e \u003cp\u003eAdding Authorization to Customer Support 804\u003c\/p\u003e \u003cp\u003eSummary 814\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 28: Securing RESTful Web Services with OAuth 815\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eUnderstanding Web Service Security 816\u003c\/p\u003e \u003cp\u003eIntroducing OAuth 818\u003c\/p\u003e \u003cp\u003eUsing Spring Security OAuth 833\u003c\/p\u003e \u003cp\u003eFinishing the Customer Support Application 840\u003c\/p\u003e \u003cp\u003eCreating an OAuth Client Application 856\u003c\/p\u003e \u003cp\u003eSummary 862\u003c\/p\u003e \u003cp\u003eIndex 865\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer programming \/ software development [\u003ca title=\"See our other books on Computer programming \/ software development\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20programming%20\/%20software%20development%20%5BUM%5D%22\"\u003eUM\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wrox","offers":[{"title":"Brand New","offer_id":52516348068120,"sku":"9781118656464","price":49.35,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781118656464.jpg?v=1786683122","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/professional-java-for-web-applications-paperback-softback-9781118656464","provider":"Freshly Printed Books","version":"1.0","type":"link"}