Apache Tomcat 容器配置CGI

来源:互联网 发布:古天乐李泽楷关系 知乎 编辑:程序博客网 时间:2024/04/30 02:28

1、修改conf/web.xml

找到并将cgi的servlet和servlet-mapping的注释去掉<servlet>
       <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>WEB-INF/cgi</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>

注意:其中cgiPathPrefix是cgi文件的存放路径,默认是WEB-INF/cgi,

<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

原创粉丝点击