title: Exception starting filter struts2 java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
body: <p>I just started learning struts2 when I am trying to deploy to tomcat I am encountering the following error</p>
  
  <pre><code>Exception starting filter struts2
  java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  </code></pre>
  
  <p>I went through couple of other posts but I am unable to resolve the issue please help me.. 
  Thanks much !</p>
  
  <p>/<strong><em>here is the web.xml file I am using</em></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;Struts2Start&lt;/display-name&gt;
  &lt;welcome-file-list&gt;
  &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
  &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
  &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
  &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
  &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
  &lt;welcome-file&gt;default.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.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;/web-app&gt;
  </code></pre>
  
  <p>/<strong>Struts.xml</strong>/</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE struts PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd"&gt;
  &lt;struts&gt;
     &lt;package name="default" extends="struts-default"&gt;
      &lt;action name="getTutorial" class="com.javabrains.struts.action.TutorialAction"&gt;
        &lt;result name="success"&gt;/success.jsp&lt;/result&gt;
        &lt;result name="error"&gt;/error.jsp&lt;/result&gt;
      &lt;/action&gt;
     &lt;/package&gt;
  &lt;/struts&gt;
  </code></pre>
  
  <p>/<strong><em>console</em></strong>/</p>
  
  <pre><code>SEVERE: Exception starting filter struts2
  java.lang.ClassNotFoundException:     org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
  at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
  at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
  at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
  at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
  at org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:107)
  at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
  at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
  at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
  at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
  at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
  at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656)
  at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1635)
  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
  at java.util.concurrent.FutureTask.run(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)
  </code></pre>