The sequence of filters applied to a request is determined by the order of __________ in the web.xml file.

  • filter-chain
  • filter-mapping
  • filter-order
  • filter-sequence
The sequence of filters applied to a request is determined by the order of the elements in the web.xml file, specifically by the filter-order subelement.

What is the difference between context and init parameters in servlet configuration?

  • Context parameters are set at the application level, while init parameters are at the servlet level.
  • Context parameters are used for initialization, and init parameters are used for configuration.
  • Init parameters are set at the application level, while context parameters are at the servlet level.
  • Init parameters are used for initialization, and context parameters are used for configuration.
Context parameters are set at the application level and are shared among all servlets, while init parameters are specific to each servlet. Init parameters are configured in the servlet's declaration in the web.xml file.

Filters can be used to implement __________, which is a common requirement in web applications.

  • authentication
  • authorization
  • encryption
  • validation
Filters can be used to implement authorization, which is a common requirement in web applications to control access to resources based on user roles and permissions.

If a filter needs to perform different actions based on the type of HTTP request, which method or object should it use to determine this?

  • filterConfig.getInitParameter("requestType")
  • request.getContentType()
  • request.getMethod()
  • request.getRequestType()
To determine the type of HTTP request, the filter can use the request.getMethod() method, which returns the HTTP method (GET, POST, etc.) of the request.

In a scenario where a filter needs to restrict access based on user roles, which object or method is essential for implementing this?

  • filterConfig.getInitParameter("role")
  • request.getRoleParameter()
  • request.getUserRole()
  • request.isUserInRole()
To restrict access based on user roles, the request.isUserInRole() method is essential. It allows the filter to check whether the user associated with the request is in a particular security role.

What is the primary advantage of using connection pooling in a web application?

  • Ensures security
  • Facilitates debugging
  • Improves performance
  • Reduces memory consumption
Connection pooling in a web application primarily improves performance by reusing existing database connections, reducing the overhead of opening and closing connections frequently.

How would a filter log request information without altering the request itself?

  • Use a separate logging library
  • Use a wrapper around the ServletResponse
  • Use response.getWriter().write()
  • Use response.log() method
To log request information without altering the response, a filter can use a wrapper around the ServletResponse. This allows capturing the response data without modifying it.

Which component in a Java EE application is responsible for managing connection pooling?

  • Connection Pool
  • Enterprise JavaBeans (EJB)
  • JDBC Driver
  • Servlet Container
Connection pooling is typically managed by a dedicated component known as the connection pool, which handles the creation, management, and recycling of database connections in a Java EE application.

When a connection is closed in a connection pool, what actually happens to that connection?

  • It is immediately returned to the pool
  • It is marked as unavailable
  • It is permanently deleted
  • It is physically closed
When a connection is closed in a connection pool, it is not physically closed but rather returned to the pool, making it available for reuse. This enhances efficiency by minimizing the need for new connections.

How does connection pooling improve the performance of database-driven applications?

  • Caches database queries
  • Has no impact on database connections
  • Increases the number of open database connections
  • Reduces the number of open database connections
Connection pooling improves performance by reducing the number of open database connections, reusing existing ones, and avoiding the overhead of opening and closing connections frequently.