1、Struts1介绍:
Struts1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求。有3个重要组成部分:Action、ActionForm和ActionForward对象。
2、Struts1的程序运行流程
当用户发送一个需要得到服务器处理的请求时,该请求被ActionServlet拦截到,ActionServlet将该请求转发给对应的业务逻辑控制器,业务逻辑控制器调用模型来处理用户请求;如果用户请求只希望能到URL资源,则由ActionServlet将被请求的资源转发给用户。
3、Struts1程序流程中的MVC中的三个角色
Model部分——由底层的业务逻辑组件充当,封装了底层数据库访问、业务逻辑方法实现。可以是简单JavaBean、EJB组件、WebService组件。
View部分——采用JSP实现
Controller部分——由两个部分组成,
系统核心控制器:系统的ActionServlet;业务逻辑控制器:用户自己实现的Action实例。
4、Struts1的缺陷
l 支持的表现层技术单一
l 与Servlet API严重耦合,难于测试
l 代码严重依赖于Struts1 API,属于侵入式设计
5、Struts1中的ActionForm
Struts1使用单独的ActionForm封装请求参数。结构上,ActionForm就是一个POJO,需要为用户的每个请求参数都提供了一个对应的属性,并为该属性设置相应的setter和getter方法,但是必须继承Struts1的ActionForm基类。
6、Struts1中的Action
Action就是用于处理用户请求的业务控制器。ActionServlet在转发用户请求时,会将请求参数封装成ActionForm实例,并将该ActionForm实例转发给Action实例。
原理——Action实例从ActionForm中取出用户请求参数,然后调用业务逻辑组件处理用户请求,并根据处理结果,调用不同的视图页面来呈现处理结果。并返回ActionMapping对象。
区别——在于Struts1 Action的execute方法与Servlet API耦合,但是Struts2 Action类的execute方法无需与Servlet API耦合。
配置——在struts-config.xml中Action需要指定Action的实现类,以及Action处理请求的URL。同时配置该Action对应的ActionForm,每个ActionForm使用一个<form-bean>元素定义。定义Action的<action>元素中通过name属性指定与此Action关联的ActionForm。
7、MVC模式
事件由控制器处理,控制器根据事件的类型改变模型或试图。把多个视图注册到同一个模型,当模型发生改变时,模型向所有注册过的视图发送通知,接下来,视图从对应的模型中获得信息,然后完成视图显示的更新。
特点:
l 多个视图可以对应一个模型;
l 模型返回的数据与显示逻辑分离
l 应用被分隔为三层
l 控制层包含了用户请求权限的概念
l MVC模式更符合软件工程化管理的精神
8、个人总结
Login.jsp-》struts-config.xml中的LoginForm,path对应的是LoginAction, ->由LoginAction的返回值success或是error来确定一个actionMapping,但是要由ActionForm来封装-》在ActionForm中的validate()来判断其是否有错误;
分享到:
相关推荐
深入struts1核心思想.doc深入struts1核心思想.doc
struts核心jar包 struts核心jar包struts核心jar包 struts核心jar包struts核心jar包 struts核心jar包struts核心jar包 struts核心jar包struts核心jar包 struts核心jar包
struts2核心技术整理。。。。。。。。。。
经过老师讲解,猜写的Struts1.x 的核心源码 不含国际化,标签库,和数据验证,很简单
struts1核心包,整个框架所需要的jar包都有
Struts2最新版本2.2.1中所设计的核心库文件,包括以下内容: struts2-core-2.2.1.jar:Struts2框架的核心类库。 xwork-core-2.2.1.jar:Xwork核心类库,Struts2在其上构建。 ognl-3.0.jar:对象图导航语言(Object ...
struts2核心配置文件,struts2.xml和struts2.properties
struts1jar包,struts1核心包,struts1jar,struts1jar包
Struts2核心jar包
struts2核心包(保证好用)struts2核心包(保证好用)
struts2.3核心jar包
struts2核心jar包,需要的可以下载使用
Struts2用到的核心jar包: 基本功能核心jar包 5个(2.1.8) struts2-core-2.1.8.1.jar(*) Struts2核心包,是Struts框架的“外衣” xwork-core-2.1.6.jar(*) Struts2核心包,是WebWork内核。 ognl-2.7.3.jar ...
javaweb开发struts2.1.18框架核心jar包
最新版struts2 核心开发包奉上 说明一点(只有核心包和经常用到的 一共7个 不是所有) 免得大家到处找 还有可能下载到假的
资源名称:Struts1相关学习资料汇总资源目录:【】Struts1工作原理浅析【】struts1标签库详解【】struts1核心思想【】struts1详细配置【】Struts_in_Action_中文版【】Struts中文手册资源截图: 资源太大,传百度...
struts2-core-2.0.14.jar xwork-2.0.4.jar
struts2.3.4核心JAR包
struts2 核心jar包的源码 多个版本
Struts2核心jar包(2),由于上传时用户上传大小受限,因此分为(1)(2)两个压缩包。