Struts2深入详解--- 认识Struts2

第一章 认识Struts2

1.1什么是Web框架

最早的web应用主要是静态页面的浏览(如新闻的浏览),这些页面是用html语言来编写的。


目前应用得较多的三种服务器端页面编写技术就是:

ASP,JSP,PHP。

为了分离页面的表现逻辑和业务逻辑,使程序各部分的职责更加清晰,增强代码可维护.SUN公司在JSP的早期 规范中制定了2种JSP开发模型,分别是模型1(Model1)和模型2(Model2)

1.1.1模型1

(Jsp+JavaBeans)技术 将页面显示和业务逻辑处理分开。

JavaBean 对象用来承载数据和实现业务逻辑。



看一个按照模型1 的结构实现的登录案例


1.1.2   模型2 和 MVC

模型2符合MVC架构模式,MVC即模型-视图-控制器

MVC架构:

提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),

目的:将各对象间的耦合程度降到最低

M模型:代表应用程序的数据以及用于访问控制和修改这些数据的业务规则。

V视图:用来组织模型的内容

C控制器:定义了应用程序的行为。




模型2的架构:



Servlet充当控制器角色。

接受请求 将他们分发给页面开产生响应。

关于模型2的登录案例。

需要在 login.jsp  增加隐藏输入域

<input type=“hidden” name="action" value="login">

ControllerSerlvet类充当控制器,她接收用户的请求,根据请求的不同进行相应 的处理。并选择对应 的视图呈现给用户。






模型1:适合小型公司

模型2:应用比较复杂


1.1.3Web框架的诞生

MVC架构与Web应用程序相同处:调用流程:

1.所有的请求直接访问控制器,由控制器对请求进行分发。

2.控制器实例化JavaBean对象,由JavaBean对象处理业务逻辑,以及承载数据。

3.控制器根据请求的结果,向用户呈现相应的视图。

不同之处:

1.用户请求的URL的不同对应了不同的处理的单元。

2.不同表单提交的数据需要不同 的javaBean对象来保存数据。

3.请求处理结果的不同导致控制器向用户呈现视图的不同。



1.<form-bean>元素用于配置保存表单数据的JavaBean类

2.<action>配置用户请求进行处理的Action类,path属性指定一个相对的URI,当用户访问该uri时,请求将被转交给这个Action进行 处理。

3.type:指定对“/login”请求进行处理的Action类

4.name属性指定用于保存登录表达信息的form bean 的名字。

5.《forward》指定请求处理后导向 的页面


这些 只需要我们 编写页面,,实现from bean 和Action并在配置文件中进行配置的 就是Web项目开发。

Web开发优点

:

减轻程序负担,提高开发 效率,降低维护成本。


第一个提交的 web框架就是Struts   经过1年的 研究 Struts1出来了



是不是很厉害。

我们分析一下图中的控制器,模型和视图部分。

1.控制器

由2部分组成:1ActionServlet,这个类继承自HttpServlet,

由Strut1提供,作为中央控制器,他根据用户请求选择相应的action类对请求进行处理,并预先为Action类准备好保存了表单数据的 form bean对象;另一部分是Action类,负责创建业务组件(可以是不同的Javabean对象,或者EJB组件),

Struts1提供了Action基类,开发人员编写的Action类 需要从Action基类继承,


2.模型

   模型分为2部分:一部分是Struts1框架规定的 form  bena对象,赋值保存提交的表单数据,他实际上机试充当数据载体的JavaBean对象,只不过Struts1框架要求所有的form  bean  类必须继承自ActionForm 类

以便于对表单数据做初始化和验证。

另一部分 开发人员为完成本系统的业务逻辑而编写的业务组件类。

3.视图

Struts1支持的页面:jsp  jstl ,jsf velocity xslt等。。。


请求响应 流程:

1.所有的请求首先由ActionServlet 截获

2.ActionServlet 分局请求的uri 通过配置信息查找是否有对应的form bean,如果有,创建,并将请求数据组装到form bean 对象中

3.ActionServlet 分局请求的uri 通过配置信息查找是否有对应的action,如果有,创建,然后调用action类的特定的方法

execute(),并向action 传递form  bean对象。

4.action 从form bean 对象中取出用户提交的数据,创建业务组件对象,实现业务逻辑,并根据完成结果的成功与否向ActionServlet 返回代表结果页面ActionForward对象

5.Action Servlet根据ActionForward对象的信息向用户呈现指定 页面。

1.2 从Struts1---Struts2

1.2.1 其他Web 框架

1.WebWork

2.Tapestry

3.SpringMVC

1.2.2  Struts1缺点


2个:1.令人头疼的ActionForm

         2.单元测试困难




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值