In Manning''s book it is said that if you forward a request to an error page using a RequestDispatcher (which is not recommended), that you have to set some attributes in the request (what the servlet container would otherwise take care of). It also sais that you can get the servlet name from the request by calling req.getServletName(). But I don't understand this, because getServletName() is a method of ServletConfig, not of HttpServletRequest. Is this an error in the book or am I not understanding it? This is the code fragment:
try
{
double newBalance = debit(accountId, amount);
}
catch(InsufficientFundsException isfe)
{
req.setAttribute("javax.servlet.error.exception", isfe);
req.setAttribute("javax.servlet.error.request_uri",
req.getRequestURI());
req.setAttribute("javax.servlet.error.servlet_name",req.getServletName());
RequestDispatcher rd = req.getRequestDispatcher( /servlet/BusinessLogicExceptionHandlerSerlvet");
rd.forward(req, res);
Carlo