文档介绍:Struts+Hibernate+Spring
Web开发流行架构
课程总体目标
我们的目标是:能够熟练运用当前流行的java开源框架:Struts、Hibernate以及Spring来构建灵活、易于扩展的多层Web应用程序。
多层架构概述
C/S:以数据库为中心
B/S:多层架构才是真正的目的
B/S多层架构将显示、业务运算、数据库等功能完全分离,杜绝彼此的耦合与影响,从而实现松耦合和良好的可维护性。
呈现层(UI Layer/Presentation Layer)
struts
业务逻辑层(Business Layer )
spring
持久化层(Persistence Layer )
Hibernate
Struts
开源MVC框架
Struts课程目标
深入理解MVC模式
掌握Struts体系架构
掌握Struts开发流程
熟练掌握Struts的配置方法
Struts是什么?
Struts的目标是提供一个开发Web应用的开源框架。Struts鼓励基于M2模式(即MVC设计模式)来开发程序。
Model
View
Controller
Model1与Model2设计模式简介
以JSP为中心的开发模型,称为Model1(JSP+JAVABEAN)
业务逻辑与表示逻辑混和,不利维护与重用
HTML中嵌入了大量的JAVA代码
验证、流程控制、更新程序的状态全部在JSP中完成
基于MVC 模式的框架
MVC 将问题进行分解
模型包含应用程序的核心功能。模型封装了应用程序的状态。它对视图或控制器一无所知。
视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。此外,它对控制器一无所知。
控制器对用户的输入作出反应。它创建并设置模型。
Model2
Struts框架概览
Struts框架概览
浏览器
web容器将对来自HTTP的每个请求创建一个request对象,并用一个response对象作出响应
控制器
控制器接收来自浏览器的请求,在struts 中,是由一个servlet 来充当控制器的角色,struts- 文件配置控制器
模型
在struts 中,由Action 类充当业务逻辑的包装器,ActionForm 是程序的状态
视图
JSP 文件
Struts框架组件
ActionServlet类控制导航流
ActionServlet根据URI来决定哪个Action类
被用于处理请求,Action可以校验输入,并访
问业务层以便从数据库检索信息
Action需要知道页面提交了哪些内容,所以
由ActionServlet根据请求URI来决定将请求
参数绑定到哪个ActionForm中,并传入Action
Action在完成业务逻辑后,返回一个ActionForward
对象,ActionServlet根据ActionForward对象中的路径来调用页面完成响应
Struts将这些信息绑定在一个ActionMapping对象中,一个ActionMapping对应一个请求URI,当请求路径到达的时候,ActionServlet就会查询ActionMapping对象,ActionMapping对象将告诉ActionServlet哪个Action类会被调用、哪个ActionForm类被用于传递页面数据以及哪些ActionForward将被用于转向
有关Action、ActionForm、ActionForward等信息,Struts通过一个配置文件:struts-。
快速开始一个Struts项目
第一个项目,实现用户登录操作
用户将看到一个登录页面,要求用户输入用户名以及密码
如果用户名以及密码都是admin,提示登录成功
否则提示登录失败
1、用Eclipse创建一个J2EE Web应用项目,如右图所示
2、下载并解压Struts项目
*从Apache网站下载struts最新版
*将压缩包解压到一个目录,此目录为STRUTS_HOME目录
3、将STRUTS_HOME/
web项目的WebContent/WEB-INF/lib目录下
4、配置ActionServlet:
,添加如下Servlet映射配置
(转下一页)
的配置
<servlet>
<servlet-name>action</servlet-name>
<servlet-.