tomcat配置cgi

源于:http://blog.csdn.net/chcbz/article/details/6032924

1、修改conf/web.xml

找到并将cgi的servletservlet-mapping的注释去掉

    <servlet>  
            <servlet-name>cgi</servlet-name>  
            <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>  
            <init-param>  
              <param-name>debug</param-name>  
              <param-value>0</param-value>  
            </init-param>  
            <init-param>  
              <param-name>cgiPathPrefix</param-name>  
              <param-value>cgi-bin</param-value>  
            </init-param>  
             <load-on-startup>5</load-on-startup>  
        </servlet>  

注意:其中cgiPathPrefix是cgi文件的存放路径,默认是WEB-INF/cgi,我为了方面用awstats,所以改成cgi-bin

    <servlet-mapping>  
            <servlet-name>cgi</servlet-name>  
            <url-pattern>/cgi-bin/*</url-pattern>  
    </servlet-mapping>  

/cgi-bin/*意思是,访问cgi文件的默认地址为cgi-bin/*

2、修改conf/context.xml

    <?xml version='1.0' encoding='utf-8'?>  
    <Context privileged="true">  
      
        <!-- Default set of monitored resources -->  
        <WatchedResource>WEB-INF/web.xml</WatchedResource>  
          
        <!-- Uncomment this to disable session persistence across Tomcat restarts -->  
        <!-- 
        <Manager pathname="" /> 
        -->  
      
        <!-- Uncomment this to enable Comet connection tacking (provides events  
             on session expiration as well as webapp lifecycle) -->  
        <!-- 
        <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> 
        -->  
      
    </Context>  

修改<Context>添加privileged="true"属性,否则页面提示Servlet CGI is not availabled,且tomcat会有错误提示java.lang.SecurityException: Restricted classclass org.apache.catalina.servlets.CGIServlet

3、如果tomcat的版本是6以下的,必须将server/lib/目录下的servlets-cgi.renametojar改名为servlets-cgi.jar

原文地址:https://www.cnblogs.com/KeenLeung/p/3023185.html