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.
What is the correct order of method invocation in a filter's lifecycle?
- destroy(), init(), doFilter()
- doFilter(), init(), destroy()
- init(), destroy(), doFilter()
- init(), doFilter(), destroy()
The correct order of method invocation in a filter's lifecycle is init(), doFilter(), and destroy().
The __________ method of the FilterChain interface is used to invoke the next filter in the chain.
- doFilter()
- invokeNext()
- nextFilter()
- proceed()
The doFilter() method of the FilterChain interface is used to invoke the next filter in the chain.
The filter's __________ method is invoked for every request/response pair processed by the filter.
- doFilter()
- doProcessing()
- execute()
- process()
The filter's doFilter() method is invoked for every request/response pair processed by the filter.
The method __________ is used to handle request and response objects in a filter.
- doFilter()
- filterRequest()
- initFilter()
- processFilter()
The method doFilter() is used to handle request and response objects in a filter.
Filters are configured in the __________ file of a web application.
- filter-config.xml
- filter.xml
- web-config.xml
- web.xml
Filters are configured in the web.xml file of a web application.
The __________ method is called by the web container to indicate to a filter that it is being taken out of service.
- close()
- destroy()
- release()
- terminate()
The destroy() method is called by the web container to indicate to a filter that it is being taken out of service.
If a filter needs to perform different actions based on whether the request is an HTTP GET or POST, where should this logic be implemented?
- In the destroy() method
- In the doFilter() method
- In the init() method
- In the service() method
The logic for different actions based on HTTP GET or POST requests should be implemented in the doFilter() method of the filter. This method is responsible for processing the request and can be customized for different scenarios.
How would you ensure a filter only processes requests for a specific servlet?
- Check the servlet name in the configuration
- Set a specific attribute in the request
- Use if conditions in the doFilter() method
- Use the url-pattern in the filter mapping
To ensure a filter processes requests for a specific servlet, configure the filter mapping in the deployment descriptor (web.xml) using the url-pattern element with the appropriate servlet mapping.
How does the load-on-startup element in web.xml affect a servlet's lifecycle?
- It controls the number of instances created for a servlet when handling client requests.
- It decides whether a servlet should be loaded automatically or on demand.
- It determines the order in which servlets are initialized when the application starts.
- It specifies the maximum number of times a servlet can be loaded during the application's lifecycle.
The load-on-startup element in the web.xml file specifies the order in which servlets should be initialized when the application starts. Servlets with lower values are initialized first.