WEB应用框架:MVC设计模式和Struts框架

 MVC设计模式

  基于J2EE的WEB应用系统,多数都利用MVC模式来实现其体系结构。MVC(Model-View-Controller)是八十年代为编程语言Smalltalk-80发明的一种软件设计模式。MVC模式将交互式应用分成模型(Model)、视图(View)和控制器(Controller)三部分[1]。模型是指从现实世界中挖掘出来的对象模型,是应用逻辑的反映。模型封装了数据和对数据的操作,是实际进行数据处理的计算的地方。视图是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器负责视图和模型之间的交互,控制对用户输入的响应响应方式和流程,它主要负责两方面的动作:把用户的请求分发到相应的模型;将模型的改变及时反应到视图上。MVC将这些对象分离以提高灵活性和复用性。MVC模式的结构如图1所示: 


图1 MVC设计模式的结构

Struts框架


  Struts是Apache基金会Jakarta项目组的一个Open Source项目,它将Servlet2.2和JSP1.1标记用作实现的一部分,它由一组相互协作的类、servlet和JSP标记,组成一个可重用的系统设计。它能够很好地帮助Java开发者利用J2EE开发WEB应用。它将设计模式中“分离显示逻辑与业务逻辑”的能力发挥的淋漓尽致。因此,越来越多的大型的WEB应用项目的开发都纷纷采用Struts框架,或者借鉴Struts架构设计,进行基于MVC模式的应用系统的开发。

  Struts的工作原理如图2所示: 

图2 Struts 的工作原理

  Struts的优点主要体现在两个方面:表单验证和页面导航。表单验证解决了请求数据的验证问题,增强了系统健壮性。而页面导航使系统的业务流程脉络清晰,系统各部分之间的联系可以通过配置文件反映出来,从而在一定程度上简化了系统以后的维护工作。

  但是Struts也存在一些不足:

  1)陡峭的学习曲线。Taglib是Struts的标记库,如果能灵活运用,能大提高开发效率,但对初学者来说,却需要一个持续学习的过程,增加了系统的开发成本。

  2)增加了系统的复杂度。业务层和表现层之间的耦合度太高,使得开发人员无法专注于表现层的设计和实现。

  3)没有对表单数据前端验证提出方案,不利于在大型系统中使用。

  4)配置文件过于复杂繁索,随着系统规模的增大,struts-config.xml越来越庞大,维护也变得越来越困难。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Struts2框架是一个用于开发Web应用程序的Java框架,它基于MVC设计模式,并提供了一套丰富的标签库和插件,能够简化Web应用程序的开发过程。 Struts2框架的基本流程如下: 1. 环境准备:首先需要在开发环境中配置好Java开发工具(如Eclipse、IntelliJ IDEA等)、Tomcat服务器和Struts2框架的相关jar包。 2. 创建项目:在开发工具中创建一个新的Web项目,并将Struts2框架的相关jar包引入到项目中。 3. 配置web.xml:在web.xml文件中配置Struts2框架的过滤器,以便让其能够拦截并处理所有的请求。 4. 创建Action类:编写Action类,它将负责处理Web应用程序中的各种请求,并将处理结果返回给用户。 5. 创建视图:编写JSP页面或FreeMarker模板,用于显示页面内容并接收用户的输入。 6. 配置struts.xml:在struts.xml文件中配置Action类的映射关系,将URL与相应的Action类方法进行映射。 7. 编写业务逻辑:在Action类中编写业务逻辑,可以调用服务层或数据库访问层的方法来实现具体的功能。 8. 联合视图:将Action类处理的结果通过视图呈现给用户,可以使用标签库和插件来达到更好的效果。 9. 测试和调试:在本地服务器上运行Web应用程序,进行测试和调试,确保各个模块都能够正常运行。 10. 部署上线:将Web应用程序部署到生产环境的服务器上,以便用户可以访问和使用。 总的来说,Struts2框架的开发流程就是配置环境、创建项目、编写Action类和视图、配置映射关系、编写业务逻辑、联合视图、测试调试和部署上线这几个步骤。通过这些步骤,我们可以快速高效地开发出一个功能完善、性能稳定的Web应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值