@Jeanfrancois
Thanks for your response, If your project consist of hundreds of classes, it is not a criminal offence to get one of two servlet names or path wrong. For instance:
<listener-class>com.xxxx.foo1.web.listener.StartupTimerServletContextListener</listener-class>
instead of
<listener-class>com.xxxx.foo2.web.listener.StartupTimerServletContextListener</listener-class>
Of course when you try to render (say) index.jsp, glassfish will display a 404. Or if you forget (say) one of the essential apache commons libraries. you will also get a 404 when you try to render index.jsp.
[b]>>Usually when deployment pass but loading of the Servlet fail, you are
supposed to receive a 503 Not Available. But when the deployment fail,
The WebContainer has no idea about the failed deployment so it is
expected to get a 404.[/b]
I also don't understand your use of “deployment” because I am talking about POST-DEPLOYMENT—that is after a successful verification, and after a successful deployment--, whereas you are still talking about pre-deployment and deployment scenarios.
Anyway, after 404, if you look in the service.log you would see:
[b]...ab781b97cf0;|PWC6117: File "/home/applications/glassfish/domains/domain1/docroot/foo-web/index.jsp" not found|#][/b]
Why? Is the 404 caused by:
1. (say) a missing jar OR
2. because glassfish thinks the index.jsp is in “[b].../glassfish/domains/domain1/docroot/”[/b] path but couldn't find it AND decides to display a 404?
[Message sent by forum member 'nuffsaidx' (nuffsaidx)]
http://forums.java.net/jive/thread.jspa?messageID=325064