The correct options are in bold. Can anybody please give me an example of forwrding a request to the error handing servlet by request.getRequestDispatcher()??
The explanation given by the Enthuware is:--
An error handler servlet should have access to 4 attributes: javax.servlet.error.status_code, javax.servlet.error.exception, javax.servlet.error.servlet_name, and javax.servlet.error.request_uri.
So, if you are forwarding the request to an error handling servlet manualy using RequestDispatcher, you should set the above attributes in the request before forwarding the request to the servlet.
javax.servlet.error.exception_type and javax.servlet.error.message are basically redundant because these can be derived from the javax.servlet.error.exception attribute which contains the exception object
Thanks in advance
Now the respective error page defined in the web.xml file will be called. But if I want to show a different error page than declared in the web.xml, then I'll just forward the request in the catch block
The request attributes are just to make sure that any normal error page can be displayed. Since these are the attributes that are automatically set by the servlet container in the first example, so you should set them in the second case to maintain consistency. But you are not forced to do this. This is just a convention. I can create an error page which is not dependent on these attributes and then I'll not need to set these attributes. This is why the question is like this-
which of the following attributes would you set in the request?