育专科生毕业论文(设计)
Struts实质上就是在JSPModel2的基础上实现一个MVC框架。在Struts框架中,模型出实现业务逻辑的JavaBea
或EJB组件构成,控制器出Actio
servlet和Actio
来实现,视图有一组JSP文件构成。图26显示了Struts实现的MVC框架
1视图视图就是一组JSP文件。在这些JSP文件中没有业务逻辑,也没有模型信息,只要标签,这些标签也可以是标准的JSP标签或客户化标签,如Struts标签库中的标签。此外,通常把Struts框架中的Actio
FormBea
也划分到视图模块中。Actio
FormBea
也是一种JavaBea
,除了具有一些avaBea
的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性设置为默认值。。Struts框架利用Actio
FormBea
来进行视图和控制器之间表单数据的传递,参见图27。Struts框架把用户输入的表单数据保存在Actio
FormBea
中,把它传递给控制器,控制器可以对Actio
FormBea
中的数据进行修改,JSP文件使用Struts标签读取修改后的Actio
FormBea
的信息,重新设置HTML表单。
第8页共19页
f中国地质大学(北京)继续教育学院现代远程教育专科生毕业论文(设计)
4Struts的配置文件strutsco
figxml一个用户请求是通过Actio
Servlet来处理和转发的。那么,Actio
Servlet如何决定把用户请求转发给哪个Actio
对象呢?这就需要一些描述用户请求路径和Actio
映射关系的配置信息了。在Struts中,这些配置映射信息就存储在特定的XML文件atrutsco
figxml中,每一个Actio
的映射信息都是通过一个actio
元素来配置。这些配置信息在系统启动的时候就被读入内存,供Struts在运行期间使用。在内存中,每一个actio
元素都对应一个orgapachestrutsActio
Mappi
g类的实例。
233Struts的工作流程
对采用Struts框架的Web应用,在Web应用启动时就会加载并初始化Actio
ServletActio
Servlet从strutsco
figxml文件读取配置信息,把他们存放到各种配置对象中,例如VDE映射信息存放在Actio
Mappi
g对象中。Actio
Servlet当接收到一个客户请求时,执行如下流程。(1)检束和用户请求匹配的Actio
Mappi
g实例,如果不存在,就返回用户请求路径无效的信息。(2)如果Actio
Form实例不存在,就创建一个Actio
Form对象,把客户提交的表单数据保存到Actio
Form对象中。(3)根据配置信息决定是否需要表单验证。如果需要验证,就调用Actio
Form的validate方法。
第9页共19页
f中国地质大学(北京)继续教育学院现代远程教育专科生毕业论文(设计)
(4)如何Actio
Form的validate返回
ull或返回一个不包含Actio
Messagr