0

Can some one let me know what is wrong in this web.xml servlet mapping?

It gives 404 error code when I deployed the app in tomcat. Figured its coming after I made a new servlet mapping for AdminUserManagerServlet. Can some please tell me what is the mistake in here? Is there a proper way to add multiple servlet mapping when there are filter mappings and listeners? Can some one please show me the mistake and how this can be solve out? Many Thanks!

<display-name>Travelocity.COM</display-name>


<servlet>
    <servlet-name>ForwardingServlet</servlet-name>
    <servlet-class>org.test.com.sso.agent.ForwardingServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet>
    <servlet-name>AdminUserManagerServlet</servlet-name>
    <servlet-class>org.test.com.sso.agent.AdminUserStoreManager</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>ForwardingServlet</servlet-name>
    <url-pattern>/samlsso</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>ForwardingServlet</servlet-name>
    <url-pattern>/openid</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>ForwardingServlet</servlet-name>
    <url-pattern>/token</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>ForwardingServlet</servlet-name>
    <url-pattern>/logout</url-pattern>
</servlet-mapping>

 <servlet-mapping>
    <servlet-name>AdminUserManagerServlet</servlet-name>
    <url-pattern>/rolesubmit</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>SSOAgentSampleFilter</filter-name>
    <filter-class>org.test.com.sso.agent.SSOAgentSampleFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>SSOAgentSampleFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>SSOAgentSampleFilter</filter-name>
    <url-pattern>/samlsso</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>SSOAgentSampleFilter</filter-name>
    <url-pattern>/openid</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>SSOAgentSampleFilter</filter-name>
    <url-pattern>/token</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>SSOAgentSampleFilter</filter-name>
    <url-pattern>/logout</url-pattern>
</filter-mapping>

<listener>
    <listener-class>org.test.com.sso.agent.SampleContextEventListener</listener-class>
</listener>

<listener>
    <listener-class>org.testi.com.identity.sso.agent.saml.SSOAgentHttpSessionListener</listener-class>
</listener>


<error-page>
    <exception-type>org.tesi.com.identity.sso.agent.SSOAgentException</exception-type>
    <location>/errors.jsp</location>
</error-page>

Ushani
  • 1,199
  • 12
  • 28
  • Which URLs result in 404 ? Does `/openid` still work ? Please also take a look at logfile in `CATALINA_HOME/logs`. What is in the error logfile ? – Aedvald Tseh Nov 02 '17 at 19:29
  • travelocity.com/index.jsp gives 404. Checked the log file it gives the same 404 – Ushani Nov 02 '17 at 19:36
  • Why do you expect `travelocity.com` to understand your code? This is very unclear. – stdunbar Nov 02 '17 at 23:35
  • What you mean Travelocity.com should understand?this is a sample which was working perfectly. Only thing I did was adding an extra servlet mapping – Ushani Nov 03 '17 at 02:34
  • Try to clean our project or rebuilt war file and deploy on tomcat , i hope this should be work for you – Sunil Nov 09 '17 at 07:46

1 Answers1

0

Both of your servlets have the <load-on-startup> attribute set to 1. That value is suppose to represent the start up sequence for the servlets. I would suggest you set one to 0 and the other to 1

  • Hi notyetanerd, I checked changing it. But still it gives 404. – Ushani Nov 02 '17 at 19:32
  • make sure you have not declared the same mapping using Annotations in your AdminUserManagerServlet class. is the AdminUserManagerServlet class location correct, the .java file should be located in the right package path under /classes/ . do the CATALINA logs tell you anything meaningful ? – notyetanerd Nov 02 '17 at 20:36
  • Sorry, no. There can be any number of servlets with the same `load-on-startup` value. When multiple servlets have the same value then the container is allowed to choose the order. See more details [here](https://stackoverflow.com/questions/809775/what-does-the-servlet-load-on-startup-value-signify) – stdunbar Nov 02 '17 at 23:37