正 文

在apach5.x中改变servlet的上下文


www.7dspace.com  更新日期:2005-10-21 2:11:03  七度空间


  在Apache 5.0 和 5.5种,我需要为每一个程序修改web.xml文件中的servlet的名字,类的名字等等信息。而这些是在Apache Tomcat 4.0中不曾看到的。为什么会这样呢?

  Jeff Hanson:根据Tomcat 5.0发布的说明:

  “让web应用程序可以问CGI 和SSI,这在当使用一个安全管理程序(例如一个恶意的Web应用程序可以使用它们来躲开安全管理程序来获得访问控制)会制造安全问题。在Tomcat 5.0,它们都被设置为不被许可的,因为我们的目标是提供一个完全安全的默认设置。尽管如此,CGI 和SSI仍然是可以使用的。”

      如何可以使用CGI:

• 把文件$CATALINA_HOME/server/lib/servlets-cgi.renametojar重新命名为$CATALINA_HOME/server/lib/servlets-cgi.jar.

• 在文件$CATALINA_HOME/conf/web.xml中,你需要把两个地方的注视去掉,servlet声明和servlet mapping。servlet 声明看起来类似于下面

    <servlet>
        <servlet-name>cgi</servlet-name>
        ...
    </servlet>

     而servlet mapping看起来类似于下面::

    <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.
• 在文件$CATALINA_HOME/conf/web.xml中,你需要把两个地方的注视去掉,servlet 声明和servlet mapping。 servlet 声明看起来类似于下面:

    <servlet>
        <servlet-name>ssi</servlet-name>
        ...
    </servlet>

而servlet mapping看起来类似于下面:

   <servlet-mapping>
        <servlet-name>ssi</servlet-name>
        <url-pattern>*.shtml</url-pattern>
    </servlet-mapping>

这些servlet 声明和mapping可以交替地加入到你的Web 应用程序部署描述符中。


上一篇:服务器集群对我来说有必要吗?
下一篇:网络服务器安全问题初探
作者:  来源:Techtarget ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐