此为预览版,不能保证无任何问?br />
速动画教程第十八?SSH框架的构?/span>
此过程将包括以下几个框架
Struts
?/span>
Spring
?/span>
Hibernate
?/span>
Tiles
?/span>
validator
工具
?span lang="EN-US" style="COLOR: blue">Eclipse3.1
?/span>
MyEclipse4.1.1
?/span>
Poperties Editor
插件
新建工程 oa
jstl标签库很好用,所以也把它加载?o:p>
增加 Struts 框架
因为在整个架构中 Struts 属于 UI 层,所以将 struts 放入 com.oa.view 包中
增加 Spring 框架
将配置文件放?span style="COLOR: blue"> /WEB-INF/ 目录?o:p>
在增?Hibernate 框架之前,如果没有配置过数据连接的话,请打开 MyEclipse Database Exploring 视图
配置连接:以连接 MySql 为例
增加 Hibernate 框架
在配置选项中选择使用 Spring 的配置文件,并输?sessionFactory
Hibernate 属于 Data 层,所以将它放?com.oa.data 包内
逻辑层的包为 com.oa.model
以下为目录结?o:p>
+ src
+ --com.oa.data //数据?o:p>
+ --com.oa.data.bo //BO对像和映射文?o:p>
+ --com.oa.data.dao //DAO对像的接?o:p>
+ --com.oa.data.dao.impl //DAO对像的实?o:p>
+ --com.oa.model 逻辑?o:p>
+ --com.oa.model.service // Service对像的接?o:p>
+ --com.oa.model.service.impl //Service对像的实?o:p>
+ --com.oa.view 视图?o:p>
+ --com.oa.view.action // Action对像
+ --com.oa.view.tag // 标签
集成框架?o:p>
Spring ?Hibernate 的集成已经由 MyEclipse 的向导完?o:p>
Struts ?Spring 的集成将使用 Struts 插件的方式进行集?o:p>
Tiles
?/span>
validator
?/span>
Struts
的集成也是使用插件的方式
完整的配置文件如?/span>
?span lang="EN-US">
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!
DOCTYPE
struts-config
PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd"
>
<
struts-config
>
<
data-sources
/>
<
form-beans
/>
<
global-exceptions
/>
<
global-forwards
/>
<
action-mappings
/>
<
message-resources
parameter
=
"com.oa.web.struts.ApplicationResources"
/>
<
plug-in
className
=
"org.apache.struts.tiles.TilesPlugin"
>
<
set-property
property
=
"definitions-parser-validate"
value
=
"true"
/>
<
set-property
property
=
"definitions-config"
value
=
"/WEB-INF/tiles-config.xml
/>
</
plug-in
>
<
plug-in
className
=
"org.apache.struts.validator.ValidatorPlugIn"
>
<
set-property
property
=
"pathnames"
value
=
"/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
/>
</
plug-in
>
<
plug-in
className
=
"org.springframework.web.struts.ContextLoaderPlugIn"
>
<
set-property
property
=
"contextConfigLocation"
value
=
"/WEB-INF/applicationContext.xml,/WEB-INF/serviceContext.xml,/WEB-INF/
view
Context.xml"
/>
</
plug-in
>
</
struts-config
>
创建
tiles-config.xml
文件
?/span>
内容如下
?span lang="EN-US">
<?xml version="1.0" encoding="UTF-8"?>
<tiles-definitions>
</tiles-definitions>
注意以下几点?/span>
多个配置文件可用逗号分隔
Validator
的配置文?
"/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"
?span style="mso-tab-count: 1">这两个文件在
/WEB-INF/
目录都没有,
validator-rules.xml
文件需要从
struts
的包中拷贝过?/span>
?/span>
validation.xml
文件需要自行创?o:p>
此文件中spring配置文件我将它分为三个,以区分三层结构中不同的配置,请不要直接在其它两个配置文件中写配置信息,最好是先将配置信息写入?
applicationContext.xml
中,因为只有在此文件?MyEclipse 才会验证配置信息的合法?o:p>
还是?Login 为例做一下测?o:p>
先将大概用到的包都创建好
将配置文件中提到的文件都准备?o:p>
先将 spring 的配置文件创建好,文件格式使?applicationContext.xml 的样式,内容如下?o:p>
serviceContext.xml viewContext.xml
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!
DOCTYPE
beans
PUBLIC
"-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
</
beans
>
拷贝
validator-rules.xml
?/span>
/WEB-INF/
目录
创建
validation.xml
文件?/span>
/WEB-INF/
目录
?/span>
文件内容可以为空
创建?/span>
?/span>
以下语句是使?/span>
MyEclipse Database Exploring
生成?/span>
create
table
`
test
`.`
userlist
`(
`id`
int
(11)
PRIMARY
KEY
not
null
,
`userName`
varchar
(100)
not
null
,
`userPwd`
varchar
(100)
not
null
)
打开
MyEclipse Database Exploring
视图
?/span>
创建
userlist
表的映射
根据向导创建映射文件
?/span>
包插抽像类和
DAO
移动
UserlistDAO.java
文件?/span>
com.oa.data.dao.imap
包内
修改
applicationContext.xml
文件中因改动而产生错误的内容
?/span>
修改后的内容如下
?span lang="EN-US">
<
bean
id
=
"UserlistDAO"
class
=
"
com.oa.data.dao.impl.UserlistDAO
"
>
<
property
name
=
"sessionFactory"
>
<
ref
bean
=
"sessionFactory"
/>
</
property
>
</
bean
>
创建
UserlistDAO
的接口文?/span>
IUserlistDAO
?/span>
移动?/span>
com.oa.data.dao
包内
?/span>
修改
UserlistDAO
的错?/span>
创建
IUserService
接口文件
?/span>
创建此接口的实例
UserService
?/span>
此实例需要用?/span>
userlistDAO
?/span>
所以需要做以下声明
private UserlistDAO userlistDAO
userlistDAO
属性需要使?/span>
ioc
注入
完整代码如下
?span lang="EN-US">
package com.oa.model.service.impl;
import com.oa.data.bo.Userlist;
import com.oa.data.dao.impl.UserlistDAO;
import com.oa.model.service.IUserService;
public class UserService implements IUserService {
private UserlistDAO userlistDAO;
public UserlistDAO getUserlistDAO() {
return userlistDAO;
}
public void setUserlistDAO(UserlistDAO userlistDAO) {
this.userlistDAO = userlistDAO;
}
public Userlist isValidUser(String username, String password) {
// TODO Auto-generated method stub
return null;
}
}
配置
applicationContext.xml
文件
?/span>
增加以下代码
?span lang="EN-US">
<
bean
id
=
"transactionManager"
class
=
"org.springframework.orm.hibernate3.HibernateTransactionManager"
>
<
property
name
=
"sessionFactory"
>