SSI框架详细配置(接口模式)
- 格式:pdf
- 大小:825.27 KB
- 文档页数:19
ssi框架视频教程SSI (Server Side Includes) 框架是一种用于在服务器端嵌入动态内容的技术。
它可以通过插入特殊标签来引用外部文件、执行脚本和处理其他动态内容。
在这篇文章中,我将向你介绍 SSI 框架的主要概念和用法,并提供一些视频教程供你学习参考。
首先,我们来看一下 SSI 框架的一些重要概念。
SSI 标签由两个部分组成:指令和变量。
指令用于调用特定的功能,例如插入文件、执行脚本等。
变量用于存储和传递数据。
在使用 SSI 框架时,服务器会解析页面中的标签,并根据指令执行相应的操作,最终生成包含动态内容的 HTML 页面。
下面是一些常用的 SSI 指令:- `<!--#include file="filepath" -->`:该指令用于插入外部文件的内容。
通过指定文件路径,我们可以将其他页面的内容嵌入到当前页面中。
这在创建页面底部的版权声明、导航菜单等方面非常有用。
- `<!--#set var="variable_name" value="variable_value" -->`:该指令用于设置变量的值。
我们可以使用这些变量来存储数据,例如网站的名称、当前时间等。
- `<!--#echo var="variable_name" -->`:这是一个用于输出变量值的指令。
它可以帮助我们在页面中显示存储在变量中的数据。
- `<!--#if expr="expression" -->...<!--#else -->...<!--#endif -->`:这是一个用于条件语句的指令。
我们可以使用它来根据条件执行不同的代码块。
- `<!--#exec cmd="command" -->`:该指令用于执行系统命令。
1、新建Dynamic Web Project项目2、修改编译路径,右键项目—build Path,红色标注部分修改为SSI_MODE/WebContent/WEB-INF/classes;SSI_MODE为项目名称3、添加struts2、spring、ibatis的架包,这里只需要加入基本的架包就行了,这里面包涵了ssi框架所用的基本架包,还有dbcp(控制数据库连接池的框架)框架所需要的三个架包,如果实在不知道要导入哪些,那你就把所有的架包都放进去,这里主要针对struts,另外在加入ibatis的架包时,建议使用你下载的spring自带的ibatis 架包,作者开始时是自己从网上下载的mybatis-3.0.2的架包,但是在启动的时候会报一个类找不到的错误。
作者使用的环境是eclipse3.7+jdk1.6+tomcat6.0,准备工作做好,下面开始ssi框架整合的工作。
4、刷新工程,项目结构图如下:配置文件放在src目录下,通过第二步配置的路径,在工程构建时,会把配置文件编译到WebContent/WEB-INF/classes 下。
5、新建三个jsp页面,一个用来发送请求,两个返回页面,内容随意,只要可以识别就行了。
我建的请求页面如下:6、将必要的配置文件先建立好。
在src/config下建立如下文件applicationContext.xml(spring配置文件),ibatis-default.xml(ibatis配置),jdbc.properties(数据库配置),struts.xml(struts 配置)。
7、下面是web.xml的配置(图略下,可拷贝放大看),从这里可以看到,web.xml在加载时会加载到struts的配置文件和spring的applicationContext配置文件。
8、接下来配置struts全局的配置文件,这个配置文件包括整体的配置(这里并未添加)和在工程子模块中的struts配置文件,由web.xml统一加载。
框架简介:相信大家对于mvc的三层架构已经灰常熟悉了,个人感觉ssi的框架结构还是比较典型的mvc三层架构,还是比较容易上手的。
ssi的框架主要是由struts2,spring以及ibatis组成,他们负责各层之间的交互与协作,从而实现整个web端的功能实现与整合。
Struts目前主要负责数据传递和控制方面,spring则依靠其强大的依赖注入技术实现了类似bean 托管和整合等功能,当然这只是spring功能中的冰山一角,而ibatis作为一种轻量级的OR Mapping框架,提供了半自动化对象关系映射的实现,自由度相对于hibernate更高。
框架结构:这是我在网上找到的一张关于ssi框架的结构图,个人感觉画的还是蛮不错的,对于入门者来说,层次机构很清晰,比较实用(感谢这位大大的分享):在这里可以很明显的看出ssi框架的大体结构以及各层之间的交互情况,顶层表现层的话,就java而言主要是jsp,html等视图层技术的编写,其中涉及我们熟悉的javascript,jquery以及j-ui等。
在控制层来说的话,主要是利用strust2标签功能实现action与视图层的数据交互,当然也可以使用ajax的技术实现同样的功能,这个就按个人喜好而来了。
在业务逻辑层。
主要是利用spring的依赖注入实现对业务逻辑类和dao类的实例托管,当然各类的实例都可以托管在spring中进行统一管理和关联,包括事务,数据源等等。
在持久层,利用ibatis提供的半自动化对象关系映射的实现,开发人员可以根据需要编写具体的sql语句,通过相应的xml的配置实现对数据库的操作。
总之,SSI框架能够降低我们代码的耦合度,增强了代码的健壮性和可重用性,加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此。
相关demo介绍:基于之前对ssi框架的学习,我也不能免俗滴选择了做一个用户管理的web实现,项目的大致框架如下:大体上还是按照三层的分层模型来是分的,具体就不详细说了,相信大家也应该很了解整个结构的。
目录1.struts2框架配置文件........................................................... 错误!未定义书签。
1.1 action的配置 ........................................................................................ 错误!未定义书签。
1.2验证框架.................................................................................................. 错误!未定义书签。
1.3 struts2国际化....................................................................................... 错误!未定义书签。
2.struts2+spring框架配置文件 ........................................... 错误!未定义书签。
2.1spring框架的配置................................................................................. 错误!未定义书签。
3.spring+iBATIS框架配置文件 ............................................ 错误!未定义书签。
3.1数据源的配置 ......................................................................................... 错误!未定义书签。
3.2别名的使用.............................................................................................. 错误!未定义书签。
手动配置SSI框架SSI框架为struts、spring、ibatis,在该框架中,使用ibatis作为数据持久层,其中ibatis 使用最新版本mybatis3。
注:本文使用版本:struts-2.3.4、spring-3.2.1、mybatis-3.2.1一、框架下载1、Struts2:/download2、Spring:/download/community3、mybatis:https:///p/mybatis/downloads/detail?name=mybatis-3.2.1.zipmybatis-spring:https:///p/mybatis/downloads/list?q=label:Product-Spring二、创建项目,添加jar包1、创建java web项目testSSI.2、添加struts包:[plain]view plaincopy1.aopalliance-1.0.jar、2.freemarker-2.3.19.jar,3.ognl-3.0.5.jar,4.struts2-core-2.3.4.jar,5.struts2-spring-plugin-2.3.4.jar,6.xwork-core-2.3.4.jar,mons-fileupload-1.2.2.jar、mons-logging-api-1.1.jar、mons-io-2.0.1.jar、mons-lang-2.4.jar、mons-lang3-3.1.jar、mons-logging-api-1.1.jar。
3、添加spring包:[plain]view plaincopy1.spring-aop-3.2.1.RELEASE.jar、2.spring-aspects-3.2.1.RELEASE.jar、3.spring-beans-3.2.1.RELEASE.jar、4.spring-context-3.2.1.RELEASE.jar、5.spring-context-support-3.2.1.RELEASE.jar、6.spring-core-3.2.1.RELEASE.jar、7.spring-expression-3.2.1.RELEASE.jar、8.spring-jdbc-3.2.1.RELEASE.jar、9.spring-orm-3.2.1.RELEASE.jar、10.spring-test-3.2.1.RELEASE.jar、11.spring-tx-3.2.1.RELEASE.jar、12.spring-web-3.2.1.RELEASE.jar。
SSI接口概述自动化控制系统在不断地发展,要求有更高精度的绝对值编码器和相关的测量仪器。
为了满足这样的需要,绝对值编码器分辨率就越来越高。
然而,高精度要求增加位数和电缆芯数,从而增加安装成本且易出现错误;SSI接口具有安装成本少,线路简化的优点,它只通过二个信号(时钟和数据)的串行方式来传输而与编码器的精度无关。
SSI接口通过一个时钟同步的串行线路来传输绝对值编码器的位置数据,如右图所示具有SSI接口编码器的示意图:SSI编码器的工作原理与一个标准绝对值编码器的工作原理非常相似。
主要部分是:一个发光源、一个由透明和不透明窗口构成的码盘、一个光电接收器、启动/触发电路、并行/串行转换器、一个单稳态电路、一个时钟信号的输入电路和数据信号输出设备。
由编码器读数系统读取数据,并且把该数据持续地传送给并行/串行转换器(具有并行功能的“转换寄存器”装置)。
当这个单稳态电流被一个时钟信号传送激活时,数据被存储和传输至具有时钟同步信号的输出端。
为了加强抗干扰能力和长距离传输,时钟和数据信号是差分方式传送(RS422)。
工作原理无数据传输时,时钟和数据信号处于一个高逻辑电平状态,单稳(态)电路不工作。
1.时钟信号的第一个下降沿,单稳(态)电路被激活,并行/串行转换器上的数据存储到转换寄存器里。
(存储数据)2.第一个时钟信号上升沿传送存储数据的最高(有效)位(MSB)G n至数据信号输出线上。
3.时钟信号处于下降沿(信号处于稳定状态),控制器从数据信号输出线上获得所需的电平值,单稳(态)电路再次激活。
4.随着一个个脉冲上升沿的到来,G nx1、G nx2…….逐一输出,最后位G1传输完毕,数据线跳至最低有效位(LSB)传输数据信号。
而在下降沿数据信号传送给控制器。
5.在时钟脉冲的末端,控制器获得最低(有效)位(LSB)的电平值,时钟脉冲停止,并且单稳(态)不再激活。
6.一旦单稳(态)时间(T m)消失,数据信号转向一个逻辑高电平并且单稳(态)电路不工作。
关于配置的问题分为三个部分(个人看法)
.一.src/daishou
1.ibatis:
2.spring
其中在daishou_spring.xml中配置想应的action service dao
3.struts
在daishou_strtus.xml中配置相应的action和jsp之间的跳转
注:如果以后用统一的ssi整合模板,那么每个模块的相应功能的实现只需要在src/daishou 下修改ibatis,spring,strturs。
然后在
src/config下增加对ibatis的调用。
其他地方不用改啊
二.src/config
在这部分调用src/daishou中的三个配置
其中在daishou.da.xml中调用src/daishou中的ibatis(用sqlMap标签)
调用spring
其中在spring_daishou.xmi中调用src/daishou中的spring(用import 标签)
其中在struts_daishou.xmi中调用src/daishou中的struts(用include标签)
注:引入上一级标签引入相应的路径,例如:引进src/daishou 下的strtus.xml(从包名到表名,中间用/隔开)
三.在src/config下
有个project-map-config.xml调用src/config 下的ibatismodel
有个struts.xml 调用src/config 下的strtusmodel
在strtus文件夹下有个web_info/conf
有个applicationContext-config.xml 调用src/config 下的springmodel。