Documentation

You are viewing the documentation for the 2.4.x release series. The latest stable release series is 3.0.x.

§Play for Java developers

The Java API for the Play application developers is available in the play package.

The API available in the play.api package (such as play.api.mvc) is reserved for Scala developers. As a Java developer, look at play.mvc.

Main concepts

  1. HTTP programming
    1. Actions, Controllers and Results
    2. HTTP routing
    3. Manipulating the HTTP response
    4. Session and Flash scopes
    5. Body parsers
    6. Actions composition
    7. Content negotiation
    8. Error handling
  2. Asynchronous HTTP programming
    1. Handling asynchronous results
    2. Streaming HTTP responses
    3. Comet sockets
    4. WebSockets
  3. The template engine
    1. Templates syntax
    2. Common use cases
    3. Custom formats
  4. Form submission and validation
    1. Form definitions
    2. Using the form template helpers
    3. Protecting against CSRF
  5. Working with Json
  6. Working with XML
  7. Handling file upload
  8. Accessing an SQL database
    1. Configuring and using JDBC
    2. Integrating with JPA
    3. Using Ebean ORM
  9. Using the Cache
  10. Calling WebServices
    1. The Play WS API
    2. Connecting to OpenID services
    3. Accessing resources protected by OAuth
  11. Integrating with Akka
  12. Internationalization
  13. The application Global object
    1. Application global settings
    2. Intercepting requests
  14. Testing your application
    1. Writing tests
    2. Writing functional tests
    3. Testing with Guice
    4. Testing with databases
    5. Testing web service clients
  15. Logging

Advanced topics

  1. Dependency injection
  2. HTTP architecture
    1. HTTP filters
    2. HTTP request handlers
  3. Advanced routing
  4. Extending Play
  5. Embedding Play

Next: Main concepts


Found an error in this documentation? The source code for this page can be found here. After reading the documentation guidelines, please feel free to contribute a pull request. Have questions or advice to share? Go to our community forums to start a conversation with the community.