tomcat配置cgi

1、修改conf/web.xml

找到並將cgi的servlet和servlet-mapping的註釋去掉

  1. <servlet> 
  2.         <servlet-name>cgi</servlet-name> 
  3.         <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class> 
  4.         <init-param> 
  5.           <param-name>debug</param-name> 
  6.           <param-value>0</param-value> 
  7.         </init-param> 
  8.         <init-param> 
  9.           <param-name>cgiPathPrefix</param-name> 
  10.           <param-value>cgi-bin</param-value> 
  11.         </init-param> 
  12.          <load-on-startup>5</load-on-startup> 
  13.     </servlet> 

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

  1. <servlet-mapping> 
  2.         <servlet-name>cgi</servlet-name> 
  3.         <url-pattern>/cgi-bin/*</url-pattern> 
  4. </servlet-mapping> 

/cgi-bin/*意思是,訪問cgi文件的默認地址爲cgi-bin/*

2、修改conf/context.xml

  1. <?xml version='1.0' encoding='utf-8'?> 
  2. <Context privileged="true"> 
  3.  
  4.     <!-- Default set of monitored resources --> 
  5.     <WatchedResource>WEB-INF/web.xml</WatchedResource> 
  6.      
  7.     <!-- Uncomment this to disable session persistence across Tomcat restarts --> 
  8.     <!--
  9.     <Manager pathname="" />
  10.     --> 
  11.  
  12.     <!-- Uncomment this to enable Comet connection tacking (provides events 
  13.          on session expiration as well as webapp lifecycle) --> 
  14.     <!--
  15.     <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
  16.     --> 
  17.  
  18. </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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章