博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2.0+Spring3+Hibernate3(SSH~Demo)
阅读量:5964 次
发布时间:2019-06-19

本文共 7040 字,大约阅读时间需要 23 分钟。

前言:整理一些集成框架,发现网上都是一些半成品,都是共享一部分出来(确实让人很纠结),这是整理了一份SSH的测试案例,完全可以用!

言归正传,首先强调一点首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。

集成SSH框架的系统从职责上分为四层:、、和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对提供支持,Spring做管理,管理struts和hibernate。具体做法是:用的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。

整个Demo的视图

下面是主要的代码模块

GenerateExcelAction.java

1 package com.talent.example.user.action; 2 import java.io.InputStream; 3 import com.opensymphony.xwork2.ActionSupport; 4 import com.talent.example.user.service.UserService; 5 /** 6  * 

Title:GenerateExcelAction

7 *

Description: 导出Exel

8 *

Copyright: Copyright (c) VISEC 2015

9 *

CreatTime: Mar 31 2015

10 * @author Dana丶Li11 * @version 1.012 */13 public class GenerateExcelAction extends ActionSupport {14 private static final long serialVersionUID = 1L;15 16 private UserService service;17 18 public UserService getService() {19 return service;20 }21 22 public void setService(UserService service) {23 this.service = service;24 }25 26 public InputStream getDownloadFile()27 {28 return this.service.getInputStream();29 }30 31 @Override32 public String execute() throws Exception {33 34 return SUCCESS;35 36 }37 38 }
View Code

UpdateUserAction.java

1 package com.talent.example.user.action; 2 import com.opensymphony.xwork2.ActionSupport; 3 import com.talent.example.user.bean.User; 4 import com.talent.example.user.service.UserService; 5 /** 6  * 

Title:UpdatePUserAction

7 *

Description:修改User信息Action

8 *

Copyright: Copyright (c) VISEC 2015

9 *

CreatTime: Mar 31 2015

10 * @author Dana丶Li11 * @version 1.012 */13 public class UpdateUserAction extends ActionSupport {14 private static final long serialVersionUID = 1L;15 private User user;16 private UserService service;17 18 public User getUser() {19 return user;20 }21 public void setUser(User user) {22 this.user = user;23 }24 public UserService getService() {25 return service;26 }27 public void setService(UserService service) {28 this.service = service;29 }30 31 @Override32 public String execute() throws Exception {33 34 this.service.update(user);35 36 return SUCCESS;37 }38 }
View Code

User.hbm.xml

1 
2 5 6
7 8
9
10
11
12
14
16
17
18 19
View Code

UserDAOImpl.java

1 package com.talent.example.user.dao.impl; 2 import java.util.List; 3 import org.springframework.orm.hibernate3.support.HibernateDaoSupport; 4 import com.talent.example.user.bean.User; 5 import com.talent.example.user.dao.UserDAO; 6 /** 7  * 

Title:UserDAOImplr

8 *

Description:UserDAO实现类

9 *

Copyright: Copyright (c) VISEC 2015

10 *

CreatTime: Mar 31 2015

11 * @author Dana丶Li12 * @version 1.013 */14 public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {15 16 @SuppressWarnings("unchecked")17 public List
findAllUser() {18 19 String hql = "from User user order by user.id desc";20 21 return (List
)this.getHibernateTemplate().find(hql);22 23 }24 25 public User findUserById(Integer id) {26 27 User user = (User)this.getHibernateTemplate().get(User.class, id);28 29 return user;30 }31 32 public void removeUser(User user) {33 34 this.getHibernateTemplate().delete(user);35 36 }37 38 public void saveUser(User user) {39 40 this.getHibernateTemplate().save(user);41 42 }43 44 public void updateUser(User user) {45 46 this.getHibernateTemplate().update(user);47 48 }49 50 }
View Code

UserDAO.java

1 package com.talent.example.user.dao; 2 import java.util.List; 3 import com.talent.example.user.bean.User; 4 /** 5  * 

Title:UserDAO

6 *

Description:UserDAO接口

7 *

Copyright: Copyright (c) VISEC 2015

8 *

CreatTime: Mar 31 2015

9 * @author Dana丶Li10 * @version 1.011 */12 public interface UserDAO {13 public void saveUser(User user);14 15 public void removeUser(User user);16 17 public User findUserById(Integer id);18 19 public List
findAllUser();20 21 public void updateUser(User user);22 }
View Code

下面是主要的配置文件

hibernate.cfg.xml

struts.xml

listUser.action
/save.jsp
/list.jsp
listUser.action
/update.jsp
listUser.action
/update.jsp
application/vnd.ms-excel
filename="AllUsers.xls"
downloadFile

applicationContext.xml

org.hibernate.dialect.MySQLDialect
true
com/talent/example/user/bean/User.hbm.xml

以及整个项目的Web.xml配置文件

web.xml

SSHv1.0
contextConfigLocation
classpath:applicationContext.xml;
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*
index.jsp
org.springframework.web.context.ContextLoaderListener

以及简单的页面效果图

Demo下载地址:

 

转载于:https://www.cnblogs.com/visec479/p/4380210.html

你可能感兴趣的文章
优化应用的电池寿命(笔记)-1
查看>>
SSH Secure Shell Client
查看>>
JFinal源码分析------初始化那些事儿
查看>>
处理 允许远程协助连接这台计算机 灰色
查看>>
使用Jquery 加载页面时调用JS
查看>>
css+div+jquery弹出层
查看>>
求职相关(链接,不定期更新)
查看>>
pdo 连接数据库 报错 could not find driver 解决方法
查看>>
设计模式之策略模式
查看>>
JVM介绍
查看>>
maya pyside 多个窗口实例 报错 解决
查看>>
Yxcms网站管理系统安装
查看>>
Nginx错误日志(error_log)配置及信息详解
查看>>
Computer-memory
查看>>
redis 实践笔记(初步)
查看>>
背道而驰or殊途同归?区块链与云计算未来趋势
查看>>
Spring整合JMS(四)——事务管理
查看>>
设计模式学习笔记(七)之模板方法模式(Template Method)
查看>>
我的友情链接
查看>>
主流原型工具可用性测试横向比较
查看>>