让Jboss 支持SSI

SSI(Server Side Includes)是英文Server Side Includes的缩写,翻译成中文就是服务器端包含的意思。从技术角度上说,SSI就是HTML文件中,可以通过注释行调用的命令或指针。SSI 具有强大的功能,只要使用一条简单的SSI 命令就可以实现整个网站的内容更新,动态显示时间和日期,以及执行shell和CGI脚本程序等复杂的功能。

    SSI最初在NCSA服务器平台上推出,在Apache服务器中得到扩展和加强,目前已经可以在几乎所有的服务器上运行。本文将主要介绍如何在JBoss 5.1下配置SSIServlet启用SSI。

    JBoss 5.1内置对SSI的支持,但是默认是没有启用的,需要修改配置启用SSI,在JBoss下启用SSI主要由两步(以defualt配置为例):
    1. 启用SSIServlet,修改${JBOSS_HOME}/server/default/deployers/jbossweb.deployer/web.xml, 找到Servlet配置,可以看到对SSI的配置已经被注释了,去掉注释就可以启用SSIServlet了。

<!--Server Side Includes processing servlet, which processes SSI-->
      
    <servlet>
        <servlet-name>ssi</servlet-name>
        <servlet-class>
            org.apache.catalina.ssi.SSIServlet
        </servlet-class>
        <init-param>
            <param-name>buffered</param-name>
            <param-value>1</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>expires</param-name>
            <param-value>666</param-value>
        </init-param>
        <init-param>
             <param-name>isVirtualWebappRelative</param-name>
             <param-value>0</param-value>
        </init-param> 

<!--加入如下代码-->

 <init-param>
  <param-name>inputEncoding</param-name>
  <param-value>GB2312</param-value>
  </init-param>
  <init-param>
  <param-name>outputEncoding</param-name>
  <param-value>GB2312</param-value>
  </init-param>
        <load-on-startup>4</load-on-startup>
    </servlet>


<!-- The mapping for the SSI servlet -->

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

    2. 设置SSIServlet的安全策略,由于SSIServlet会访问应用服务器的外部资源,例如shell、cgi,因此需要配置其安全策略,否则JBoss在启动的时候会抛出SecurityException例外,为SSIServlet设置安全策略的方式很简单,修改${JBOSS_HOME}/server/default/deploy/jbossweb.sar/context.xml,在根结点上增加 privileged="true"即可。

    通过同样的方式可以在JBoss 5.1下启用http invoker, cgi等Servlet。

 

 

 

 

JBoss4.2.2开启SSI

在jboss的\server\default\deploy\jboss-web.deployer\conf中修改web.xml,打开其中的SSI的servlet及mapping配置,

除此之外,还要修改\server\default\deploy\jboss-web.deployer\context.xml,在其中加入privileged="true",即:

<Context cookies="true" crossContext="true" privileged="true">。

ok,大功告成。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值