title: Tomcat v7.0 Load Exception - Marking servlet ssi as unavailable
body: <p>New install of Tomcat v7.0 and Eclipse. Attempting to load SSI Servlet support. Have modified context.xml and web.xml as per Tomcat instructions.</p>
  
  <p>Context.xml (relevant fragments shown): </p>
  
  <pre><code>&lt;Context reloadable="true" privileged="true"&gt;
  
      &lt;!-- Default set of monitored resources --&gt;
      &lt;WatchedResource&gt;WEB-INF/web.xml&lt;/WatchedResource&gt;
  
  
  &lt;/Context&gt;
  </code></pre>
  
  <p>web.xml (relevant fragments shown):</p>
  
  <pre><code>   &lt;servlet&gt;
          &lt;servlet-name&gt;ssi&lt;/servlet-name&gt;
          &lt;servlet-class&gt;
            org.apache.catalina.ssi.SSIServlet
          &lt;/servlet-class&gt;
          &lt;init-param&gt;
            &lt;param-name&gt;buffered&lt;/param-name&gt;
            &lt;param-value&gt;1&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;init-param&gt;
            &lt;param-name&gt;debug&lt;/param-name&gt;
            &lt;param-value&gt;0&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;init-param&gt;
            &lt;param-name&gt;expires&lt;/param-name&gt;
            &lt;param-value&gt;666&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;init-param&gt;
            &lt;param-name&gt;isVirtualWebappRelative&lt;/param-name&gt;
            &lt;param-value&gt;0&lt;/param-value&gt;
          &lt;/init-param&gt;
          &lt;load-on-startup&gt;4&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
  
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;ssi&lt;/servlet-name&gt;
          &lt;url-pattern&gt;*.shtml&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  </code></pre>
  
  <p>But I'm still getting the following Load Exception: </p>
  
  <pre><code>Mar 23, 2012 12:06:00 PM org.apache.catalina.core.StandardContext loadOnStartup
  SEVERE: Servlet  threw load() exception
  java.lang.SecurityException: Restricted class org.apache.catalina.ssi.SSIServlet
      at 
  
  org.apache.catalina.core.DefaultInstanceManager.checkAccess(DefaultInstanceManager.java:548)
          at org.apache.catalina.core.DefaultInstanceManager.checkAccess(DefaultInstanceManager.java:539)
      at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
      at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5001)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5289)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1525)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1515)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)
  
  Mar 23, 2012 12:06:00 PM org.apache.catalina.core.ApplicationContext log
  INFO: Marking servlet ssi as unavailable
  </code></pre>
  
  <p>I've tried everything I can think of. Can anyone advise on how to fix this?
  thanks!</p>