基于MVC模式Struts框架研究与应用详解

合集下载

基于MVC+Struts的医疗保险管理系统设计与实现

基于MVC+Struts的医疗保险管理系统设计与实现
维普资讯
基 于 MV + t t 医疗保 险管理 系统 C S r s的 u 设计 与 实 现

彭 晏 飞
. 杨 德 权
(. 宁工程技术 大学 电子与信息 工程学 院 , 1辽 葫芦 岛 15 0 ; 放军第 2 5医院信息科 , 州 1 10 ) 2 15 2 解 0 锦 2 0 0
由于 MV C模 式在 We b开发 中的优势 . 以在为 所 某煤业 集 团公 司开 发医疗保 险管理信 息系统 时 . 定 决
采取这 种体系结 构来构建 医疗保险管理 信息平 台。 系统采用的技术方案是 JP Srl 和 JvB a S 、eve t aa en技 术屠后台数据库采用 O al 9, b . rc i e We 及应用服务器采用
摘 要 :通 过 对 MVC 设 计 模 式 与 Srt框 架 ห้องสมุดไป่ตู้ 分 析 , 合 医 疗 保 险 管 理 信 息 系统 的 特 点 及 功 t s u 结
能 , 出 了 MVC+ t t框 架 中 控 制 器 、 型 、 图 纽 件 在 医 疗 保 险 管 理 系统 中 的 实 给 Sr s u 模 视
0 引 言
BS结 构 通 过 浏 览 器 显 示 用 户 工作 界 面 .主 要 事 /
1 . 1医疗保 险管理 系统 实现 的功能
依照 医疗 保险管理 的特点 . 以及该 煤业集 团公 司 医保管理 现状 . 设计 的医疗保 险管理系 统主要包 括 所 公共信 息 管理子 系统 、 费用结 算 管理子 系统 、 定点 医 院管理子 系统和定 点药店管理子 系统 4个子 系统
●配置 A t n e l .它将 用于接 收公共信 息子 ci Sr e o v t

基于Struts和动态表单的MVC设计模式

基于Struts和动态表单的MVC设计模式

其 中的一个对 另外两个 部分 的影响很 小 ,从而 降低 了复杂 的 耦合 关系 ,解决 了系统 的显示 逻辑和 业务处理 逻辑之 间的矛 盾, 提高 了系统 的可维护性 和可扩展性 吲 同时 , 器居于核 。 控制 心地位 , 有的模 型和视 图都是 由控制器 连接和调 用 的 , 所 系统
0 引 言
C n ol : ot lr控制 器 的作用是 从客 户端接 受请 求 , r e 并且 选择
然后把 响应 结果送 回到客 户端 。 S u 在 tt rs 在当前的企业应用中 , 随着 JE 2 E技术的成熟 , C正在成 执行 相应 的业 务逻辑 , MV ot l 功 r e t S rl o t ci Ma pn o 为 JE 2 E平台上被推荐的一种设计模 型{MV 1 C模式对于 We 应 中 C n olr 能 由图 l中 Acin eve 和 A t n p ig对 1 , b
好封装和支持 。 Ve Srt 应 用 中的 Vi 部 分 是 通 过 JP技 术 实 现 i w: t s u e w S
软件维护 繁琐 ,程序应变能 力较 弱以及页面设计复 杂等问题 。 而且 系统开发 的效率也有 了很大 的提 高。
1 MV 设计模 式 C
在 We 应 用系统 开发 过程 中 , b 如何 将表现 界面 与应 用逻 辑有效地 分离以提 高代码 的重用性 与可维 护性是 开发者 必须
维普资讯
计算机 时代 2 0 年 第 9 06 期
・ 1 4・
基 于 S t 动态 表 单 的 MV t s和 r u C设 计模 式
丁昭华 ,李建华 ( 中南大学计算机软件 系,湖 南 长沙 407) 105
摘 要 :文章介 绍 了 MV C设 计模 式, 分析 了基 于 MVC模 式发展 出的 Srt We 用框 架以及动 态表 单技 术的 X作原 t s b应 u - 理 , 出将这 两者结合起 来实现 MVC设计模式的思想 , 出了临床诊 断信 息 系统的应用 实例 。 提 给 关键 词:Srt;MV ts u c;临床诊 断 系统 ;动态表单

Stucts架构的信息管理系统权限研究与实现

Stucts架构的信息管理系统权限研究与实现

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)是授予用户访问系统中特定对象或资源,对对象或资源执行特定操作的一种能力。

Structs2框架技术简单介绍

Structs2框架技术简单介绍

优点
• 3. 强大的拦截器Struts2的拦截器是一个Action级别 的AOP,Struts2中的许多特性都是通过拦截器来实 现的,例如异常处理,文件上传,验证等。拦截器 是可配置与重用的,可以将一些通用的功能如:登 录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。在我实现的的一Web 项目中,就是使用Struts2的拦截器来完成了系统中 的权限验证功能。
第一步 创建index.jsp
<html><head> <title>第一个Struts简单示例</title> </head> <body> <form action="user/HelloAction" method="post"> 请输入你的大名:<input type="text" name="username" /> <br> <input type="submit" value="提交" /> </form></body></html>
Structs2工作流程
• 此外,如果struts.xml文件中还定义了被请 Action的一些拦截器,那么该Action实例被 调用前后,这些拦截器也会被先后执行。
Structs2工作流程
Structs2工作流程
• 第五步 Action对请求处理完毕以后将返回 一个逻辑视图,该逻辑视图将在struts.xml 文件相应的<result>元素中寻找相应的物理 视图,并返回给客户端 • <result name="success">/WEBINF/page/hello.jsp</result>

基于Struts+Hibernate开源框架的投票系统的研究

基于Struts+Hibernate开源框架的投票系统的研究

1 MV C设 计模 式
MV C设计 模式 将应 用 程序 分 为 模 型 、 图 和 视 控 制 器 3个部 分 。视 图代 表 与 用户 交 互 的界 面 ,
从 用 户接 收数 据并 向用 户展 示处 理 结果 。模 型是
开发 一个 好 的应 用 系统 , 工 作 人 员 的 角 度 从
WA G P n , N igxn T N i—i N e g WA G Q n —i ,A G J q a
( u m n nvr t o cec n eh o g , u nnK n n 50 P C K n igU i sy f ineadT cnl yY na umig 0 5 R ) e i S o 6 1
也 能及 时掌握 信 息 , 了解情 况 , 能及 时根 据情 况 更
做 出相 应 的决 策 。
来说 , 不仅能让工作人员从大量繁杂的工作 中解 放出来 , 而且还能大大提高他们 的工作效率。丛 开发人 员 的角 度 来 看 , 仅 也 能 减轻 开 发 人 员 的 不 工作量 , 提高软件 的复用 率 , 挺高 系统 的可维护 性 -] 4。
文献标 识码 : A
T e De i n a d I lme to t s d o e o r e h sg n mp e n fVo e Ba e n Op n S u c
F a e r fS r t n b r a e r m wo k o tu s a d Hi e n t
收 稿 日期 :0 0一 8— 3 修 订 日期 :00— 9— O 21 O 2 ; 2 1 0 3
王 朋 , 清 心 , 嘉 麒 王 唐
( 昆明理工大学信息工程 与 自动化学院计算机系 , 云南 昆明 6 05 ) 5 0 1 摘要: 简单叙述 了 M C的开发模 式 , 细叙 述 了 MV V 详 C的 一个经典 实现 s us 架和 一个优 秀的持 久化框 架 t t框 r

Java Web框架的选择与应用实战

Java Web框架的选择与应用实战

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的系统设计和开发

基于Struts+Hibernate+Spring的系统设计和开发

基于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框架的国资管理系统的研究与设计

基于Struts框架的国资管理系统的研究与设计

1 Srt体 系结构 tus
基于 MV C模 式 的 Srt 架 就 是 一 种 在 j p t s框 u s
图 1 S rt t s实现 的 MVC框 架 u
收 稿 日期 :0 6 l 2 0 一{ 6~1 8
() i ( 1Ve 视图)Srt应 用 中的视图部分是通过 w :t s u
效益低下” 的弊病 , 信息化被认为是完善 国资管理 的有
效途径。而构建 一个国有资产管理 系统 , 难度大 、 复杂
( aLb 、aa en 、 ML和信 息 资 源 ( eor B n T g i JvB as X ) R suc u — e d s整 合到一个统 一的框 架中 , l) e 它们组 成 了一 个可复
用 的 MV C设计 。 J
度高。在设计构建 国有资产管理 系统 时 , 合考 虑操 综 作 简便 、 系统 管理 、 代码重用 以及无缝 接合等 方面 J ,
在 JE 2 E平 台下 采用 MVC设计模 式对整 个应 用系 统 进行设计 开发 。而 Srt 作 为基 于 S r e、s 、 签 t s u ev tJp 标 l
王海蓉 , 苗 放
( 成都 理 工大学 信 息 .g 院, 川 成都 6 05 ) r l学 _ 四 10 9
摘 要 : 合 笔者开 发大型 国资管 理系统 的实践 , 结 首先介 绍 Srt框 架 的体 系结 构 以及 基本 设 计思想 , 点 分析 了该 国资 t s u 重
管理 系统 的整体 设计 架构 , 给 出利 用 Srt框 架构 建该 We 应 用 的详细设 计 。进 一步 揭示 了 Srt是 一 个高度可 配置 、 并 t s u b t s u
K yw r s MVC mo e; ML;S Mo e ; t t f me r A e od : d lX J P d l S r s r wok; MS 2 u a
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要: 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页面,将处理结果返回给客户端。

相关文档
最新文档