基于Struts技术的Web层应用设计和实现

web|设计

近年来,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的青睐。Struts是建立在当前动态网站设计领域中JSP、Servlet、XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化、灵活性和重用性的优点,同时极大地简化了Web应用程序的开发。它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性。

Struts框架

1、Struts体系结构

Struts是一种基于MVC经典设计模式的开放源代码的应用框架,也是目前Web开发中比较成熟的一种框架。通过把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供了具有高可配置性的MVC开发模式。

Struts体系结构实现了MVC设计模式的概念,它将Model、View和Controller分别映射到Web应用中的组件。Model由代表系统状态和商业逻辑Action来构建,View是由JSP和struts提供的自定义标签来实现,Controller负责控制流程,由ActionServlet和ActionMapping来完成。

2、主要组件介绍

下面我们就从分别从视图、控制、模型和Struts的配置文件struts-config.xml来介绍struts的体系结构。

(1)视图:主要由JSP建立,Struts自身包含了一组可扩展的自定义标签库(Tag1 ib),可以简化创建用户界面的过程。

(2)模型:模型主要是表示一个系统的状态和业务逻辑。在Struts中,系统的状态主要由ActiomForm Bean体现,对于业务逻辑通常由JavaBean或EJB组件来实现。

(3)控制器:控制器主要由ActionServlet类和Action类来实现,ActionServlet类是Struts框架中的核心组件,主要负责接收HTTP请求信息。根据配置文件struts-config.xml的配置信息,把请求转发合适的Action对象。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。

(4)配置文件struts-config.xml:当ActionServlet接收HTTP请求信息时,如何决定把用户请求转发给哪个Action对象呢?这就需要一些描述用户请求路径和Action映射关系的配置信息。在Struts中.这些配置映射信息都存储在特定的XML 文件Struts—config.xml中,在该配置文件中,每一个Action的映射信息都通过一个(action)元素来配置。这些配置信息在系统启动时会被读入内存,供Struts在运行期间使用,在内存中,每一个(action)元素都对应一个ActionMapping类的实例。

基于Struts框架BBS系统实现

BBS论坛是电子商务网站中一种常见的功能,它为上网用户提供了一个自由的讨论区。用户可以根据需要在论坛上发表文章,提出问题并表达自己的观点,俗称发帖子或灌水。与此同时,上网用户也可以在论坛中浏览其他人发表文章,并能对该文章进行回复。故一个典型的BBS系统一般应提供如下功能:①会员管理,②讨论区文章查阅,③发表新文章,④后台管理。

运用Struts框架实现BBS,首先把应用分解为模型、视图和控制器来实现,这样就将业务逻辑和表现层分开,提高软件可扩展性和良好的逻辑性,改变了传统Web开发设计模式。然后运用struts-config.xml配置文件将三者组装起来,协调它们完成相应的功能。下面将以BBS中用户登陆为例按照MVC架构来详述实现过程。

1、创建视图组件

在视图中主要包括两个组件:用户登录页面bbsLogin.jsp,是struts的输入显示页面;登录失败页面wrong.jsp;是用户登录失败后显示的页面。它们都保存在Web应用目录bbs下。

2、创建模型组件

模型组件文件UserInfo.java是处理业务逻辑的JavaBean, 封装了与论坛用户相关的所有信息,同时也定义了所有与论坛用户信息处理相关的方法。例如检查用户身份的方法以及查找、删除、编辑、存储用户信息等。通过Action类派生的子类LoginAction访问UserInfo.java实现对业务逻辑的处理。如果模型组建处理的业务比较复杂可以使用EJB或其他J2EE组件来实现。注意业务逻辑层对应的类所在的包应该部署在bbs/WEB-INF/classes下。

3、创建控制器组件

控制器组件作为整个Struts架构的控制中心,包括了ActionServlet、Action Bean、ActionForm Bean、以及相关配置文件web.xml、struts-config.xml及资源包。ActionServlet类是框架自带的,是整个Struts框架的控制枢纽,通常不需要扩展。

⑴ 声明及定义LoginActionForm.java

该Javabean用于收取用户登录页面提交的表单数据。注意ActionFormBean中属性名称一定要对应用户表示层JSP页面中的表单元素名称及超链接参数名。

⑵ 声明及定义LoginAction.java

LoginAction负责处理客户端提交请求,其主要功能是依据接收到的不同请求,通过LoginActionForm中得到对应的提交表单数据,调用业务逻辑层中对应的UserInfo.java进行处理。最终将结果传给用户表示层JSP页面,显示在用户面前。

⑶ 配置文件定义

web.xml主要实现了对ActionServlet进行配置,同时还必须声明Web表示层中所使用的struts标签库。针对本应用Struts-config.xml配置如下:

<form-beans><form-bean name="loginForm" type="bbs.LoginForm"/></form-beans><global-forwards><forward name="LoginSuccessed" path="/bbsMain.jsp"/><forward name="LoginFailed" path="/wrong.jsp"/></global-forwards><action-mappings><action path="/login" type="bbs.LoginAction" name="loginForm" scope="session" input="/bbsLogin.jsp" /></action-mappings>

结束语

从某种意思上讲,Struts技术只实现了Web层的应用框架,但它是一个具有良好扩展性和不断完善的框架,结合J2EE核心设计模式,可构建出相当稳定的基于MVC应用框架,利用这样应用框架不但能缩短开发时间,还能够实现框架和代码的重用,是未来web应用开发的主流技术。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索框架
, jsp页面框架
, loginaction
, struts
, 逻辑
, 配置
, 组件
用户
web桌面应用 怎么实现、struts2实现登录注册、struts2实现文件下载、struts2实现文件上传、struts2实现增删改查,以便于您获取更多的相关知识。

时间: 2025-01-24 19:40:25

基于Struts技术的Web层应用设计和实现的相关文章

基于Struts技术的Web应用设计与实现

web|设计 摘要 Struts是目前Web开发中比较成熟的一种框架,本文阐述了基于MVC模型的Web应用软件开发框架struts的体系结构及主要组成组件,并结合一个实例讨论如何设计基于struts框架的应用,同时也分析了使用struts框架开发web应用的优势. 关键词 Struts:模型:视图:控制器 近年来,基于MVC(Model-View-Controller)模型的Struts框架越来越受到web系统开发者的青睐.Struts是建立在当前动态网站设计领域中JSP.Servlet.XML

基于JSP技术的网络教学平台设计

js|设计|网络 摘要 网络教学平台是面向教师和学生的网络教学系统,采用JSP+XML+SQL Server开发,对该平台的体系结构.功能进行了详细的分析,并介绍了设计中所采用的关键技术. 关键词 网络;三层结构;教学平台;JSP;流媒体 引言 随着计算机技术的飞速发展,信息网络已成为社会发展的重要保证.如何以网络为纽带快速.高效.方便地实现知识传递,以现代化手段促进教学改革,将传统的课堂教学转变为课堂+电脑+网络课堂+internet等多种学习方式,是教育工作者应当为之努力的方向.基于JSP技

基于Struts 2开发Web应用

引言 作为 Java Web 应用的典型框架,Struts 一直受到 Java 开发者的青睐,Struts 2 作为 Struts 发展的又一个里程碑,以 WebWork 为基础,提供了更易于使用,功能更强的 MVC 框架.同时它可以帮助开发人员更快速.高效.方便地实现一个 Java Web 应用系统. 对于开发人员来讲,不同的项目可能需要不同的开发和运行 Struts 2 的平台,Struts 2 需要以下环境:Servlet API 2.4, JSP API 2.0, Java 5.IBM

基于.Net Framework的N层分布式应用开发

分布式 主题:建立可维护.可扩展的站点,开发高效率.高伸缩性的应用程序.创建N层分布式应用程序.实现跨平台.跨Internet的应用集成,是摆在无数开发者面前的任务.传统开发方式及技术面临了困难. .Net Framework推出的许多新技术为上述任务的实现提供了相对简单的解决方案.其中,基于SOAP的Web Service在处理分布式应用时具有比传统的DCOM/CORBA明显的优点,结合基于Web的ASP.NET页面开发技术和SQL Server数据存储技术(或Xml文档),在.Net下开发N

基于Struts 2拦截器实现细粒度的基于角色的存取控制

引言 Apache Struts 作为最成功的 MVC Web 框架早已得到了广泛的应用,但是其自身也暴露出不少缺点,从而引出了 Struts 2 . Struts 2 摒弃了原来 Struts 1 的设计, 而是转向了 webwork2,并结合 Struts 已有的优点,试图打造出一个集众家所长的完美 Web 框架. Struts 2 因此也具备 webwork2 中的一个非常重要的特性 - 拦截器 (Interceptor) .拦截器会在 Action 执行之前和之后被执行(如下图),是一种

基于DeepZoom技术的Bing Maps客户端实现研究

目前基于Silverlight技术的Web GIS客户端实现,包括微软Bing Maps Silverlight Control,以及开源的Web GIS客户端组件DeepEarth 项目,核心都是采用Silverlight中的DeepZoom技术实现.可能您已经知道 DeepZoom技术以MultiScaleImage控件为核心,其内部有一个 MultiScaleTileSource类型的源属性,主要用于设置 MultiScaleImage控件所要呈现的数据源,可以通过学习Deep Zoom

基于AJAX技术实现Struts校验框架

ajax 提要 实时的数据校验是AJAX技术的重要优点之一,Struts校验框架通过加入这种技术进一步丰富了其MVC,从而使得Web应用程序的开发效果更接近于桌面应用程序. 一. 引言 校验框架的根本目的是实现域校验.在Web应用程序中有许多方法可以实现域校验,总体上可以分为两类:服务器端和客户端.其中,Struts校验框架是适合于基于Java的Web应用程序环境最好的框架之一.它可以使用服务器端校验来配置应用程序并且使用在校验过程(在请求处理期间激活)中生成的错误消息:而且它也可以通过在请求页

基于MVC4+EasyUI的Web开发框架形成之旅--MVC控制器的设计

自从上篇<基于MVC4+EasyUI的Web开发框架形成之旅--总体介绍>总体性的概括,得到很多同行的关注和支持,不过上一篇主要是介绍一个总体的界面效果和思路,本系列的文章将逐步介绍其中的细节,本文主要介绍整个Web开发框架中的MVC控制器的设计.在设计之初,我就希望尽可能的减少代码,提高编程模型的统一性.因此希望能够以基类继承的方式,和我Winform开发框架一样,尽可能通过基类,而不是子类的重复代码来实现各种通用的操作. 1.登录控制的控制器基类设计 我们知道,一般我们创建一个MVC的控制

基于云技术的ELC集群式服务器架构设计与实现

基于云技术的ELC集群式服务器架构设计与实现 西安电子科技大学 张文 本文提出了一种基于云技术的弹性负载均衡集群式服务器架构(Elastic and Load Balancing Cluster Server Architecture based on CloudTechnology,ELC集群式服务器架构).本架构以Eucalyptus云计算平台为基础设施,按照计算与存储分离原则整体分为两部分.其中,计算服务系统在Eucalyptus云平台的计算模块基础上,通过虚拟服务器实例方式对外提供服务,