基于MVC模式Struts框架研究与应用详解
- 格式:doc
- 大小:7.33 KB
- 文档页数:5
Stucts架构的信息管理系统权限研究与实现作者:邵发明伍红兵卜一波李兴德陈磊来源:《电脑知识与技术》2012年第30期摘要:信息管理系统所面对的服务对象不同,需要对不同用户赋予不同的权限。
该文在根据信息管理系统的普遍设计需求,提出基于Struts的信息系统权限设计方法,分级、分角色进行信息管理系统的权限管理。
根据用户角色在系统操作和信息读取上实现权限细粒度划分。
基于该模式的信息系统权限管理具有高效性、灵活性、适应性以及安全性。
关键词:信息管理系统;权限;角色;分级;信息安全中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)30-7141-031 概述Struts是最早的MVC开源框架,它是apache组织基于MVC模式开发的开源的单点控制的web应用框架(framework)。
Struts的的目的是为了减少在运用MVC设计模型来开发Web 应用的时间。
信息管理系统的权限管理,是指根据不同的用户和角色,分配不同的信息管理系统的操作权限。
让不同的用户能够享受信息管理系统的功能、对不同的数据库对象进行操作、在信息管理系统中完成不同的任务,并且不允许其进行权限以外的操作确保系统安全有序的运行。
2 用户权限分配概述2.1基于B/S系统的权限设计的重要性B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现。
而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。
因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法地使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。
2.2权限和角色的划分权限(Privilege)是授予用户访问系统中特定对象或资源,对对象或资源执行特定操作的一种能力。
Java Web框架的选择与应用实战随着互联网技术的飞速发展,Web应用成为了当今互联网世界中的重要组成部分。
而在Web开发中,框架的作用越来越被人们所重视。
Java作为一门广泛应用于Web开发领域的编程语言,也涌现出了一批优秀的Web框架,如Spring MVC、Struts2等。
本文将就Java Web框架的选择与应用实战进行探讨。
一、Web框架的选择在选择Java Web框架时,除了要考虑自身的开发能力、需求以及项目特点外,还需要考虑框架的性能、安全性、稳定性等方面。
下面对几种常见的Java Web框架进行简单的介绍和评价,以供参考。
1. Spring MVCSpring MVC是一个模块化的Web应用框架,是基于Spring Framework的一个子框架,它支持多种视图技术,可用于开发RESTful Web应用和基于服务的Web应用。
该框架易于使用、扩展性强、提供了很好的测试支持,但也存在着过于复杂、学习曲线较陡峭等缺点。
2. Struts2Struts2是一个基于MVC模式的Web应用框架,它是Struts框架的后续版本。
该框架提供了大量的标签库支持,可以方便地实现各种表单操作。
它易于使用、对XML文件配置的支持逐渐减少,但也存在着减速代码的臃肿、性能不如其他框架等缺点。
3. Play FrameworkPlay Framework是一个开源的高度可扩展的Web应用框架,它采用了异步编程的方式,支持Java和Scala两种编程语言。
Play Framework使用了一种独特的路由机制,可以极其方便地实现URL路由。
它快速上手,性能优异,但也存在着不太适合大型项目、文档不太全面的缺点。
二、应用实战在选择了适合自己的Java Web框架后,我们需要在具体项目中进行实际应用。
下面以Spring MVC框架为例,介绍其在开发一个Web应用中的具体应用实战。
1. 搭建Maven工程Maven是一个强大的项目管理工具,我们可以使用它来构建一个Spring MVC的工程。
基于Struts+Hibernate+Spring的系统设计和开发俞国红(健雄职业技术学院计算机工程系,江苏太仓215411)摘要:阐述了以J2EE(JSP、JavaBean、Servlet)、SSH(Struts、Spring、Hibernate)开源框架为核心技术,逐步构建软件架构原型,构建系统原型作为系统开发的基础,提出了基于Struts、Spring和Hibernate框架的轻型J2EE 软件架构技术的系统设计和开发方法。
关键词:J2EE;Struts;Spring;Hibernate;架构中图分类号:TP311.52文献标识码:A1 前言J2EE(Java 2 Enterprise Edition即Java 2 平台企业版)是由Sun公司主持推出的一项中间件技术。
EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。
但由于EJB的复杂性,导致程序的开发效率低。
在Spring和Hibernate 等轻量级框架出现后,大量的开发人员转向到以目前最流行的开源框架,能快速开发出结构清晰、可重用性好、维护方便的轻量级的J2EE企业系统应用。
2 Web应用的分层分析构架Web企业系统应用时需要考虑用户交互、处理业务逻辑、应用数据持久化、扩展性等很多问题,所以一个应用的架构方案和实现技术选择十分重要。
而分层的目的就是对应用的逻辑功能进行划分,使每层在完成自己功能的同时,不影响其它层,实现“高内聚,低耦合”具有易于控制、扩展、维护的优点,图1是一个典型的轻量级J2EE应用架构,Web 应用分层结构基本上都分为三层:表现层、业务逻辑层、数据持久层。
表示层用来处理用户和软件之间的交互,它主要的责任是向用户展现信息以及处理用户请求。
业务逻辑层,又叫做领域逻辑层。
其职责包括处理业图1 典型的Web应用分层结构Fig.1 Typical Web application hierarchical structure务逻辑和存储业务数据,校验从表示层传过来的数据,通过表示层提交的命令来执行相应的业务逻辑。
基于Struts的网上商城系统研究摘要:随着计算机的广泛应用和网络技术的飞速发展,网上购物成了众多上网者所追捧的时尚活动。
网上购物突破了传统商务的障碍,不管是对企业、消费者还是市场都有着巨大的吸引力和影响力。
该文研究的网上商城系统是基于myeclipse6.0开发环境、运用struts应用框架技术、以sqlserver 2005作为后台数据库进行开发的。
关键词:struts;网上商城;订单管理;商品管理;货物配送中图分类号:tp393 文献标识码:a 文章编号:1009-3044(2013)08-1998-04网上购物是一种可以实现交互功能的商业信息系统,相比传统购物具有很多优势,对于商家来说,由于网上销售经营成本低、经营规模不受场地限制、没有库存压力等,基于这些优势会有越来越多的商家选择网上销售。
对于整个市场经济来说,网上购物可在更广的范围内和更宽的层面上以更高的效率实现资源配置。
因此,网上购物网站的建设在当今乃至今后一段时间将会受到企业内部和互联网越来越多的关注。
1 网上购物国内外现状在国外,如美国、日本等计算机水平较发达的国家,越来越多的行业加入到网上商店,因此网上商店发展速度飞快。
美国的世界级超一流的零售商,如沃尔玛凯玛特、家庭仓储、科罗格、j.c培尼等都开展网络商店。
经过调查表明,美国越来越多的家庭已习惯于在家中进行网上购物。
2 系统开发的可行性分析开发任何一个系统,都会受到资源和技术的限制,因此,在开发系统前,要进行技术可行性和经济可行性分析,以减少开发风险,避免人力、财力、物力的浪费。
2.1 技术可行性随着计算机网络的发展,上网人数越来越多,人们已经习惯和接受通过电子商城来进行购物和接受服务。
因此,在这种前提下,企业通过网站向客户提供各种各样商品的销售,能够被客户所接受,同时也可以增加企业客户访问量。
网上商城购物系统的开发技术已经日趋成熟,无论是在硬件还是软件方面。
首先,在硬件方面,由于计算机硬件速度和网络运行速度的大幅度提高,为网上电子商城的运行打下坚实的基础。
mvc三大框架的原理MVC是一种软件设计模式,将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。
每个部分都有特定的任务和职责,协同工作来实现应用程序的功能。
MVC框架就是基于MVC模式的应用程序框架,常见的三大MVC框架是Spring MVC、Struts2和 MVC。
它们都是开源的、成熟的框架,被广泛应用于Web应用程序的开发中。
下面我们来了解一下这三个MVC框架的原理。
1. Spring MVCSpring MVC在MVC模式的基础上,增加了IoC(控制反转)和AOP(面向切面编程)的概念,使得开发者能够更加方便地管理和组装组件。
Spring MVC将请求分解为控制器、模型和视图三部分,在控制器处理请求,模型提供数据,视图渲染数据。
Spring MVC的工作流程如下:1)客户端发送请求到DispatcherServlet。
2)DispatcherServlet调用HandlerMapping查找处理器。
3)HandlerMapping返回处理器,DispatcherServlet将请求发送到处理器。
4)处理器执行业务逻辑,并将数据存储在模型中。
5)处理器返回逻辑视图名字给DispatcherServlet。
6)DispatcherServlet将逻辑视图名字发送给ViewResolver。
7)ViewResolver返回视图,DispatcherServlet将模型和视图合并,并将HTML响应发送给客户端。
2. Struts2Struts2是Apache Struts的继承者,它将MVC设计模式应用于Web应用程序开发中。
Struts2通过拦截器(Interceptor)实现了AOP的功能,通过以拦截器为基础的过滤器链,将请求从客户端发送到控制器,再由控制器调用模型和视图。
Struts2的工作流程如下:1)客户端发送请求到FilterDispatcher。
SSH_三大框架介绍SSH是指Struts、Spring和Hibernate三个开源框架的整合,其中每个框架都有自己的设计思想和特点,通过整合,可以充分发挥它们的优势,提高开发效率和系统性能。
下面将分别介绍这三个框架。
1. Struts:Struts是一个基于MVC设计模式的Web应用程序框架,它将应用程序分为三个层:模型(Model)、视图(View)和控制器(Controller)。
模型负责处理业务逻辑,视图负责展示数据,控制器负责接收用户输入和导航请求。
Struts通过配置文件定义请求的映射和处理逻辑,通过统一的控制器Servlet接收请求,根据配置文件将请求转发给相应的Action。
在Action中进行请求处理和业务逻辑的实现。
2. Spring:Spring是一个轻量级的IoC(Inverse of Control)容器和应用程序框架,它主要解决企业应用中的复杂性问题。
Spring的核心思想是面向接口编程和依赖注入。
通过Spring的IoC容器管理对象的生命周期和依赖关系,将对象的创建和销毁过程交给容器处理。
通过依赖注入,可以将对象之间的依赖关系解耦,提高代码的可维护性和可测试性。
Spring还提供了丰富的功能模块,如AOP(Aspect-Oriented Programming)框架、事务管理、远程调用等,可以在应用程序中灵活地配置和使用。
Spring的优点是具有良好的灵活性和扩展性,可以与其他框架进行无缝集成,支持多种数据库和应用服务器。
同时,Spring还提供了很强的层次化管理和面向切面编程的能力,使得开发人员可以更加精细地控制应用程序的流程和行为。
3. Hibernate:Hibernate是一个开源的对象关系映射框架,用于将Java对象映射到关系数据库中的表结构上。
Hibernate通过配置文件和注解,提供了一种方便的方式来实现数据的持久化和检索。
Hibernate根据对象的映射关系,自动生成相应的SQL语句,实现了对象与数据库之间的映射和转换。
Struts部分: (1)1)为什么要学习Struts框架 (2)2)为什么使用MVC? (2)3)MVC在JavaWeb中的实现 (2)*4) Struts2的主要工作流程 (2)3.Struts2框架的历史 (4)*4.Struts2框架基本使用 (4)1.Struts2使用基本规则 (5)Struts2标签+OGNL表达式 (6)2)OGNL工作原理 (6)4.OGNL在Struts2中的应用 (8)1)xwork对ognl进行扩展和改造 (8)*2)ValueStack对象(参考valuestack.jpg) (9)*3)在JSP中访问ValueStack数据方法 (9)a.使用Struts标签+OGNL表达式 (9)b.使用EL表达式 (9)1.Struts2框架Action组件的核心应用 (10)1)Action组件基本原理 (10)*3)Action属性注入 (11)*4)如何利用一个Action处理多个请求 (11)1.前期课程回顾 (11)1.Result组件原理 (12)1)Result组件的作用 (12)2)Result组件实现规则 (12)*2.常用的几种Result组件 (13)2)Action响应 (13)1.Struts2标签 (14)1)通用标签 (14)2)表单标签 (15)2.拦截器组件 (15)*2)掌握自定义拦截器的使用 (16)Struts部分:======================Day01=========================1)为什么要学习Struts框架Struts框架是MVC设计模式的实现,基于Struts开发可以简化开发难度,提高开发效率。
2)为什么使用MVC?MVC是一个非常优秀的设计思想,基于该思想架构程序,可以提高程序的结构灵活性,便于日后维护、扩展和升级。
3)MVC在JavaWeb中的实现Servlet,JSP,Filter,JDBCa.原ShoppingCart程序就是一个MVC结构实现View实现部分:采用JSP组件实现Model实现部分:采用DAO、Entity等组件实现Controller实现部分:采用ActionServlet组件实现b.ShoppingCart程序虽然基于MVC,但结构还有一些问题:当请求数量比较多时,需要在Servlet中编写大量的if...else分支语句,而且Servlet代码量非常多。
JavaWeb开发中的框架选择与对比随着互联网技术的快速发展,JavaWeb应用开发已经成为了企业级开发应用的首选。
目前,JavaWeb开发中主流的框架有Spring、Struts、Hibernate等,对于初学者来说,选择适合自己的框架可能是一个比较困难的问题。
本文将从架构设计、实现方式、性能等几方面对常用JavaWeb框架进行对比,并分析其优劣,以期帮助初学者快速入门。
一、架构设计1. SpringSpring是一个轻量级的应用框架,其核心思想是控制反转(IoC)和面向切面编程(AOP)。
Spring将业务逻辑与技术实现分开,实现了应用的松耦合,使应用更易于维护和扩展。
2. StrutsStruts是一个基于MVC设计模式的Web框架,其核心思想是将应用程序分离为Model(数据模型)、View(用户界面)和Controller(应用程序控制器),以便于管理、维护和扩展。
3. HibernateHibernate是一个轻量级的ORM框架,其核心思想是通过Java类和数据库之间的映射来访问数据库,使开发人员无需关注SQL语句,只需关注业务逻辑。
二、实现方式1. SpringSpring通过IoC容器来管理应用中对象的依赖关系,通过AOP 技术实现面向切面编程。
Spring支持多种数据源,并提供了事务管理、安全、远程访问等功能。
2. StrutsStruts基于MVC设计模式,将用户请求映射到正确的Action,并将结果返回给用户。
Struts提供了一套完整的标签库,使得前端开发更加方便。
3. HibernateHibernate通过Java类和数据库之间的映射来访问数据库,可自动完成数据库表和类之间的ORM映射。
Hibernate提供了多种查询方式,并支持事务管理和缓存功能。
三、性能比较1. SpringSpring具有很高的扩展性,可以扩展到任何规模的应用中。
Spring的IoC容器具有很高的性能,可在大规模应用中实现很好的稳定性和高性能。
Java Web开发中的MVC概念及其实现MVC是Model-View-Controller,它是一种设计模式,常用于Java Web开发中,用于实现分层架构和代码的可维护性。
MVC架构的优势在于将系统分为三个独立的部分:模型、视图和控制器,各自拥有自己的职责。
通过这种方式,Web应用程序可以有效地管理和修改,并且十分灵活。
一、模型层模型层是应用程序的核心部分,也是最重要的部分。
它包含了处理数据逻辑的代码,例如从数据库中提取数据或更新数据。
模型层还可以包含其他逻辑层的代码,比如配置模板的操作和业务逻辑的代码。
这些代码可以使Web应用程序更加灵活和可维护,从而能够更好地满足客户的需求。
二、视图层视图层处理Web应用程序的呈现界面部分,包括HTML、CSS 等。
在视图层中,通常不会包含任何业务逻辑代码,这样可以与其他部分进行解耦。
视图层应该保持简单,易于修改和维护。
三、控制器层控制器层用于接收来自用户的请求,并将请求传递给模型层进行处理。
在处理完毕后,将数据传递给视图层进行呈现。
控制器层负责协调模型层和视图层的交互,确保Web应用程序的顺利运行。
Java Web开发中,常用的实现MVC的框架有Spring MVC、Struts2等。
下面以Spring MVC为例进行讲解。
Spring MVC是Spring框架的一个模块,基于MVC设计模式,使开发人员能够构建灵活和高效的Web应用程序。
下面是Spring MVC中的几个重要组件:1、DispatcherServletDispatcherServlet是Spring MVC框架的一个核心组件。
它拦截所有的客户请求,并将请求转发给相应的控制器进行处理。
同时,它还负责管理应用程序的所有资源,如消息资源和视图资源。
2、控制器控制器负责实现业务逻辑,并将模型对象传递给视图层进行呈现。
在Spring MVC中,控制器通常是一个@Service或@Component对象。
基于EasyJWeb框架和MVC模式的Web应用
苑宝林;李志蜀
【期刊名称】《计算机应用》
【年(卷),期】2008(028)0z2
【摘要】描述了MVC设计模式和EasyJWeb框架的组成和工作原理,然后通过一个客户管理系统实例论述了基于MVC模式EasyJWeb框架的Web应用系统的实现方法.通过实例论述了基于EasyJWeb框架开发的Web应用系统可获得较高的效率性、可扩展性和易维护性.
【总页数】3页(P135-137)
【作者】苑宝林;李志蜀
【作者单位】四川大学计算机学院,成都,610065;四川大学计算机学院,成
都,610065
【正文语种】中文
【中图分类】TP311.52
【相关文献】
1.基于MVC模式和Struts框架的Web应用设计与实现 [J], 赵恺
2.基于MVC模式Web应用框架的研究和开发 [J], 王向中
3.基于MVC模式的WEB应用框架 [J], 陈玮;沈雷
4.基于MVC模式的Struts+Hibernate框架的Web应用研究与实现 [J], 刘贤金;王光琼
5.基于MVC模式的Struts2框架在Web应用开发中的实现 [J], 邱晓荣
因版权原因,仅展示原文概要,查看原文内容请购买。
摘要: Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC 的web应用程序的开发。
本文讨论了Struts框架实现MVC模式的原理与方法,给出了一个具体的应用实例。
分布式企业应用软件结构复杂、涉及多种技术,对设计开发人员提出了很高的要求。
在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要。
MVC模式已被证明是一种成功的软件设计模式,本文主要讨论了一种实现MVC模式的应用框架――Struts,并通过一个实例展示了Struts框架实现MVC模式的方法。
MVC设计模式MVC(Modle-View-Controller,模型-视图-控制器)模式是Xerox PARC在20世纪80年代为编程语言Smalltalk-80所设计的一种软件设计模式,至今已被广泛使用,并被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。
MVC模式主要由3个部分组成:模型、视图和控制器,其结构如图1所示。
图1 MVC模式框架模型表示业务逻辑和业务规则等,在MVC的三个部件中拥有最多的处理任务。
它可以用JavaBean和EJB等组件技术来处理数据库的访问。
模型能为多个视图提供数据。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
视图是屏幕上的显示。
模型进行操作之后,其结果就是通过视图来显示的。
在视图中其实没有真正的处理发生,只是作为一种输出数据并允许用户操作的方式。
控制器用于管理用户与视图发生的交互。
一旦用户想对模型进行处理时,它不能直接去执行模型,而是通过控制器来间接地实现。
控制器能从视图中取值,然后将相应的值传给模型进行处理。
控制器接受用户的输入并调用模型和视图去完成用户的需求。
由上述可知,MVC模式的处理过程是:首先由控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图返回数据,并通过表达层呈现给用户。
MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果。
现在有很多可供使用的MVC框架,由于Struts有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便地。
Struts框架Struts是Apache组织的一个开放源码项目。
Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,它采用的主要技术是Servlet,JSP和Custom tag library。
其基本构成如图2所示。
图2 Struts框架图由图2可以看出,在Struts框架中Controller功能由ActionServlet和ActionMapping 对象构成,核心是一个Servlet类型的对象ActionServlet,它用来接受客户端的请求。
ActionServlet包括一组基于配置的ActionMapping对象,每个ActionMapping对象实现了一个请求到一个具体的Model部分中Action处理器对象之间的映射。
Model部分由Action和ActionForm对象构成。
所有的Action处理器对象都是开发者从Struts的Action类派生的子类。
Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。
Struts提供的ActionForm组件对象可以通过定义属性描述客户端表单数据。
开发者可以从它派生子类对象,利用它和Struts 提供的自定义标记库结合可以实现对客户端的表单数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。
通过ActionForm组件对象实现了对View和Model之间交互的支持。
View部分是通过JSP技术实现的。
Struts提供了自定义的标记库,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,完成对用户数据的封装。
基于MVC模式的Struts框架的应用下面通过一个具体实例说明如何应用Struts框架构建应用程序。
该实例是一个全面预算管理系统中的预算资料模块,包括资料录入、资料查询、资料修改和资料删除四个功能,用于完成预算资料的录入、查询、修改及删除。
具体在使用Struts框架时,对应各个部分的开发工作主要包括:1、构建视图在Struts框架中,视图的实现主要采用JSP技术,但与传统的JSP相比有两个显著的不同。
首先,在Struts下使用JSP开发视图,在页面中没有包含任何的脚本程序,只是单纯的完成数据传送以及接收和显示返回的数据。
对数据的处理以及页面的跳转都在业务层中来实现。
这样做实现了业务逻辑和表示逻辑的完全分离,提高了一个应用程序的性能和可扩展性,并有利于程序的复用。
第二,Struts框架提供了一组可扩展的自定义标记库,主要包括: Bean标记、 Logic 标记、HTML标记和模板标记。
通过使用标记,可以简化创建用户界面的过程,并且更好地实现数据的封装。
通过使用这些自定义标记创建的JSP表单,可以实现和业务层中的ActionForm 的映射,非常好地和系统的业务逻辑部分交互。
下面给出资料录入页面的部分实现代码:<%@ page contentType="text/html; charset=GBK" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><html><head><title>前期准备资料录入</title><link rel="stylesheet" type="text/css" href="../images/mobile.css"></head><body bgcolor="#ffffff"><html:form action="/information/budgetinfoadd" enctype="multipart/form-data"><table width="95%" border="1" cellspacing="1" cellpadding="2" bordercolor="#CBE7F8" align="center"><tr bgcolor="#F2F9FD"><td width="20%">类型:</td><td><html:select property="infoType" styleClass="input2"><html:options collection="TypeList" property="id" labelProperty="typeName"/></html:select></td></tr>……</table></html:form></body></html>程序中首先引入了HTML、Bean和Logic标记库,然后用action指出调用的Action组件的绝对路径,标记<html:form>和</html:form>封装了表单数据,在业务层中用相应的ActionForm组件可以将输入的数据全部得到。
可以看出在视图中没有进行任何的业务逻辑的处理,其主要作用是给出客户端显示的信息和处理结果,以及请求的转发,它是和用户交互的接口。
2、构建模型模型采用JavaBean和EJB组件,设计和实现系统的业务逻辑。
根据不同的请求从Action 派生具体Action处理对象,完成“做什么”的任务来调用由Bean构成的业务组件,创建由ActionForm 的派生类实现对客户端表单数据的封装。
下面以BudgetInfoAddForm这个ActionForm Bean进行说明:……public final class BudgetInfoAddForm extends ActionForm {private String infoType;private String title;private String content;private FormFile infoFile;这里表示BudgetInfoAddForm继承于ActionForm,在这个Bean中定义了视图中所要显示数据信息的参数,包括infoType,资料分类;title,资料标题;content,资料内容;infoFile, 资料文件。
同时在BudgetInfoAddForm中提供了设定和访问这些参数的方法:public String getInfoType()public void setInfoType(String infoType)public String getTitle()public void setTitle(String title)public String getContent()public void setContent(String content)public FormFile getInfoFile()public void setInfoFile(FormFile infoFile)public void reset(ActionMapping mapping, HttpServletRequest request) { title = null;content = null;infoFile = null;}3、构建控制器在Struts应用框架中,中心控制器(ActionServlet)是由Struts框架本身所提供,开发人员一般无须对该ActionServlet进行再次开发;负责具体业务处理的Action类则是开发者开发实现的重点,在这些Action对象中会进行所有的业务操作,处理完毕,由Struts的ActionServlet转向到jsp页面,将处理结果返回给客户端。