What is the difference in the URL seen by the client when using forward() vs sendRedirect() in servlets?
- The client sees the new URL in both cases
- The client sees the new URL with forward() and the original URL with sendRedirect()
- The client sees the original URL in both cases
- The client sees the original URL with forward() and the new URL with sendRedirect()
The difference lies in what the client sees: with forward(), the client sees the original URL, while with sendRedirect(), the client sees the new URL.
The scope of ServletContext is:
- Application
- Page
- Request
- Session
The ServletContext has the scope of the entire application (web context). It is used to share information across servlets in the same web application and is often used for initialization and configuration.
When designing a servlet that handles sensitive data, which header should be set to secure the response?
- Access-Control-Allow-Origin, setHeader()
- Strict-Transport-Security, setHeader()
- X-Content-Type-Options, setHeader()
- X-Frame-Options, setHeader()
To secure the response when handling sensitive data, the Strict-Transport-Security header should be set using the setHeader() method in the HttpServletResponse.
The __________ method is used to initialize the filter with configuration parameters.
- configure(FilterConfig config)
- init(FilterConfig config)
- initialize(FilterConfig config)
- setup(FilterConfig config)
The init(FilterConfig config) method is used to initialize the filter with configuration parameters.
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.
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 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.
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.
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.
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.
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.
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.