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

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -