title: struts2 annotation there is no action mapped for namespace / and action name
body: <p>You may find this as duplicate but I'm not getting what is wrong with my code, so please help me out</p>
  
  <p>I'm switching from using <code>struts.xml</code> to struts 2 <code>convention-plugin</code> and having problem with mapping action</p>
  
  <pre><code>there is no action mapped for namespace [/] and action name [login] associated with context path [/eCensus] 
  </code></pre>
  
  <p><strong>Project Strucure</strong></p>
  
  <p><a href="https://i.stack.imgur.com/iuH5z.png" rel="nofollow"><img src="https://i.stack.imgur.com/iuH5z.png" alt="enter image description here"></a></p>
  
  <p><strong>web.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" 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"&gt;
    &lt;display-name&gt;eCensus&lt;/display-name&gt;
    &lt;welcome-file-list&gt;
      &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
    &lt;/welcome-file-list&gt;
  
    &lt;filter&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
      &lt;filter-class&gt;org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&gt;
      &lt;init-param&gt;
          &lt;param-name&gt;struts.devMode&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/init-param&gt;
      &lt;init-param&gt;
          &lt;param-name&gt;actionPackages&lt;/param-name&gt;
          &lt;param-value&gt;com.shantaram.ecensus.actions&lt;/param-value&gt;
      &lt;/init-param&gt;
    &lt;/filter&gt;
    &lt;filter-mapping&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
      &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
    &lt;/filter-mapping&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p><strong>LoginAction class</strong></p>
  
  <pre><code>package com.shantaram.ecensus.actions;
  
  import com.opensymphony.xwork2.ActionSupport;
  import com.opensymphony.xwork2.Preparable;
  
  public class LoginAction extends ActionSupport implements Preparable {
  
      private static final long serialVersionUID = 1L;
  
      @Override
      public void prepare() throws Exception {
          // TODO Auto-generated method stub
          System.out.println("prepare Login Action");
      }
  
      @Override
      public String execute() throws Exception {
          // TODO Auto-generated method stub
          return super.execute();
      }
  
  }
  </code></pre>
  
  <p><strong>Jars I'm using</strong></p>
  
  <p><a href="https://i.stack.imgur.com/argbH.png" rel="nofollow"><img src="https://i.stack.imgur.com/argbH.png" alt="enter image description here"></a></p>