title: The Struts dispatcher cannot be found while deploy
body: <p>When I try to run my Spring + Struts 2 project on WL Server 9.2 (I have to user this version, so please don't ask me to user the newer version of WL Server), I had this error.</p>
  
  <p>The URL address in the browser is :</p>
  
  <pre><code>http://localhost:7003/SpringStrust2/
  </code></pre>
  
  <p>Full stacktrace:</p>
  
  <pre><code>The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Struts tags are only usable when the request has passed through its servlet filter, which initializes the Struts dispatcher needed for this tag. - [unknown location]
  at org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:60)
  at org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:44)
  at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:48)
  at jsp_servlet.__user._jsp__tag0(__user.java:115)
  at jsp_servlet.__user._jspService(User.jsp:12)
  at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3269)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2019)
  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1925)
  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1394)
  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
  at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
  </code></pre>
  
  <p>Here is my web.xml:</p>
  
  <pre><code>&lt;listener&gt;
      &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
  &lt;/listener&gt;
  
  &lt;filter&gt;
      &lt;filter-name&gt;struts2&lt;/filter-name&gt;
      &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/filter-class&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;welcome-file-list&gt;
      &lt;welcome-file&gt;User.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
  </code></pre>
  
  <p>struts.xml:</p>
  
  <pre><code>&lt;struts&gt;
  &lt;constant name="struts.enble.DynamicMethodInvocation" value="false" /&gt;
  &lt;constant name="struts.devMode" value="true" /&gt;
  &lt;constant name="struts.custom.i18n.resources" value="myapp" /&gt;
  
  &lt;package name="default" extends="struts-default"&gt;
      &lt;action name="user" class="user"&gt;
          &lt;result name="success"&gt;/success.jsp&lt;/result&gt;
          &lt;result name="input"&gt;/User.jsp&lt;/result&gt;
      &lt;/action&gt;
  &lt;/package&gt;
  &lt;/struts&gt;
  </code></pre>
  
  <p>user.jsp:</p>
  
  <pre><code>&lt;%@ taglib prefix="s" uri="/struts-tags"%&gt;
  &lt;html&gt;
  &lt;head&gt;
      &lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;
      &lt;title&gt;Spring + Struts2&lt;/title&gt;
  &lt;/head&gt;
  
  &lt;body&gt;
      &lt;s:form action="user" method="addUser"&gt;
          &lt;s:textfield name="username" key="user.name" /&gt;
          &lt;s:submit key="submit" /&gt;
      &lt;/s:form&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>I'm very sure about putting files in correct folders, including jar libraries in lib folder...</p>
  
  <p>Here is the list of jars I'm using:</p>
  
  <pre><code>antlr-runtime-3.0.jar 
  commons-fileupload-1.2.1.jar
  commons-io-1.3.2.jar
  commons-lang3-3.1.jar
  commons-logging-1.1.jar
  freemarker-2.3.13.jar 
  junit-3.8.1.jar 
  ornl-2.6.11.jar 
  org.springframework.asm-3.9.9.M3.jar
  org.springframework.beans-3.0.0.M3.jar
  org.springframework.context-3.0.0.M3.jar
  org.springframework.core-3.0.0.M3.jar
  org.springframework.web-3.0.0.M3.jar
  org.springframework.web.servlet-3.0.0.M3.jar
  struts2-convention-plugin-2.1.6.jar 
  struts2-core-2.1.6.jar
  struts2-spring-plugin-2.1.6.jar
  xwork-2.1.2.jar
  </code></pre>