浅谈基于SSH的Web应用开发

时间:2022-09-29 02:59:07

浅谈基于SSH的Web应用开发

摘 要 本文通过引入SSH架构介绍了基于MVC核心思想的Web开发,通过分别介绍Struts、Hibernate和Spring的框架来讲解SSH的实现过程,并以登录模块为实例展示Struts的表示层、Hibernate的持久层和Spring的整合业务的编码实现,并说明基于SSH的Web应用开发机制。

关键词 SSH Web框架 MVC模式 J2EE

中图分类号:TP311.5 文献标识码:A

1 Struts+Spring+Hibernate框架设计

SSH是Struts+Spring+Hibernate的缩写,是目前Web应用程序开发的一种框架结构。它基于MVC的核心思想,将一个应用分成三个部分:Model(模型)、View(视图)和Controller(控制器),提高了应用的可扩展性和可维护性。SSH框架是轻量级开发J2EE的标准配置,使应用完美地分离与结合了表示层、业务层和持久层,使代码模块化。

1.1 Struts框架技术

Struts主要采用Servlet和Jsp技术,把Servlet、JSP、自定义标签和信息整合到一个统一的框架中。Struts有一个中心控制器,采用XML定制转向URL,采用Action处理逻辑。Struts体系结构实现的流程为:

(1)一个初始请求发送到Servlet容器,该请求经过标准Filte链;

(2)请求经过FilterDispatcher,在它里面ActionMapper判断该请求是否需要调用Action。若决定调用一个Action,ActionProxy通过Struts的配置文件管理器读取struts.xml文件里的配置信息;

(3)创建一个实现了命令模式的ActionInvocation,该过程包括在调用Action本身之前调用所有的Interceptor。一旦Action方法返回,ActionInvocation就要查找struts.xml文件中这个Action的结果码所对应的Result并执行,当呈现结果时,在模板中可以使用Struts提供的一些标签;

(4)Interceptor被再次执行,请求被返回给web.xml中配置的其他Filter。若已设置ActionContextCleanUp Filter,则FilterDispatcher就不会清理ThreadLocal中ActionContext信息,否则清理掉所有的ThreadLocal。

1.2 Hibernate框架技术

Hibernate是目前最流行的开源ORM框架,它简化了程序与数据库的交互,使设计者可以专注于应用程序的对象和功能,。Hibernate用于数据访问与持久化的实现,创建持久层,专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。用Hibernate操作数据库过程如下:

(1)在SQL Server或其他的数据库软件上创建表并使用POJO创建持久化类,编写映射文件“*.hbm.xml”,作为连接数据库表与Java对象的沟通的桥梁;

(2)编写Hibernate配置文件hibernate.cfg.xml,在该文件中配置了用于连接数据库的信息和一些全局配置。

1.3 Spring框架技术

Spring是一个轻量级、实现了IoC模式的容器,是java平台的一个开源应用框架。Spring包含两个重要的概念:IoC和AOP。前者指不直接创建对象,在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。后者指通过文本的配置文件进行应用程序组件间相互关系的配置,而不用重新修改并编译具体的Java代码。

2应用实例

以登录模块为例,使用SSH架构,用Struts实现Web层,遵循MVC模式;用Hibernate来实现数据访问和持久化层;用Hibernate实现业务层和整合工作。

2.1 Struts框架与表示层

首先创建struts-login.xml,action名称为Login,与登陆Action连接,获取返回的值。若返回值为success,则跳转至index.jsp,否则转至error.jsp。

然后编写登陆Action,以Model-Driven方式来实现登录Action,包含username和password值来参与传递数据。将usernaem和password 传递给持久层的函数,以判断匹配情况。若匹配,则返回成功success,否则返回错误error。

最后绘制登录Jsp界面,页面采用form创建表单,表单中添加用户名和密码输入框,以及“登录”的提交按钮,以post方式联系配置文件。

2.2 Hibernate框架与持久层

利用Hibernate可以访问数据库,并通过hibernate.cfg.xml中的配置,将其转移到Spring的配置文件中。利用Hibernate的进行持久化的过程如下:

(1)创建数据库并配置数据源,利用MyEclipse提供的DataSource SessionFactory向导来完成配置。

(2)持久化类和映射文件,可以直接采用工具来生成持久化类和映射文件。

(3)实现登录DAO,关键代码为:

Query query = session.createQuery(sql);//sql为查询语句

List list =query.list();

if (list.size()>1) return true;//有记录,返回成功。

2.3 Spring整合业务层

利用Spring的IoC容器整合表现层、业务层和数据访问层,使用AOP实现DAO类的事务控制。经过如下几个步骤:接管的Struts中Action的实例化;给Action注入Service类实现;给Service注入DAO类;加载Hibernate模块,提供数据源;添加事务管理。登录操作结果如图1和图2所示:

上一篇:计算机网络技术在电视节目制作中的应用 下一篇:关于个人移动通信设备界面设计的几点思考