下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Struts是一个什么框架你知道吗?

作者:课课家教育     来源: http://www.kokojia.com点击数:1744发布时间: 2016-09-20 11:14:41

标签: StrutsStruts框架面向对象设计

大神带你学编程,欢迎选课

  Struts是一个基于java平台开发的一个MVC框架,它是Apache基金会的一个开源项目。它通过采用Java Servlet/JSP技术,实现了基于Java EE web应用的Model-View-Controller〔MVC〕设计模式的应用框架〔WebFramework〕,是MVC经典设计模式中的一个经典产品。所以它能有效的帮助Java开发者采用J2EE进行Web应用开发。要注意的是,Struts也是一个面向对象设计。

  而MVC框架全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。在MVC的框架下M和C可以分离并分别用代码编写,C则控制实现M和V的同步,一旦M改变,V就同步跟新。

Struts是一个什么框架你知道吗?_Struts_Struts框架_java Struts_课课家

  Model

  这是应用程序中用于处理应用程序数据逻辑的部分,一般来说模型对象负责在数据库中存取数据。

  View

  这是应用程序中处理数据显示的部分,一般来说视图是根据模型数据创建的。作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

  Controller

  这是应用程序中处理用户交互的部分,一般用于从视图中读取数据以及控制用户的输入,并向模型发送数据。

  Struts

  上面说到了Struts是MVC架构的,而我们使用Struts的目的就是为了使我们在使用MVC设计模型开发Web应用的时候,可以减少开发的时间。Struts框架具有组件的模块化、灵活性以及重用性的优点,并且它还简化了基于MVC的Web应用程序的开发。

  Struts可以清楚的区分控制、事务逻辑以及外观,这样就简化了开发应用程序的过程。而且Struts中提供的类使得开发工作可以变得更加简单。如果你想混合的使用Servlet以及JSP的优点来建立可以扩展的应用,Struts就是一个不错的选择。

  Struts的优点

   1)因为Struts是实现MVC模式,所以Struts的结构清晰,这样可以使开发者只关注业务逻辑的实现。

   2)Struts中有丰富的tag 提供使用,例如如果能灵活的使用其中的标识库就能有效的提高开发效率。

   3)Struts中提供了Exception 处理机制

   4)Struts中支持数据库链接池管理

   5)页面导航,页面导航可以使系统中的脉络更加清晰。你可以通过配置文件就可以把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

   6)Struts支持I18N

  Struts的运行原理

Struts框架的运行原理

   初始化并读取配置文件

   Struts在Web应用启动的时候就会加在并且对ActionServlet进行初始化。而在对Struts应用程序进行加载的时候会首先对web.XML 中与Struts相关的一些配置参数进行加载。找到struts-config.xml文件,并且通过循环对此文件进行读取和解析里面的内容,以及初始化相关的对象。

   用户请求

   在用户进行提交表单或者是调用URL向应用程序服务器提交一个请求的时候,它会首先到达ActionServlet这个对象之中。并在此对发送请求的URL地址进行截取。将这个地址和初始化中读取出来的配置文件信息中的相关内容进行对比,找到其中和这个URL地址所相匹配的地址。在找到以后确定它要转向的Action,而如果这个Action中有一个相应的ActionForm,就会将表单中提交的一些数据自动匹配到ActionForm的一个实例中,并传递到要转向的Action。

   业务处理

   在Action中一般来说只是包含了一个execute()方法,它负责的是执行相对应的业务逻辑。这个方法在Action中获取ActionForm中传递过来的数据,在数据传递之后会调用相关业务逻辑。在执行之后会返回一个ActionForward的对象,最后控制器会通过这个ActionForward对象进行转发工作。

   接收结果

   对Action中处理的结果进行接收并在界面显示相关的数据给用户。

      总的来说,struts也是现在主流的开发技术,struts中把相关的servlet组件的各种操作都进行了相应的封装。而且Struts是基于MVC模式开发的,而MVC结构是一个优秀的设计思想,所以可以提高程序结构的灵活性,便于日后的维护和扩展。如果对Struts 有兴趣的朋友可以继续对Struts进行了解,如果对编程语言有兴趣的朋友可以直接在本网站中进行学习或者直接点解文中链接进行学习。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程