1. 加入Spring
1). 加入.jar包
spring-framework-4.0.0.RELEASE\required\*.jar
2). 配置web.xml文件
<!-- 配置Spring配置文件对应的参数名及位置 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!-- 配置启动Context的Listener -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3). 加入Spring的配置文件
2. 加入Hibernate4
1). 同时加入持久化类和其对应的.hbm.xml文件,生成对应的数据表
2). Spring整合Hibernate
3). 步骤
① 加入.jar包
hibernate-release-4.2.4.Final\lib\required\*.jar
② 在类路径下加入hibernate.cfg.xml文件,在其中配置hibernate的基本属性
③ 建立持久化类和其对应的.hbm.xml文件
com.atguigu.ssh.entities.Department
com.atguigu.ssh.entities.Employee
Department.hbm.xml
Employee.hbm.xml
④ 和Spring进行整合
i 加入C3P0和MySQL的驱动
-> c3p0-0.9.1.2.jar
-> mysql-connector-java-5.1.7-bin.jar
ii 在Spring的配置文件中配置:数据源、SessionFactory、声明式事务
⑤ 启动项目,会看到生成对应的数据表
3. 加入Struts2
1). 加入.jar包:若有重复的jar包,则需要删除版本较低的
struts-2.3.15.3\apps\struts2-blank\WEB-INF\lib\*.jar
javassist-3.11.0.GA.jar(删除)
javassist-3.15.0-GA.jar
2). 在web.xml文件中配置Struts2的Filter
3). 加入Struts2的配置文件
<!-- 配置Struts2的Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3). 整合Spring
① 加入Struts2的Spring插件的jar包
struts2-spring-plugin-2.3.15.3.jar
② 在Spring的配置文件中正常配置Action,注意Action的Scope为prototype
③ 在Struts2的配置文件中配置Action时,class属性指向该Action在IOC(Spring配置文件)中的id
4. 完成功能
1). 获取所有的员工信息:若在Dao中只查询Employee的信息,而且Employee和Department还是使用的懒加载。
页面上还需要显示员工信息,此时会出现懒加载异常,代理对象不能被初始化:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
解决:
① 打开懒加载:不推荐使用——n:1标签中添加lazy="false"属性
② 获取Employee时使用迫切左外连接同时初始化其关联的Department对象
③ 使用OpenSessionInViewFilter,后面再提
2). 删除员工信息
① 正常删除,返回值需要是redirect类型,而且重定向到emp_list
② 确定要删除吗?的提示使用jQuery完成
③ Ajax的使用参见struts-2.3.15.3-all/struts-2.3.15.3/docs/WW/docs/ajax.html
3). 添加员工
① 显示表单页面:需要先查询所有的部门信息
② 使用Struts2的ModelDriven和Preparable拦截器
③ 时间是一个字符串,需要转为一个Date类型的对象
要学习的设计模式
工厂模式
##实现步骤
1).新建"动态WEB工程"
没有合适的资源?快使用搜索试试~ 我知道了~
Spring4-Struts2-Hibernate4 CRUD Demo
共90个文件
jar:37个
xml:14个
java:10个
需积分: 6 15 下载量 103 浏览量
2017-04-14
14:49:59
上传
评论
收藏 16.39MB ZIP 举报
温馨提示
Spring4-Struts2-Hibernate4 CRUD Demo
资源推荐
资源详情
资源评论
收起资源包目录
ssh-2.zip (90个子文件)
ssh-2
.project 1KB
.settings
.jsdtscope 503B
org.eclipse.wst.common.component 544B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.name 6B
conf
xwork-conversion.properties 58B
applicationContext-beans.xml 1KB
db.properties 166B
applicationContext.xml 3KB
struts.xml 1KB
hibernate.cfg.xml 795B
question.txt 1KB
analysis.txt 0B
src
com
atguigu
ssh
actions
EmployeeAction.java 3KB
dao
EmployeeDao.java 1KB
DepartmentDao.java 281B
BaseDao.java 379B
entities
Employee.hbm.xml 1KB
Employee.java 1KB
Department.java 535B
Department.hbm.xml 671B
converters
SSHDateConverter.java 839B
service
DepartmentService.java 419B
EmployeeService.java 815B
snippet
Snippet.java 117B
note.txt 3KB
build
classes
xwork-conversion.properties 58B
applicationContext-beans.xml 1KB
com
atguigu
ssh
actions
EmployeeAction.class 4KB
dao
EmployeeDao.class 2KB
BaseDao.class 657B
DepartmentDao.class 750B
entities
Employee.hbm.xml 1KB
Employee.class 2KB
Department.class 1KB
Department.hbm.xml 671B
converters
SSHDateConverter.class 1KB
service
DepartmentService.class 755B
EmployeeService.class 2KB
db.properties 166B
applicationContext.xml 3KB
struts.xml 1KB
hibernate.cfg.xml 795B
.springBeans 486B
WebContent
WEB-INF
views
emp-list.jsp 2KB
emp-input.jsp 2KB
web.xml 1KB
lib
commons-lang3-3.1.jar 308KB
jboss-logging-3.1.0.GA.jar 59KB
hibernate-jpa-2.0-api-1.0.1.Final.jar 100KB
ognl-3.0.6.jar 223KB
spring-core-4.0.0.RELEASE.jar 933KB
spring-aspects-4.0.0.RELEASE.jar 50KB
spring-beans-4.0.0.RELEASE.jar 654KB
commons-io-2.0.1.jar 156KB
com.springsource.net.sf.cglib-2.2.0.jar 319KB
spring-tx-4.0.0.RELEASE.jar 242KB
asm-commons-3.3.jar 37KB
spring-aop-4.0.0.RELEASE.jar 343KB
freemarker-2.3.19.jar 909KB
com.springsource.org.aopalliance-1.0.0.jar 5KB
hibernate-core-4.2.4.Final.jar 4.41MB
log4j-1.2.17.jar 478KB
spring-context-4.0.0.RELEASE.jar 928KB
antlr-2.7.7.jar 435KB
spring-orm-4.0.0.RELEASE.jar 309KB
spring-jdbc-4.0.0.RELEASE.jar 410KB
javassist-3.15.0-GA.jar 633KB
c3p0-0.9.1.2.jar 596KB
dom4j-1.6.1.jar 307KB
jboss-transaction-api_1.1_spec-1.0.1.Final.jar 25KB
asm-tree-3.3.jar 21KB
commons-logging-1.1.3.jar 61KB
commons-fileupload-1.3.jar 67KB
spring-web-4.0.0.RELEASE.jar 646KB
mysql-connector-java-5.1.7-bin.jar 693KB
xwork-core-2.3.15.3.jar 626KB
struts2-core-2.3.15.3.jar 784KB
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 1.57MB
spring-expression-4.0.0.RELEASE.jar 202KB
spring-webmvc-4.0.0.RELEASE.jar 645KB
asm-3.3.jar 43KB
struts2-spring-plugin-2.3.15.3.jar 21KB
hibernate-commons-annotations-4.0.2.Final.jar 80KB
index.jsp 448B
META-INF
MANIFEST.MF 39B
scripts
jquery-1.9.1.min.js 90KB
.classpath 884B
共 90 条
- 1
资源评论
Impr4L
- 粉丝: 6
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功