[opencms-dev] Re: Declare http status (404/301/...) in JSP
Martin van den Bemt
mvdb at ibl-software.nl
Tue Nov 22 12:22:39 CET 2005
Thorsten Duhn wrote:
> Hello,
>
>> It seems to me it's got the do with this entry in the web.xml :
>> <error-page>
>> <error-code>404</error-code>
>> <location>/opencms/handle404</location>
>> </error-page>
>> If the handle404 cannot find a resource it probably is just not
>> sending a 404 to the browser, just a page saying that the resource
>> is not found (afaik)..
>> So in my view, the 404handler in opencms needs fixing.
>
>
> are you sure this is the same problem? I would think, this is
> for the handling of "real" 404s, means that a requested file
> is not available in VFS. Isn't that fixed already?
I am not on the latest and greatest I must admit :) And now you mention
it I am not sure it is the same problem :)
>
> What I'm talking about is to explicitly set a http response in
> a jsp page (f.e. based on request parameters, an id of my own
> database content, where no content is returned for this id).
> I can set a 404 in response object, but it is never sent to
> browser, it obviously is replaced by OpenCms with a 200 status
> again.
Couple of things (maybe obvious, but you never know) :
- after a response.sendError(404) you should directly stop processing
the jsp, so add a return after the sendError
- It could be that the response object is wrapped by opencms (if I am
not mistaken it is). Try to get the original response and invoke a
sendError on that object directly (if opencms actually override sendError)
Hope this helps :)
Mvgr,
Martin
More information about the opencms-dev
mailing list