Description

Book Synopsis
The comprehensive Wrox guide for creating Java web applications for the enterprise This guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment.

Table of Contents

Introduction xxiii

Part I: Creating Enterprise Applications

Chapter 1: Introducing Java Platform, Enterprise Edition 3

A Timeline of Java Platforms 3

Understanding the Basic Web Application Structure 13

Summary 18

Chapter 2: Using Web Containers 19

Choosing a Web Container 19

Installing Tomcat on Your Machine 23

Deploying and Undeploying Applications in Tomcat 27

Debugging Tomcat from Your IDE 30

Summary 39

Chapter 3: Writing Your First Servlet 41

Creating a Servlet Class 42

Configuring a Servlet for Deployment 46

Understanding doGet(), doPost(), and Other Methods 51

Using Parameters and Accepting Form Submissions 56

Configuring your Application Using Init Parameters 61

Uploading Files from a Form 64

Making Your Application Safe for Multithreading 69

Summary 71

Chapter 4: Using JSPs to Di splay Content 73


is Easier Than output.println(“
”) 74

Creating Your First JSP 78

Using Java within a JSP (and Why You Shouldn’t!) 88

Combining Servlets and JSPs 94

A Note about JSP Documents (JSPX) 102

Summary 104

Chapter 5: Maintaining State Using Sessions 105

Understanding Why Sessions are Necessary 106

Using Session Cookies and URL Rewriting 107

Storing Data in a Session 116

Applying Sessions Usefully 129

Clustering an Application That Uses Sessions 139

Summary 142

Chapter 6: U sing the Expression Language in JSPs 143

Understanding Expression Language 144

Writing with the EL Syntax 147

Using Scoped Variables in EL Expressions 160

Accessing Collections with the Stream API 167

Replacing Java Code with Expression Language 172

Summary 175

Chapter 7: U sing the Java Standard Tag Library 177

Introducing JSP Tags and the JSTL 178

Using the Core Tag Library (C Namespace) 182

Using the Internationalization and Formatting Tag Library (FMT Namespace) 193

Using the Database Access Tag Library (SQL Namespace) 203

Using the XML Processing Tag Library (X Namespace) 205

Replacing Java Code with JSP Tags 205

Summary 208

Chapter 8: Writing Custom Tag and Function Libraries 209

Understanding TLDs, Tag Files, and Tag Handlers 210

Creating Your First Tag File to Serve as an HTML Template 219

Creating a More Useful Date Formatting Tag Handler 221

Creating an EL Function to Abbreviate Strings 226

Replacing Java Code with Custom JSP Tags 227

Summary 232

Chapter 9: Improving Your Application Using Filters 233

Understanding the Purpose of Filters 234

Creating, Declaring, and Mapping Filters 235

Ordering Your Filters Properly 239

Investigating Practical Uses for Filters 247

Simplifying Authentication with a Filter 254

Summary 255

Chapter 10: Making Your Application Interactive with WebSockets 257

Evolution: From Ajax to WebSockets 258

Understanding the WebSocket APIs 268

Creating Multiplayer Games with WebSockets 273

Using WebSockets to Communicate in a Cluster 284

Adding “Chat with Support” to the Customer Support Application 288

Summary 296

Chapter 11: Using Logging to Monitor Your Application 297

Understanding the Concepts of Logging 298

Using Logging Levels and Categories 303

Choosing a Logging Framework 305

Integrating Logging into Your Application 312

Summary 320

Part II: Adding Spring Framework Into the Mix

Chapter 12: Introducing Spring Framework 323

What is Spring Framework? 324

Why Spring Framework? 326

Understanding Application Contexts 327

Bootstrapping Spring Framework 329

Configuring Spring Framework 336

Utilizing Bean Definition Profiles 349

Summary 353

Chapter 13: Replacing Your Servlets with Controllers 355

Understanding @RequestMapping 356

Using Spring Framework’s Model and View Pattern 370

Making Your Life Easier with Form Objects 380

Updating the Customer Support Application 384

Summary 387

Chapter 14: Using Services and Repositories to Support Your Controllers 389

Understanding Model-View-Controller Plus Controller-Service-Repository 390

Using the Root Application Context Instead of a Web Application Context 394

Improving Services with Asynchronous and Scheduled Execution 404

Applying Logic Layer Separation to WebSockets 409

Summary 416

Chapter 15: Internationalizing Your Application with Spring Framework i18n 417

Why Do You Need Spring Framework i18n? 418

Using the Basic Internationalization and Localization APIs 419

Configuring Internationalization in Spring Framework 424

Internationalizing Your Code 430

Summary 440

Chapter 16: Using JSR 349, Spring Framework, and Hibernate Validator for Bean Validation 441

What is Bean Validation? 442

Configuring Validation in the Spring Framework Container 445

Adding Constraint Validation Annotations to Your Beans 450

Configuring Spring Beans for Method Validation 458

Writing Your Own Validation Constraints 466

Integrating Validation in the Customer Support Application 470

Summary 472

Chapter 17: Creating RESTful and SOAP Web Services 473

Understanding Web Services 474

Configuring RESTful Web Services with Spring MVC 484

Testing Your Web Service Endpoints 496

Using Spring Web Services for SOAP 500

Summary 508

Chapter 18: Using Messaging and Clustering for Flexibility and Reliability 509

Recognizing When You Need Messaging and Clustering 510

Adding Messaging Support to your Application 520

Making your Messaging Distributable Across a Cluster 525

Distributing Events with AMQP 534

Summary 540

Part III: Persisting Data with JPA and Hibernate ORM

Chapter 19: Introducing Java Persistence API and Hibernate ORM 543

What is Data Persistence? 543

What is an Object-Relational Mapper? 547

A Brief Look at Hibernate ORM 552

Preparing a Relational Database 559

A Note About Maven Dependencies 564

Summary 564

Chapter 20: Mapping Entities to Tables with JPA Annotations 565

Getting Started with Simple Entities 566

Creating and Using a Persistence Unit 581

Mapping Complex Data Types 590

Summary 596

Chapter 21: Using JPA in Spring Framework Repositories 597

Using Spring Repositories and Transactions 598

Configuring Persistence in Spring Framework 602

Creating and Using JPA Repositories 610

Converting Data with DTOs and Entities 624

Summary 632

Chapter 22: Eliminating Boilerplate Repositories with Spring Data JPA 633

Understanding Spring Data’s Unified Data Access 634

Configuring and Creating Spring Data JPA Repositories 646

Refactoring the Customer Support Application 656

Summary 661

Chapter 23: Searching for Data with JPA and Hibernate Search 663

An Introduction to Searching 664

Using Advanced Criteria to Locate Objects 666

Taking Advantage of Full-Text Indexes with JPA 676

Indexing Any Data with Apache Lucene and Hibernate Search 684

Summary 692

Chapter 24: Creating Advanced Mappings and Custom Data Types 693

What’s Left? 694

Converting Nonstandard Data Types 695

Embedding POJOs Within Entities 699

Defining Relationships Between Entities 703

Addressing Other Common Situations 709

Creating Programmatic Triggers 717

Refining the Customer Support Application 720

Summary 725

Part IV: Securing Your Application with Spring Security

Chapter 25: Introducing Spring Security 729

What is Authentication? 729

Why Spring Security? 743

Summary 746

Chapter 26: Authenticating Users with Spring Security 747

Choosing and Configuring an Authentication Provider 748

Writing Your Own Authentication Provider 766

Summary 778

Chapter 27: Using Authorization Tags and Annotations 779

Authorizing by Declaration 780

Understanding Authorization Decisions 794

Creating Access Control Lists for Object Security 798

Adding Authorization to Customer Support 804

Summary 814

Chapter 28: Securing RESTful Web Services with OAuth 815

Understanding Web Service Security 816

Introducing OAuth 818

Using Spring Security OAuth 833

Finishing the Customer Support Application 840

Creating an OAuth Client Application 856

Summary 862

Index 865

Professional Java for Web Applications

Product form

£45.12

Includes FREE delivery

RRP £47.50 – you save £2.38 (5%)

Order before 4pm today for delivery by Sat 20 Dec 2025.

A Paperback / softback by Nicholas S. Williams

Out of stock


    View other formats and editions of Professional Java for Web Applications by Nicholas S. Williams

    Publisher: John Wiley & Sons Inc
    Publication Date: 04/04/2014
    ISBN13: 9781118656464, 978-1118656464
    ISBN10: 1118656466

    Description

    Book Synopsis
    The comprehensive Wrox guide for creating Java web applications for the enterprise This guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment.

    Table of Contents

    Introduction xxiii

    Part I: Creating Enterprise Applications

    Chapter 1: Introducing Java Platform, Enterprise Edition 3

    A Timeline of Java Platforms 3

    Understanding the Basic Web Application Structure 13

    Summary 18

    Chapter 2: Using Web Containers 19

    Choosing a Web Container 19

    Installing Tomcat on Your Machine 23

    Deploying and Undeploying Applications in Tomcat 27

    Debugging Tomcat from Your IDE 30

    Summary 39

    Chapter 3: Writing Your First Servlet 41

    Creating a Servlet Class 42

    Configuring a Servlet for Deployment 46

    Understanding doGet(), doPost(), and Other Methods 51

    Using Parameters and Accepting Form Submissions 56

    Configuring your Application Using Init Parameters 61

    Uploading Files from a Form 64

    Making Your Application Safe for Multithreading 69

    Summary 71

    Chapter 4: Using JSPs to Di splay Content 73


    is Easier Than output.println(“
    ”) 74

    Creating Your First JSP 78

    Using Java within a JSP (and Why You Shouldn’t!) 88

    Combining Servlets and JSPs 94

    A Note about JSP Documents (JSPX) 102

    Summary 104

    Chapter 5: Maintaining State Using Sessions 105

    Understanding Why Sessions are Necessary 106

    Using Session Cookies and URL Rewriting 107

    Storing Data in a Session 116

    Applying Sessions Usefully 129

    Clustering an Application That Uses Sessions 139

    Summary 142

    Chapter 6: U sing the Expression Language in JSPs 143

    Understanding Expression Language 144

    Writing with the EL Syntax 147

    Using Scoped Variables in EL Expressions 160

    Accessing Collections with the Stream API 167

    Replacing Java Code with Expression Language 172

    Summary 175

    Chapter 7: U sing the Java Standard Tag Library 177

    Introducing JSP Tags and the JSTL 178

    Using the Core Tag Library (C Namespace) 182

    Using the Internationalization and Formatting Tag Library (FMT Namespace) 193

    Using the Database Access Tag Library (SQL Namespace) 203

    Using the XML Processing Tag Library (X Namespace) 205

    Replacing Java Code with JSP Tags 205

    Summary 208

    Chapter 8: Writing Custom Tag and Function Libraries 209

    Understanding TLDs, Tag Files, and Tag Handlers 210

    Creating Your First Tag File to Serve as an HTML Template 219

    Creating a More Useful Date Formatting Tag Handler 221

    Creating an EL Function to Abbreviate Strings 226

    Replacing Java Code with Custom JSP Tags 227

    Summary 232

    Chapter 9: Improving Your Application Using Filters 233

    Understanding the Purpose of Filters 234

    Creating, Declaring, and Mapping Filters 235

    Ordering Your Filters Properly 239

    Investigating Practical Uses for Filters 247

    Simplifying Authentication with a Filter 254

    Summary 255

    Chapter 10: Making Your Application Interactive with WebSockets 257

    Evolution: From Ajax to WebSockets 258

    Understanding the WebSocket APIs 268

    Creating Multiplayer Games with WebSockets 273

    Using WebSockets to Communicate in a Cluster 284

    Adding “Chat with Support” to the Customer Support Application 288

    Summary 296

    Chapter 11: Using Logging to Monitor Your Application 297

    Understanding the Concepts of Logging 298

    Using Logging Levels and Categories 303

    Choosing a Logging Framework 305

    Integrating Logging into Your Application 312

    Summary 320

    Part II: Adding Spring Framework Into the Mix

    Chapter 12: Introducing Spring Framework 323

    What is Spring Framework? 324

    Why Spring Framework? 326

    Understanding Application Contexts 327

    Bootstrapping Spring Framework 329

    Configuring Spring Framework 336

    Utilizing Bean Definition Profiles 349

    Summary 353

    Chapter 13: Replacing Your Servlets with Controllers 355

    Understanding @RequestMapping 356

    Using Spring Framework’s Model and View Pattern 370

    Making Your Life Easier with Form Objects 380

    Updating the Customer Support Application 384

    Summary 387

    Chapter 14: Using Services and Repositories to Support Your Controllers 389

    Understanding Model-View-Controller Plus Controller-Service-Repository 390

    Using the Root Application Context Instead of a Web Application Context 394

    Improving Services with Asynchronous and Scheduled Execution 404

    Applying Logic Layer Separation to WebSockets 409

    Summary 416

    Chapter 15: Internationalizing Your Application with Spring Framework i18n 417

    Why Do You Need Spring Framework i18n? 418

    Using the Basic Internationalization and Localization APIs 419

    Configuring Internationalization in Spring Framework 424

    Internationalizing Your Code 430

    Summary 440

    Chapter 16: Using JSR 349, Spring Framework, and Hibernate Validator for Bean Validation 441

    What is Bean Validation? 442

    Configuring Validation in the Spring Framework Container 445

    Adding Constraint Validation Annotations to Your Beans 450

    Configuring Spring Beans for Method Validation 458

    Writing Your Own Validation Constraints 466

    Integrating Validation in the Customer Support Application 470

    Summary 472

    Chapter 17: Creating RESTful and SOAP Web Services 473

    Understanding Web Services 474

    Configuring RESTful Web Services with Spring MVC 484

    Testing Your Web Service Endpoints 496

    Using Spring Web Services for SOAP 500

    Summary 508

    Chapter 18: Using Messaging and Clustering for Flexibility and Reliability 509

    Recognizing When You Need Messaging and Clustering 510

    Adding Messaging Support to your Application 520

    Making your Messaging Distributable Across a Cluster 525

    Distributing Events with AMQP 534

    Summary 540

    Part III: Persisting Data with JPA and Hibernate ORM

    Chapter 19: Introducing Java Persistence API and Hibernate ORM 543

    What is Data Persistence? 543

    What is an Object-Relational Mapper? 547

    A Brief Look at Hibernate ORM 552

    Preparing a Relational Database 559

    A Note About Maven Dependencies 564

    Summary 564

    Chapter 20: Mapping Entities to Tables with JPA Annotations 565

    Getting Started with Simple Entities 566

    Creating and Using a Persistence Unit 581

    Mapping Complex Data Types 590

    Summary 596

    Chapter 21: Using JPA in Spring Framework Repositories 597

    Using Spring Repositories and Transactions 598

    Configuring Persistence in Spring Framework 602

    Creating and Using JPA Repositories 610

    Converting Data with DTOs and Entities 624

    Summary 632

    Chapter 22: Eliminating Boilerplate Repositories with Spring Data JPA 633

    Understanding Spring Data’s Unified Data Access 634

    Configuring and Creating Spring Data JPA Repositories 646

    Refactoring the Customer Support Application 656

    Summary 661

    Chapter 23: Searching for Data with JPA and Hibernate Search 663

    An Introduction to Searching 664

    Using Advanced Criteria to Locate Objects 666

    Taking Advantage of Full-Text Indexes with JPA 676

    Indexing Any Data with Apache Lucene and Hibernate Search 684

    Summary 692

    Chapter 24: Creating Advanced Mappings and Custom Data Types 693

    What’s Left? 694

    Converting Nonstandard Data Types 695

    Embedding POJOs Within Entities 699

    Defining Relationships Between Entities 703

    Addressing Other Common Situations 709

    Creating Programmatic Triggers 717

    Refining the Customer Support Application 720

    Summary 725

    Part IV: Securing Your Application with Spring Security

    Chapter 25: Introducing Spring Security 729

    What is Authentication? 729

    Why Spring Security? 743

    Summary 746

    Chapter 26: Authenticating Users with Spring Security 747

    Choosing and Configuring an Authentication Provider 748

    Writing Your Own Authentication Provider 766

    Summary 778

    Chapter 27: Using Authorization Tags and Annotations 779

    Authorizing by Declaration 780

    Understanding Authorization Decisions 794

    Creating Access Control Lists for Object Security 798

    Adding Authorization to Customer Support 804

    Summary 814

    Chapter 28: Securing RESTful Web Services with OAuth 815

    Understanding Web Service Security 816

    Introducing OAuth 818

    Using Spring Security OAuth 833

    Finishing the Customer Support Application 840

    Creating an OAuth Client Application 856

    Summary 862

    Index 865

    Recently viewed products

    © 2025 Book Curl

      • American Express
      • Apple Pay
      • Diners Club
      • Discover
      • Google Pay
      • Maestro
      • Mastercard
      • PayPal
      • Shop Pay
      • Union Pay
      • Visa

      Login

      Forgot your password?

      Don't have an account yet?
      Create account