This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes setStatus() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "setStatus()" Watch "setStatus()" New topic
Author

setStatus()

cyril vidal
Ranch Hand

Joined: Jul 02, 2003
Posts: 247
Hi,
Exam Study Kit p.97
The method setStatus(int sc) is similar to the sendError() methods in the sense that we may use it to set the status codes representing errors in the response. However, an important point about the setStatus method is that , unlike the sendError() methods, it does not trigger the container to generate an error page. It just sends the status code to the browser, which is displayed by the browser as per its setting
.
I don't really understand this sentence. I've tried this following simple code:

and my browser displays an blue/white 400 error page, as expected.
By adding a declarative error handling in my web.xml like this:

the redirection to the ExceptionHandlerServlet is well done also.
So what does the sentence mean exactly?
Thanks for your response,
Cyril.


SCJP 1.4, SCWCD, SCBCD, IBM XML, IBM Websphere 285, IBM Websphere 287
cyril vidal
Ranch Hand

Joined: Jul 02, 2003
Posts: 247
Please tell me if I'm wrong in thinking that the sentence
setStatus() from javax.servlet.http.HttpServletResponse, unlike the sendError() methods, doesn't trigger the container to generate an error page

Indeed, with Tomcat, setStatus method trigger the container to generate a jakarta tomcat error page.
So what's the real difference between setStatus et sendError page, except that with setStatus we can't send a message?
I would be very grateful for any light on this topic,
Regards,
Cyril.
Dong Shing
Greenhorn

Joined: Oct 24, 2003
Posts: 12
You are good. The difference lies in the implementation of Servlet and JSP container. The specification of Servlet and JSP doesn't REQUIRE the container to generate the error page triggered by setStatus. However, it doesn't prohibit doing that either.
There are a lot of discrepancies between the specifications and implementation. So it is just a fact of life. Tomcat has a very good compliance with the specification, which doesn't necessarily mean it cannot exceed the specifications.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: setStatus()
 
Similar Threads
sybex chap 5 question 1
setStatus()
Loop issue in ExceptionHandlerServlet
Difference in status and error codes
Confused with flush() behavior