问题:在Apache5.0和5.5种,我需要为每一个程序修改web.xml文件中的servlet的名字,类的名字等等信息。而这些是在ApacheTomcat4.0中不曾看到的。为什么会这样呢?
JeffHanson回答:根据Tomcat5.0发布的说明:
“让web应用程序可以问CGI和SSI,这在当使用一个安全管理程序(例如一个恶意的Web应用程序可以使用它们来躲开安全管理程序来获得访问控制)会制造安全问题。在Tomcat5.0,它们都被设置为不被许可的,因为我们的目标是提供一个完全安全的默认设置。尽管如此,CGI和SSI仍然是可以使用的。”
如何可以使用CGI:把文件$CATALINA_HOME/server/lib/servlets-cgi.renametojar重新命名为$CATALINA_HOME/server/lib/servlets-cgi.jar.
#8226;在文件$CATALINA_HOME/conf/web.xml中,你需要把两个地方的注视去掉,servlet声明和servletmapping。servlet声明看起来类似于下面::
<servlet>
<servlet-name>cgi</servlet-name>
...
</servlet>
而servletmapping看起来类似于下面::
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
这些servlet声明和mappings可以交替地加入到你的Web应用程序部署描述符中。
使得SSI可用:
?把文件$CATALINA_HOME/server/lib/servlets-ssi.renametojar重新命名为$CATALINA_HOME/server/lib/servlets-ssi.jar.
#8226;在文件$CATALINA_HOME/conf/web.xml中,你需要把两个地方的注视去掉,servlet声明和servletmapping。servlet声明看起来类似于下面:
<servlet>
<servlet-name>ssi</servlet-name>
...
</servlet>
而servletmapping看起来类似于下面:
<servlet-mapping>
<servlet-name>ssi</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
这些servlet声明和mapping可以交替地加入到你的Web应用程序部署描述符中。"