The __________ method is generally used for fetching data where the request does not affect server state.

  • DELETE
  • GET
  • POST
  • PUT
The GET method is generally used for fetching data where the request does not affect server state. It is considered idempotent.

To access all initialization parameters, the method ________ can be used, which returns an _________.

  • getInitParameterNames(), Enumeration
  • getInitParameters(), ArrayList
  • getParameters(), Array
  • getServletContext(), Enumeration
The correct method is getInitParameterNames(), which returns an Enumeration containing the names of the servlet's initialization parameters.

What is the first method called when a filter is instantiated by the servlet container?

  • destroy()
  • doFilter()
  • filterInit()
  • init()
The filterInit() method is the first method called when a filter is instantiated by the servlet container. It is used for initialization purposes.

At which stage in the filter lifecycle can you perform actions based on the initialization parameters?

  • destroy()
  • doFilter()
  • filterInit()
  • init()
Actions based on initialization parameters can be performed in the doFilter() method, which is part of the filter lifecycle.

How does a filter modify the response of a servlet or JSP in the filter chain?

  • By modifying the request object
  • By modifying the response object
  • By replacing the servlet output
  • By skipping the filter chain
A filter modifies the response by manipulating the response object in the filter chain. It can modify headers, content, or perform other operations on the response before it reaches the client.

In the context of filter configuration, what is the purpose of the tag in web.xml?

  • Associates a filter with a servlet or URL pattern
  • Defines filter initialization parameters
  • Indicates the filter lifecycle
  • Specifies the filter execution order
The tag in web.xml associates a filter with a servlet or URL pattern, specifying where the filter should be applied in the web application.

When multiple filters are defined, in what order are they executed?

  • Alphabetical order
  • Order of declaration in web.xml
  • Order specified in filter-mapping
  • Random order
Filters are executed in the order of declaration in the web.xml file. The order can be important when one filter's output is used as input to another filter in the chain.

How can a filter pass control to the next entity in the filter chain?

  • chain.continueFiltering(request, response)
  • chain.doFilter(request, response)
  • filterChain.doFilter(request, response)
  • filterChain.passControl(request, response)
To pass control to the next entity in the filter chain, the correct method is chain.doFilter(request, response). It invokes the next filter or the servlet in the chain.

What is the impact of a filter throwing an unchecked exception during the execution of its doFilter method?

  • The container catches the exception and stops processing the request.
  • The exception is ignored, and processing continues.
  • The filter chain continues to the next filter or servlet.
  • The response is sent without further processing.
If a filter throws an unchecked exception, the container catches it. However, the impact is that the processing of the request stops, and the response is not sent.

How can a filter be configured to process requests for specific servlets or URL patterns?

  • By implementing the processOnly method in the filter.
  • By setting the filter-url property in the deployment descriptor.
  • By specifying servlet names or URL patterns in the filter's configuration.
  • By using the @ProcessFor annotation in the filter code.
A filter can be configured to process requests for specific servlets or URL patterns by specifying servlet names or URL patterns in the filter's configuration in the deployment descriptor.