Java EE 7 Application Developer key terms
Java EE 7 Application Developer · Get comfortable with the vocabulary.
- Servlet lifecycle
- Related: ServletContext, Filter chain
The fixed sequence in which the container manages a servlet instance: loading and instantiation, then init() once, then repeated service() calls for each request, and finally destroy() before garbage collection.
- ServletContext
- Related: Servlet lifecycle, Session tracking
A single object per web application that holds application-wide initialization parameters, attributes, and resources, and allows servlets to communicate with the container and with each other across sessions.
- Filter chain
- Related: Servlet lifecycle, Web fragment
An ordered set of filters the container invokes around a request, each calling chain.doFilter() to pass control onward to the next filter or to the target servlet or JSP page.
- Session tracking
- Related: ServletContext, Cookie (javax.servlet.http)
The mechanism by which the container associates successive HTTP requests with one user, typically through a JSESSIONID cookie or URL rewriting, exposing state via HttpSession attributes with configurable timeout and invalidation.
- Cookie (javax.servlet.http)
- Related: Session tracking
A small name-value pair the server sends to the browser and the browser returns on later requests, configured with path, domain, max-age, and HttpOnly or Secure flags through the Cookie class.
- JSP implicit objects
- Related: JSP lifecycle, Expression Language (EL)
Predefined variables available in JSP scriptlets and expressions, including request, response, session, application, out, config, pageContext, page, exception, and the EL-visible scopes pageScope through applicationScope.
- JSP lifecycle
- Related: JSP implicit objects, JSP Standard Tag Library (JSTL)
The translation of a JSP page into a servlet source file, its compilation, and then the standard servlet init, service, and destroy phases, with the container recompiling when the page changes.
- Expression Language (EL)
- Related: JSP implicit objects, JSP Standard Tag Library (JSTL)
A concise ${...} syntax for reading and writing scoped attributes and bean properties in JSP and JSF pages, supporting implicit objects, operators, method invocation, and lambda expressions in later versions.
- JSP Standard Tag Library (JSTL)
- Related: Expression Language (EL), JSP lifecycle
A standardized set of JSP tag libraries covering core flow control, formatting and i18n, XML processing, SQL access, and common functions, used with the JSTL taglib URI declarations instead of scriptlets.
- Web fragment
- Related: Filter chain, Annotation-based configuration
A jar-packaged META-INF/web-fragment.xml that contributes servlets, filters, listeners, and other deployment descriptors to a web application without editing the main web.xml, enabling modular library packaging.
- Annotation-based configuration
- Related: Web fragment, Servlet lifecycle
Declaring web and enterprise components with annotations such as @WebServlet, @WebFilter, @WebListener, @EJB, @Inject, and @Path instead of XML descriptors, with web.xml metadata-complete controlling whether annotations are scanned.
- JSF lifecycle
- Related: Facelets, Converter and validator, Immediate attribute
The six ordered phases of a JavaServer Faces request: restore view, apply request values, process validations, update model values, invoke application, and render response, with conversion, validation, and events firing along the way.
- Facelets
- Related: JSF lifecycle, Composite component
The view declaration language for JSF that uses XHTML files with JSF tag libraries, supporting templating, composite components, and EL binding in place of JSP-based views.
- Composite component
- Related: Facelets, Managed bean and CDI bean in JSF
A reusable JSF component defined in a Facelets resource file under resources/, exposing an interface section for attributes and facets and a implementation section for its markup, used by tag name in views.
- Managed bean and CDI bean in JSF
- Related: Contexts and Dependency Injection (CDI), Composite component
Server-side objects that back JSF views, exposed to EL by name and scope; in Java EE 7 CDI beans with @Named and CDI scopes replace the deprecated JSF-specific managed bean annotations.
- Converter and validator
- Related: JSF lifecycle, Immediate attribute
JSF extension points that translate between string input and model types and that enforce constraints on submitted values, registered by class, by id, or implicitly through Bean Validation annotations on the model.
- Immediate attribute
- Related: JSF lifecycle, Converter and validator
A JSF component setting that moves its action, action listener, and validation processing to the apply request values phase, so the event fires before the remaining inputs are validated and updated.
- Enterprise JavaBeans (EJB) session bean types
- Related: EJB lifecycle callbacks, Container-managed transactions
Stateless session beans hold no conversational state, stateful beans keep per-client state across calls, and singleton beans have exactly one instance shared by all clients, each with its own concurrency semantics.
- EJB lifecycle callbacks
- Related: Enterprise JavaBeans (EJB) session bean types, Message-driven bean
Annotated methods such as @PostConstruct, @PreDestroy, @PostActivate, and @PrePassivate that let a bean react to creation, removal, activation, and passivation, with restrictions on which bean types support which callbacks.
- Message-driven bean
- Related: EJB lifecycle callbacks, JMS destination and messaging models
An EJB that consumes messages asynchronously from a JMS destination, implementing MessageListener or using @MessageDriven, and running under container-managed transactions and pooling.
- Contexts and Dependency Injection (CDI)
- Related: Qualifier, CDI producer, CDI scope and conversation
The Java EE dependency injection and contextual lifecycle model, providing type-safe injection with @Inject, qualifiers, producers, interceptors, decorators, events, and well-defined scopes such as request and conversation.
- Qualifier
- Related: Contexts and Dependency Injection (CDI), CDI producer
An annotation applied to an injection point and to a bean to disambiguate among candidates of the same type, with @Default and @Any as built-in qualifiers and @Named as a name-based alternative.
- CDI producer
- Related: Qualifier, CDI scope and conversation
A method or field annotated @Produces that supplies objects the container cannot construct itself, optionally combined with a qualifier and a scope annotation to control selection and lifetime.
- CDI scope and conversation
- Related: CDI producer, Contexts and Dependency Injection (CDI)
A lifetime bound to a bean, such as @RequestScoped, @SessionScoped, @ApplicationScoped, @Dependent, or @ConversationScoped, where the conversation scope spans multiple requests bounded by begin and end calls.
- Persistence unit and persistence.xml
- Related: EntityManager and persistence context, JTA vs RESOURCE_LOCAL
A named configuration grouping entity classes, a data source or JDBC settings, and provider properties, declared in META-INF/persistence.xml and referenced by name when building an EntityManagerFactory.
- EntityManager and persistence context
- Related: Persistence unit and persistence.xml, Entity identity and @Id, Entity states
The API for creating, finding, merging, and removing entities, backed by a persistence context that tracks managed entity instances and flushes changes to the database at commit or query time.
- Entity states
- Related: EntityManager and persistence context, Cascade and orphan removal
The four conditions an entity instance can occupy relative to a persistence context: new or transient, managed, detached, and removed, each governing whether changes are tracked and persisted.
- Entity identity and @Id
- Related: Entity states, Entity relationships and mapping
The primary key declaration on an entity, generated by strategies such as IDENTITY, SEQUENCE, TABLE, or AUTO, or assigned by the application, and combined with @EmbeddedId or @IdClass for composite keys.
- Entity relationships and mapping
- Related: Cascade and orphan removal, JPQL and Criteria API
Annotations such as @OneToMany, @ManyToOne, @OneToOne, and @ManyToMany, together with @JoinColumn or @JoinTable and mappedBy, that define association direction, ownership, and foreign key or join table mapping.
- Cascade and orphan removal
- Related: Entity relationships and mapping, Entity states
Propagating entity operations such as persist, merge, or remove from a parent to associated entities via cascade settings, and deleting a child automatically when it is removed from its owning relationship.
- JPQL and Criteria API
- Related: Entity relationships and mapping, EntityManager and persistence context
Two query approaches in JPA: the string-based Java Persistence Query Language operating on entities and fields, and the type-safe programmatic Criteria API building queries through metamodel objects.
- JTA vs RESOURCE_LOCAL
- Related: Persistence unit and persistence.xml, Container-managed transactions
Two transaction management types for a persistence unit: JTA integrates entity operations with container-managed transactions and supports multiple resources, while RESOURCE_LOCAL relies on application-controlled EntityTransaction.
- JAX-RS resource class and @Path
- Related: JAX-RS parameter annotations, MessageBodyReader and MessageBodyWriter
A POJO annotated @Path that serves REST requests, with methods selected by HTTP verb annotations such as @GET and @POST and refined by @Produces, @Consumes, and sub-resource locators.
- JAX-RS parameter annotations
- Related: JAX-RS resource class and @Path, JAX-RS provider and Application class
Bindings that extract request data into method arguments: @PathParam from URI templates, @QueryParam from the query string, @FormParam from form bodies, @HeaderParam, @CookieParam, @MatrixParam, and @BeanParam for aggregation.
- MessageBodyReader and MessageBodyWriter
- Related: JAX-RS resource class and @Path, JAX-RS provider and Application class
SPI contracts that convert an HTTP entity body to a Java type and back, selected by media type and generic type, with built-in providers for text, XML, JSON, and form data.
- JAX-RS provider and Application class
- Related: MessageBodyReader and MessageBodyWriter, JAX-RS parameter annotations
A javax.ws.rs.core.Application subclass listing resource and provider classes and setting the base URI, plus cross-cutting providers such as filters, interceptors, and exception mappers registered with the runtime.
- JAX-WS service endpoint
- Related: WSDL and JAX-WS mapping, SOAP handler
A SOAP web service implementation declared with @WebService, whose methods become operations and whose parameters map to WSDL messages, deployed in a web container or published with Endpoint.publish.
- WSDL and JAX-WS mapping
- Related: JAX-WS service endpoint, JAX-WS client proxy
The XML contract describing a SOAP service's types, messages, port types, bindings, and service address, from which JAX-WS generates portable artifacts and to which annotations map Java declarations.
- JAX-WS client proxy
- Related: WSDL and JAX-WS mapping, SOAP handler
A generated or injected client-side stub, obtained from a Service instance or an @WebServiceRef, that exposes the remote operations as local method calls and handles SOAP serialization.
- SOAP handler
- Related: JAX-WS client proxy, Web services security
A JAX-WS extension implementing SOAPHandler or LogicalHandler that intercepts inbound and outbound messages on a handler chain, used for logging, header processing, and security enforcement.
- Declarative security annotations
- Related: Web services security, Container-managed transactions
Container-enforced access control declared in code, using @RolesAllowed, @PermitAll, @DenyAll, and @RunAs on EJB or servlet classes and methods rather than programmatic checks.
- Web services security
- Related: SOAP handler, Declarative security annotations
Protecting SOAP and REST endpoints through transport security, message-level signing and encryption, and container-managed authentication, often configured via deployment descriptors or handler chains.
- Container-managed transactions
- Related: JTA vs RESOURCE_LOCAL, Transaction synchronization
Transaction demarcation controlled by the EJB container according to @TransactionAttribute values such as REQUIRED, REQUIRES_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, and NEVER, with rollback rules for system and application exceptions.
- Transaction synchronization
- Related: Container-managed transactions, JMS destination and messaging models
Registering callbacks with a JTA transaction so application code runs at points such as before completion or after completion, useful for flushing caches or emitting events only on commit.
- JMS destination and messaging models
- Related: Message-driven bean, JMS producer and listener API
A queue provides point-to-point delivery to one consumer, while a topic provides publish-subscribe delivery to all subscribers; both are administered objects addressed by JNDI name.
- JMS producer and listener API
- Related: JMS destination and messaging models, Message-driven bean
The simplified JMS 2.0 API using JMSContext to create producers and consumers, send messages, and register message listeners, complementing the classic Connection, Session, and MessageProducer objects.