ssi的框架主要是由struts2,spring以及ibaTIs组成,他们负责各层之间的交互与协作,从而实现整个web端的功能实现与整合。Struts目前主要负责数据传递和控制方面,spring则依靠其强大的依赖注入技术实现了类似bean托管和整合等功能,当然这只是spring功能中的冰山一角,而ibaTIs作为一种轻量级的OR Mapping框架,提供了半自动化对象关系映射的实现,自由度相对于hibernate更高。
框架结构:
这是我在网上找到的一张关于ssi框架的结构图,个人感觉画的还是蛮不错的,对于入门者来说,层次机构很清晰,比较实用(感谢这位大大的分享):
在这里可以很明显的看出ssi框架的大体结构以及各层之间的交互情况,顶层表现层的话,就java而言主要是jsp,html等视图层技术的编写,其中涉及我们熟悉的javascript,jquery以及extjs等。在控制层来说的话,主要是利用strust2标签功能实现acTIon与视图层的数据交互,当然也可以使用ajax的技术实现同样的功能,这个就按个人喜好而来了。在业务逻辑层。主要是利用spring的依赖注入实现对业务逻辑类和dao类的实例托管,当然各类的实例都可以托管在spring中进行统一管理和关联,包括事务,数据源等等。在持久层,利用ibaTIs提供的半自动化对象关系映射的实现,开发人员可以根据需要编写具体的sql语句,通过相应的xml的配置实现对数据库的操作。
总之,SSI框架能够降低我们代码的耦合度,增强了代码的健壮性和可重用性,加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此
SSI框架快速搭建
1、在Package Explore中右键new选中web Project
2、输入项目名称点击finish
3、导入struts2
(1):
(2):选择Struts2.1然后选择/*点击next
(3):默认,点击finish,导入完成
2、添加Spring支持
(1)右键项目,选择Add Spring Capabilities
(2)、勾选jar包,并选中JAR Library Installation中的第二项,点击next
(3)、修改Folder为WebRoot/WEB-INF点击finish完成Spring引入
3、开始配置ibatis
(1)、在applicationContext.xml文件中添加配置文件
(2)、在src下新建路径org.wwy.utils添加sqlMapping.properties文件
jdbc.url=jdbc\:mysql\://localhost\:3307/MyBatis
jdbc.username=root
jdbc.password=wwy520223
(3)、在org.wwy.utils下添加sqlMapConfig.xml文件
(4)、在src下新建包org.wwy.PO编写java实体类
package org.wwy.PO;
public class User {
private Long id;
private String name;
private String pwd;
private Long age;
private Long sex;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public Long getAge() {
return age;
}
public void setAge(Long age) {
this.age = age;
}
public Long getSex() {
return sex;
}
public void setSex(Long sex) {
this.sex = sex;
}
}
(5)、在org.wwy.PO下添加User.xml映射文件
4、在web.xml中添加spring监听
完成SSI框架搭建
5、启动tomcat测试SSI框架,报错:
Caused by: java.lang.ClassNotFoundException: com.ibatis.common.xml.NodeletException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
。.. 33 more
6、下载ibatis的jar包复制到WEB-INF/lib目录下,再从buildpath导入一下,重新测试OK
技术专区
- mybatis动态sql详解
- 用VHDL语言设计数据传输系统中的HDB3编码器
- 裸机程序如何驱动硬件?看前辈是怎么说的
- 应用面向对象编程SoC原则的典型示例
- 嵌入式开发之java常用开发工具介绍