SSH框架搭建参考文档.docx
《SSH框架搭建参考文档.docx》由会员分享,可在线阅读,更多相关《SSH框架搭建参考文档.docx(31页珍藏版)》请在冰豆网上搜索。
SSH框架搭建参考文档
SSH框架搭建参考文档
一、搭建环境
开发环境:
Eclipse3.2、MyEclipse5.5
服务器:
Tomcat6.0.29
JDK:
jdk1.6.0_11
Struts2版本:
Struts2.1.6
Spring版本:
Spring2.5.6
Hibernate版本:
Hibernate3.3.2
Struts2所需jar包:
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.13.jar
ognl-2.6.11.jar
struts2-core-2.1.6.jar
struts2-spring-plugin-2.1.6.jar
xwork-2.1.2.jar
Spring所需jar包:
spring.jar
Hibernate所需jar包:
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate3.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.0.jar
slf4j-nop-1.6.0.jar
数据库驱动包:
mysql-connector-java-3.1.11-bin.jar
ojdbc14.jar
其它包:
log4j-1.2.13.jar
二、框架结构
1.app
存放系统关于业务应用方面的代码
(1)com.yuanit.app.action业务代码action层
(2)com.yuanit.app.dao业务代码dao层接口
(3)com.yuanit.app.dao.impl业务代码dao层实现类
(4)com.yuanit.app.service业务代码service层接口
(5)com.yuanit.app.service.impl业务代码service层接口实现类
(6)com.yuanit.app.model业务代码model层
业务实体层,示例代码:
Member.java
packagecom.yuanit.app.model;
importjava.util.HashSet;
importjava.util.Set;
publicclassMemberimplementsjava.io.Serializable{
privatestaticfinallongserialVersionUID=7981560250892375432L;
privateIntegerid;
privateStringusername;
privateStringpassword;
publicMember(){
}
publicMember(Integerid){
this.id=id;
}
publicMember(Integerid,Stringusername,Stringpassword){
super();
this.id=id;
this.username=username;
this.password=password;
}
publicIntegergetId(){
returnid;
}
publicvoidsetId(Integerid){
this.id=id;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
}
Hibernate配置文件Member.hbm.xml
xmlversion="1.0"encoding="utf-8"?
>
DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"
--
MappingfileautogeneratedbyMyEclipsePersistenceTools
-->
2.sys
存放系统非业务代码
3.conf
存放系统配置文件
(1)struts2配置文件struts.xml,示例如下:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
/template/login.ftl
/template/error.ftl
/template/login.ftl
/template/index.ftl
/template/login.ftl
/template/login.ftl
--
-->
(2)spring配置文件applicationContext.xml,示例如下:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="http:
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xmlns:
aop="http:
//www.springframework.org/schema/aop"
xmlns:
tx="http:
//www.springframework.org/schema/tx"
xsi:
schemaLocation="
http:
//www.springframework.org/schema/beans
http:
//www.springframework.org/schema/beans/spring-beans-2.5.xsd
http:
//www.springframework.org/schema/aop
http:
//www.springframework.org/schema/aop/spring-aop-2.5.xsd
http:
//www.springframework.org/schema/tx
http:
//www.springframework.org/schema/tx/spring-tx-2.5.xsd">
--
配置sessionFactory
1)org.springframework.orm.hibernate3.LocalSessionFactoryBean
2)org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
3)以下代码表示引用hibernate.cfg.xml配置文件
-->
classpath:
hibernate.cfg.xml
--配置事务管理器-->
adviceid="smAdvice"transaction-manager="transactionManager">
attributes>
methodname="save*"propagation="REQUIRED"/>
methodname="delete*"propagation="REQUIRED"/>
methodname="update*"propagation="REQUIRED"/>
attributes>
advice>
configproxy-target-class="true">
pointcutid="smMethod"expression="execution(*com.yuanit.app.impl.*ServiceImpl.*(..))"/>
advisorpointcut-ref="smMethod"advice-ref="smAdvice"/>
config>
(3)spring配置文件applicationContext-action.xml(action层),示例如下:
xmlversion="1.0"encoding="UTF-8"?
>
xmlns="http:
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xmlns:
aop="http:
//www.springframework.org/schema/aop"
xmlns:
tx="http:
//www.springframework.org/schema/tx"
xsi:
schemaLocation="
http:
//www.springframework.org/schema/beans
http:
//www.springframework.org/schema/beans/spring-beans-2.5.xsd
http:
//www.springframework.org/schema/aop
http:
//www.springframework.org/schema/aop/spring-aop-2.5.xsd
http:
//www.springframework.org/schema/tx
http:
//www.springframework.org/schema/tx/spring-tx-2.5.xsd"
default-autowire="byName"
default-merge="true">
(4)spring配置文件applicationContext-service.xml(service层),示例如下:
(5)spring配置文件applicationContext-dao.xml(dao层),示例如下:
(6)hibernate配置文件hibernate.cfg.xml,示例如下:
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEhibernate-configurationPUBLIC
"-//Hibernate/HibernateConfigurationDTD3.0//EN"
"
--JDBC驱动程式-->
com.mysql.jdbc.Driver
--JDBCURL-->
jdbc:
mysql:
//localhost:
3306/demo
--资料库使用者-->
root
--资料库密码-->
--SQL方言,这边设定的是MySQL-->
org.hibernate.dialect.MySQLDialect
--显示实际操作资料库时的SQL-->
true
--物件与资料库表格映射文件-->
--Oracle
oracle.jdbc.driver.OracleDriver
jdbc:
oracle:
thin:
@localhost:
1521:
HibernateTest
root
123456
org.hibernate.dialect.Oracle9Dialect
true
-->
(7)jdbc配置文件jdbc.properties,示例如下:
#Mysql
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:
mysql:
//localhost:
3306/example
jdbc.username=root
jdbc.password=root
##oracle
#jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:
oracle:
thin:
@localhost:
1521:
ora9i
#jdbc.username=stamen
#jdbc.password=abc
(8)日志配置文件log4j.properties,示例如下:
log4j.rootLogger=DEBUG,A1
#log4j.rootLogger=DEBUG,A1,R
#log4j.rootLogger=INFO,A1,R
log4j.logger.org.hibernate=fatal
log4j.logger.org.springframework=DEBUG
.opensymphony=fatal
log4j.logger.org.apache=fatal
log4j.logger.freemarker.cache=fatal
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-ddHH:
mm:
ss,SSS}[%c]-[%p]%m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log.txt
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-ddHH:
mm:
ss,SSS}[%t][%c][%p]-%m%n
#.opensymphony=INFO
#log4j.logger.org.apache.struts2=DEBUG
#.laoer=DEBUG
#.danga=ERROR
4.template
存放系统页面模板,示例代码login.ftl:
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<#--
<#assigns=JspTaglibs["/WEB-INF/struts-tags.tld"]>
-->
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
SSH-登录页面
<@s.formname="form1"action="doLogin">
<@s.textfieldname="username"label="username">@s.textfield>
<@