作者:立体的萌
SSI是个啥东西,真是闻所未闻,估计你看到SST就是这个感受,我刚接触这个东西的时候也是一脸懵逼,不过这东西也就是知名度不咋高,但他并不复杂;
大体认识一下
SSI的全称叫做:Server Side Include,中文名叫做:服务器端嵌入,是一种网页制作技术,他是一个在HTML文件中可以通过注释行调用的命令或指针,SSI非常强大,只要用一条很简单的SS命令就可以实现整个网站的内容更新、时间的动态显示,他还能执行shell和CGI脚本程序等比较复杂的功能,很多基于UNIX平台的WEB服务器都支持SSI命令;
SSI都是咋干活的?
把内容发送到浏览器之前可以使用“服器务端包含”指令把图形、文本、应用程序信息等包含到网页中,如果是多个文件中重复出现的信息可以把内容存入到一个包含文件中;
SSI都有啥用?
主要有以下几种用途:
1.显示服务器端环境变量<#acho>;
2.把文本内容直接插入到文档中<#include>;
3.显示Web文档相关信息<#flastmod #fsize>;
4.直接执行服务器上的各种程序<#exec>;
5.设置SSI信息显示格式<#config>;
SSI这样用!
#include命令
#include是整个SSI的关键所在,它的作用是把文本文件的内容直接插入到文档页面中,通过include命令只需要改动一个文件就可以很快的哦更新整个站点;
#echo命令
主要作用是把环境变量插入到页面中:
#echo命令可以显示的环境变量有:
1. DOCUMENT_NAME:显示当前文档名称
2. DOCUMETN_URI:显示当前文档的虚拟路径
3. QUERY_LOCAL:显示服务器设定时区的日期和时间
4. QUERY_SPRING_UNESCAPED:显示未经转义处理的由客户端发送的查询字串
5. DATE_GMT:显示格林尼治时间
6. LAST_MODIFIED:显示文档最后的更新时间;
#echo命令还能显示CGI环境变量:
1. SERVER_SOFTWARE:显示服务器软件的名称和版本;
2. SERVER_NAME:显示服务器的主机名称
3. SERVER_PROTOCOL:显示客户端请求所使用的协议名称和版本;
4. SERVER_PORT:显示服务器的响应端口
5. REQUEST_METHOD:显示客户端的文档请求方法
6. REMOTE_HOST:显示发出请求信息的客户端主机名称
7. REMOTE_ADDR:显示发出请求信息的客户端IP地址
8. AUTH_TYPE:显示用户身份的验证方法
9. REMOTE_USER:显示访问受保护页面的用户所使用的账号名称
#flastmod
主要用于更新最近的日期:
#exec命令
主要用于把一个外部程序的输出插入到页面中:
#set命令
主要用于给变量赋值:
#if命令
主要用于创建改变数据的页面:
#config命令
主要用于返回给客户端浏览器的日期、错误信息提示、文件大小的格式:
SSI都有哪些Servlet参数?
先来看看SSI的Servlet参数都有什么:
1.Buffered:设置Servlet的输出是否被缓冲;
2.debug:Servlet日志的排错信息的详细程度;
3.Expires:带有SSI指令的页面失效之前的秒数;
4.isVirtualWebappRelative:“虚拟”的SSI指令是否应该被解释为相对于context root;
5.inputEncoding:如果无法决定所调用的资源的文字编码是否为SSI应该使用的编码时使用的是默认的;
6.outputEncoding:输出结果的文字编码,默认值是UTF-8;
最后,配置一个SSI
在Apache服务器下可以通过直接编辑服务器配置文件或者在需要使用SSI的目录中创建.htaccess文件启动SSI:
第一步:服务器配置文件。
如果用户具有对服务器配置文件的访问权限,可以通过编辑文件access.conf和srm.conf启动SSI;
第二步:创建文件.htaccess,在.htaccess文件中添加一下几行代码:
第三步:选择使用.shtml或html。
一般说来,任何包含SSI的文件下载到客户端之前都要经过服务器的解析,如果不是每个页面都使用SSI的话,就没有必要让服务器解析每一个页面,如果用户只希望在几个特殊页面中使用SSI,可以把文件的后缀名改为.shtml,如果多个页面用到了SSI,可以在.htaccess文件中使用命令行:
这是配置SSI的大致步骤,下面我在Tomca中配置SSI
第一步:定义一个Servlet对SSI进行处理,在<TOMCAT_HOME>/conf/web.xml中添加以下代码:
第二步:定义一个<srvlet-mapping>把这个Servlet映射到某个URL pattern:
第三步:把<TOMCAT_HOME>\server\lib\servlets-ssi.renametojar文件的扩展名改为servlets-ssi-jar;
第四步:编写一个SHTML页面验证是否支持SSI:
总结
这就是SSI,并不复杂,他有点像是javaweb世界里的一名无名小卒,他默默奉献着自己,给我们带来便利;
笔名立体的萌,是个工作还不到一年就辞职考研的的菜鸟,上学学习的是java,但是工作用的是C#,C#用途远远没有java范围广,再加上java是我的母语,所以很像回归java,不仅仅是提升技术能力,也有往大数据等高端领域发展的想法。
赞赏码: