What is the difference between filter chaining and servlet chaining?

  • Filter chaining is sequential execution of multiple filters before the servlet is invoked.
  • Filter chaining is used only for static resources.
  • Servlet chaining is sequential execution of multiple servlets before the response is sent to the client.
  • There is no difference.
Filter chaining involves the sequential execution of multiple filters before the servlet is invoked, allowing each filter to process the request or response. Servlet chaining involves the sequential execution of multiple servlets before the response is sent to the client.

Can a filter modify the request and response objects?

  • Depends on servlet version
  • No
  • Sometimes
  • Yes
Yes, a filter can modify the request and response objects before they reach the servlet or after they leave the servlet, providing a mechanism to pre-process or post-process the request and response.

How does the servlet container use the order of filter mappings in web.xml?

  • To control servlet instantiation
  • To determine the priority of filter execution
  • To enforce security constraints
  • To manage session attributes
The order of filter mappings in web.xml is used by the servlet container to determine the priority of filter execution. Filters are applied in the order in which they are declared in the web.xml file, allowing developers to control the sequence in which filters are invoked.

The return type of the method used to retrieve a servlet initialization parameter is _________.

  • Integer
  • Map
  • Object
  • String
The return type of the method used to retrieve a servlet initialization parameter is String.

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.

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.

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.

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.

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.

How does a servlet container typically interact with a connection pool?

  • It delegates management to the application.
  • It directly manages the pool.
  • It doesn't interact with connection pools.
  • It relies on the database server for connection management.
In a typical scenario, a servlet container directly manages the connection pool, ensuring efficient utilization and management of database connections within the application.

What role does the JDBC API play in connection pooling?

  • Deals with servlet lifecycle
  • Handles SQL queries
  • Manages database connections
  • Provides database authentication
The JDBC API is responsible for managing database connections in connection pooling, ensuring efficient utilization and reuse of connections in a database-driven application.

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.