java - How to debug servlet 404 -
i have servlet url mapping ""(empty string). it's supposed mapped context root (i'm using tomcat7 eclipse).
but when refresh browser, page displays 404 page. , quick fix re-run(inside eclipse). , after while same 404 error comes back. i'm frustrated this. there way trace how on earth mapped url pattern can (most of time ok) lead 404?
edit 1: ok, here details of configuration , code: have apache httpd in front of tomcat server. request forwarded using mod_proxy
<ifmodule mod_proxy_http.c> proxypass /myapp http://127.0.0.1:8080/myapp proxypassreverse /myapp http://127.0.0.1:8080/myapp </ifmodule> and here servlet: (processrequest called both dopost , doget)
@webservlet("") public class rootservlet extends httpservlet { private static final long serialversionuid = 1l; protected void processrequest(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { system.out.println("root servlet"); try { this.handlehomepage(request, response); } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (namingexception e) { // todo auto-generated catch block e.printstacktrace(); } } private void handlehomepage(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception, sqlexception, namingexception { httpsession session = request.getsession(false); if (session != null && session.getattribute(config.session_auth_email) != null) { string email = (string) session.getattribute(config.session_auth_email); request.getrequestdispatcher("/web-inf/jsp/main/home.jsp").forward(request, response); } else { request.getrequestdispatcher("/web-inf/jsp/main/index.jsp").forward(request, response); } } /** * @see httpservlet#doget(httpservletrequest request, httpservletresponse response) */ protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { this.processrequest(request, response); } /** * @see httpservlet#dopost(httpservletrequest request, httpservletresponse response) */ protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { this.processrequest(request, response); } } web.xml
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="webapp_id" version="3.0"> <error-page> <error-code>404</error-code> <location>/web-inf/jsp/error/404.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/web-inf/jsp/error/500.jsp</location> </error-page> <servlet> <servlet-name>info-about</servlet-name> <jsp-file>/web-inf/jsp/info/about.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>info-about</servlet-name> <url-pattern>/about</url-pattern> </servlet-mapping> <servlet> <servlet-name>info-help</servlet-name> <jsp-file>/web-inf/jsp/info/help.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>info-help</servlet-name> <url-pattern>/help</url-pattern> </servlet-mapping> <servlet> <servlet-name>info-contact</servlet-name> <jsp-file>/web-inf/jsp/info/contact.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>info-contact</servlet-name> <url-pattern>/contact</url-pattern> </servlet-mapping> <servlet> <servlet-name>info-terms</servlet-name> <jsp-file>/web-inf/jsp/info/terms.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>info-terms</servlet-name> <url-pattern>/terms</url-pattern> </servlet-mapping> <servlet> <servlet-name>info-privacy</servlet-name> <jsp-file>/web-inf/jsp/info/privacy.jsp</jsp-file> </servlet> <servlet-mapping> <servlet-name>info-privacy</servlet-name> <url-pattern>/privacy</url-pattern> </servlet-mapping> </web-app> the log printed eclipse shows nothing. 404. i found problem occur when edit , save changes. eclipse auto reload context , home page returns 404.
ok, might bug tomcat 7.0.40 https://issues.apache.org/bugzilla/show_bug.cgi?id=54955
Comments
Post a Comment