之前,我知道tomcat可以直接解析shtml文件,在浏览器中显示效果来,后来由于需求发生改变,比如说 在做静态化生成的时候一个网站的头部和底部都是一样的,如果每个页面都生成一次,显然很浪费时间,所有我们可以把 这个共同的头部 和底部挖出来单独生成,然后通过shtml嵌套显示,就可以了。可是怎么导入静态头部和底部呢??有好的标签吗??有 shtml中有include标签导入外部文件显示。

例如:<!--#include virtual="${ctx}/web/header.html"-->(这个不是注释,shtml导入标签就是这么写的)。

如果直接这样子使用,tomcat是无法解析的。还需要在tomcat中做两下简单的配置:

第一:在 tomcat/conf/context.xml 中加上 privileged="true" ,表示享有特权的,

第二:在 tomcat/conf/web.xml中 关于name=“ssi”的servlet 配置取消掉注释,包括该servlet的映射配置。

如下:

  1. <servlet>
  2. <servlet-name>ssi</servlet-name>
  3. <servlet-class>
  4. org.apache.catalina.ssi.SSIServlet
  5. </servlet-class>
  6. <init-param>
  7. <param-name>buffered</param-name>
  8. <param-value>1</param-value>
  9. </init-param>
  10. <init-param>
  11. <param-name>debug</param-name>
  12. <param-value>0</param-value>
  13. </init-param>
  14. <init-param>
  15. <param-name>expires</param-name>
  16. <param-value>666</param-value>
  17. </init-param>
  18. <init-param>
  19. <param-name>isVirtualWebappRelative</param-name>
  20. <param-value>0</param-value>
  21. </init-param>
  22. <!--- <span style="color:#FF0000;">这里需要手动添加</span> -->
  23. <init-param>
  24. <param-name>inputEncoding</param-name>
  25. <param-value>UTF-8</param-value>
  26. </init-param>
  27. <init-param>
  28. <param-name>outputEncoding</param-name>
  29. <param-value>UTF-8</param-value>
  30. </init-param>
  31. <load-on-startup>4</load-on-startup>
  32. </servlet>
  33. <servlet-mapping>
  34. <servlet-name>ssi</servlet-name>
  35. <url-pattern>*.shtml</url-pattern>
  36. </servlet-mapping>

备注:红色部分需要手动添加,不然在显示的页面中会乱码。

基本上这样子配置之后tomcat就回帮你解析shtml的include标签了。感觉还是蛮方便,蛮强大的。

另外:

导入的文件可以不是完整的页面,就是说可以不用包含html标签,直接写几个div什么的也是可以的。

如果在页面上报错:    [an error occurred while processing this directive]  是因为导入的文件不存在引发的。

配置tomcat让shtml嵌套文件显示的更多相关文章

  1. 数据库存储图片相对路径使用问题,配置tomcat的server.xml文件

    我想从前端读取路径的时候,必须输入相对路径+根路径,但是我数据库中存的相对路径 接下来讲解如何通过相对路径获得照片 首先我们需要在tomcat的server.xml文件中更改属性,eslipse可以直 ...

  2. (转)Linux服务器安装配置tomcat

    这里首先说明下,Linux下的Tomcat没有32位和64位的区分. tomcat是分windows版本与linux版本的,windows版本一般以exe或者zip格式:linux版本一般以tar.g ...

  3. 配置Tomcat的server.xml以适应web-content文件系统的位置改变

    刚才把写的一对jsp.html文件夹改变了位置,然后测试的时候出现了404 后来思考,应该去重新配置tomcat的server.xml文件,修改虚拟路径对应的文件系统路径,修改为当前对应的文件系统路径 ...

  4. 配置tomcat,实现域名访问项目

    首先,配置tomcat端口号为80,配置方法:配置tomcat,访问端口改为80 然后,配置访问项目时候,不用项目名,配置方法:配置tomcat,使访问项目时候无项目名 最后,配置tomcat的ser ...

  5. nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例

    nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例 二级域名配置 在/etc/nginx/conf.d/目录下配置二级域名同名的conf文件,路径改成对应的即可 statics. ...

  6. eclipse:eclipse for java EE环境下如何配置tomcat服务器,并让tomcat服务器显示在控制台上,将Web应用部署到tomcat中

    eclipse环境下如何配置tomcat 打开Eclipse,单击"Window"菜单,选择下方的"Preferences".  单击"Server& ...

  7. 成功配置TOMCAT的LOG4J日志系统,格式:HTML+每天以YYYY-MM-DD.LOG命名的日志文件

    关于log4j.properties文件在web项目中放的位置,找过很多,最后实践结果是: 一.web项目 二.放在src的目录里面,然后项目生成后会自动在\WEB-INF\classes文件里有份l ...

  8. Tomcat中server.xml文件的配置

    server.xml文件当中可配置如下信息: 1)配置端口号(如果是正式网站,要把8080改成80)<Connector executor="tomcatThreadPool" ...

  9. 【问题解决方案】单个文件夹嵌套时github仓库中最外层文件夹直接显示所有嵌套文件夹名的问题

    上传文件的时候遇到这样一个问题: 这么看着好像有什么问题,直觉不应该这么显示吧 折腾半天,从github新建了嵌套文件夹并同步到本地,然后从本地push了文件,结果依然显示是这样 好吧,那这个问题应该 ...

随机推荐

  1. Apache Lucene版本迁移指南

    http://lucene.apache.org/core/4_0_0/MIGRATE.html 本文详细介绍了lucene的版本升级过程中的重大改进与调整. 比如:灵活的索引改变了低水平的域.词.文 ...

  2. DedeCMS栏目页调用当前栏目名和上级栏目名

    在构建网页的时候,如果不想逐个写栏目列表页的标题,即列表页标题形式为:{field:seotitle/}_{dede:global.cfg_webname/},其中{field:seotitle/}为 ...

  3. Java事务管理之Spring+Hibernate

    环境与版本 除了上一篇中的hibernate的相关lib 外 Java事务管理之Hibernate 还需要加入Spring的lib 包和如下的一些依赖包 org.aopallianceorg.aspe ...

  4. 20155309 《java程序设计》实验四Android程序设计

    任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号 完成这个任务,首先需要了解Android应用程序文件的组成: src目录: 在src目录中 ...

  5. HBase应用之微博案例

    一. 需求分析 1) 微博内容的浏览,数据库表设计 2) 用户社交体现:关注用户,取关用户 3) 拉取关注的人的微博内容 二. 代码实现 代码设计总览: 1.创建命名空间以及表名的定义 //获取配置 ...

  6. 使用require.js编写模块化JS

    layout: post title: 使用requirejs编写模块化代码 category: javascript date: 2016-10-22 00:00:00 tags: javascri ...

  7. [js]正则篇

    一.正则基本概念 1.一种规则.模式.文本处理工具 2.强大的字符串匹配工具 3.在js中常与字符串函数配合使用 二.js正则写法 正则在js中以正则对象存在: (1)var re=new RegEx ...

  8. Java 集合之 Map

    Map 就是另一个顶级接口了,总感觉 Map 是 Collection 的子接口呢.Map 主要用于表示那些含有映射关系的数据,存储的是一组一组的键值对.Map 是允许你将某些对象与其它一些对象关联起 ...

  9. JAVAEE——宜立方商城10:使用freemarker实现网页静态化、ActiveMq同步生成静态网页、Sso单点登录系统分析

    1. 学习计划 1.使用freemarker实现网页静态化 2.ActiveMq同步生成静态网页 2. 网页静态化 可以使用Freemarker实现网页静态化. 2.1. 什么是freemarker ...

  10. gpfs 内核错误

    centos7.3安装旧的GPFS引发内核错误 没有关闭之前是可以查看到smap cat /proc/cpuinfo | grep smap 系统层关闭,也可以正常使用gpfs grubby --up ...