`

让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,大功告成。

 

分享到:
评论

相关推荐

    【个人经验】SSH集成步骤 SSI集成步骤

    SSH和SSI是两种常见的Java企业级开发框架,用于构建高效、可扩展的Web应用程序。SSH分别代表Struts、Spring和Hibernate,而SSI则通常指Spring和iBatis。这篇文章将详细解析这两个集成过程以及相关缓存技术。 首先,...

    JAVA技术路线图.docx

    中级软件工程师阶段,需要精通SSH、SSI、SSH2和SSI2这四种经典架构,即Struts、Spring和Hibernate的组合。了解并能运用Struts1和2的配置、组件、标签库,Spring的IoC容器、MVC模式,以及Hibernate的持久化操作。 ...

    Apache2.2.25

    2. **Mod_cluster**:这是一个可选的模块,特别适用于JBoss应用服务器,它提供了一种高级的负载均衡解决方案,能够动态检测后端节点的状态并相应地调整流量分配。 3. **KeepAlive**:这个特性允许客户端与服务器...

    java技术体系图

    - **SSH1/SSI1/SSH2/SSI2**:Struts、Spring、Hibernate/iBatis的不同组合。 - **Struts1/Struts2**: - **配置**、**组件**、**标签库**、**国际化**、**数据校验**。 - **数据库开发**:通过ORM技术。 - **...

    java程序员技术体系

    随着经验的积累,中级软件工程师会深入学习四大经典架构SSH1、SSI1、SSH2和SSI2,包括Struts1和Struts2表现层框架,Spring业务层框架以及Hibernate和iBATIS持久层框架。这些框架提供了模型-视图-控制器(MVC)模式的...

    Java技术体系图.docx

    还包括Java事务管理(JTA)、验证和授权服务(JAAS)、命名和目录服务(JNDI)、邮件服务(JavaMail)、信息服务(JMS)、应用服务器(如JBoss、WebLogic、WebSphere)等。 Java技术体系的深度和广度使得它在各种...

    Java程序猿技术路线图

    * 四种经典架构 SSH1、SSI1、SSH2、SSI2 * Struts1 表现层框架:入门配置、核心组件、标签库、国际化、数据检验、数据库开发、Sitemesh 集成、集成 Hibernate/iBATIS * Struts2 表现层框架:入门配置、核心组件、...

    Java课程体系

    2. SSI框架:学习Struts2、Spring Security、Spring Integration等,理解它们在大型企业级应用中的角色。 3. 服务技术:掌握WebServices(如SOAP、REST)、CORBA、SOA,理解服务间的交互和集成。 4. 构建工具:学习...

    java web方向学习曲线图

    中级阶段,开发者将深入学习经典的SSH(Struts+Spring+Hibernate)和SSI(Struts2+Spring+Hibernate)架构,以及相关框架如Struts1和2、Spring MVC、Hibernate等,还包括数据库开发、数据校验、国际化、集成等。...

    JAVA技术路线图.pdf

    随着技能的提升,中级软件工程师会涉及SSH、SSI等经典架构,如Struts1和Struts2的表现层框架,Spring的业务层框架,以及Hibernate持久层框架。这些框架的集成和使用能够提升开发效率,实现更复杂的功能。 高级软件...

    JAVA技术体系.pdf

    - **经典架构**:如SSH(Struts + Spring + Hibernate)、SSI(Struts + Spring + iBATIS)等,用于构建企业级应用。 - **Struts1&2**:表现层框架,用于处理HTTP请求和视图呈现。 - **Spring**:业务层框架,...

Global site tag (gtag.js) - Google Analytics