Servlet聲明和mapping替換你的Web
在Apache 5.0 和 5.5種,我需要為每一個(gè)程序修改web.xml文件中的Servlet的名字,類的名字等等信息。而這些是在Apache Tomcat 4.0中不曾看到的。為什么會這樣呢?
Jeff Hanson回答:根據(jù)Tomcat 5.0發(fā)布的說明:
“讓web應(yīng)用程序可以問CGI 和SSI,這在當(dāng)使用一個(gè)安全管理程序(例如一個(gè)惡意的Web應(yīng)用程序可以使用它們來躲開安全管理程序來獲得訪問控制)會制造安全問題。在Tomcat 5.0,它們都被設(shè)置為不被許可的,因?yàn)槲覀兊哪繕?biāo)是提供一個(gè)完全安全的默認(rèn)設(shè)置。盡管如此,CGI 和SSI仍然是可以使用的。”
如何可以使用CGI:
把文件$CATALINA_HOME/server/lib/Servlets-cgi.renametojar重新命名為$CATALINA_HOME/server/lib/Servlets-cgi.jar.
#8226; 在文件$CATALINA_HOME/conf/web.xml中,你需要把兩個(gè)地方的注視去掉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 應(yīng)用程序部署描述符中。
使得SSI可用:
? 把文件$CATALINA_HOME/server/lib/Servlets-ssi.renametojar重新命名為$CATALINA_HOME/server/lib/Servlets-ssi.jar.
#8226; 在文件$CATALINA_HOME/conf/web.xml中,你需要把兩個(gè)地方的注視去掉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 應(yīng)用程序部署描述符中。
【編輯推薦】