zoukankan      html  css  js  c++  java
  • struts2的作用是什么

    struts2是一种重量级的框架,位于MVC架构中的controller,可以分析出来,它是用于接受页面信息然后通过内部处理,将结果返回。

    同时struts2也是一个web层的MVC框架,那么什么是struts2中的MVC呢?

    我们可以联想一下struts2的使用流程,我们需要先通过过滤器,调用URL判断使用哪个Action,再由Action决定返回结果,继而 提交请求。那么这就构成了一个MVC架构,由过滤器(Controller)控制选择动作Action(Model),获得结果Result(View),向控制器提交请求。

    所以从宏观架构的角度来讲,struts2就是联系了模型层和视图层,将用户要求按照业务逻辑执行并且返回结果。

    简要概括一下它的作用,无非在于传递参数,将请求发送给合适的控制器,在控制器中调用业务接口,最后将业务接口返回的结果返回给指定的视图。

    但是说了这么多,我们还没有看到struts2的优越之处,所以我们为什么要选择他作为控制层呢?这里我们需要了解一下,在struts2框架出现之前,我们是使用sevlet来进行操作的,也就是说struts2是淘汰掉了servlet,那么让我们来做一个对比。

    我们主要从三方面来对比:

    ①配置:当我们配置servlet的时候,我们需要在web.xml中配置很多,也就是说一个servlet我们就需要配置一段代码,这样不仅会导致web.xml中的代码过于繁多,并且不利于分组开发,需要手动配置二级的URL-PATTERN。

    而在使用struts2的时候就很好的解决了这个问题,我们引用专门的XML文件,配置package属性和action属性,大大增加了配置代码的可读性,而且结构层次清晰,提升了分组开发的效率。

    ②测试:当我们需要测试我们的代码的时候,使用servlet的我们必须要配置两个与容器相关的参数,HttpServletResponse和HttpServletRequest,这样就会增加我们的工作量,而struts2则可以很好的独立完成单元测试。

    ③传参:每次传参的时候,使用servlet我们就必须手动操作作用域,如果serlvet方法非常多的情况下,就会很大程度上影响开发,在struts2中,我们的默认过滤器栈中自带了自动收参的方法,极大的便利了我们的开发。

    在其他的方面其实struts2也有很大的优势,比如全局异常的设置比如拦截器的配置比如...

    简要概括使用流程:

    ①导入jar包

    ②配置核心过滤器

    ③创建Action,书写代码并配置返回值

    ④配置配置文件

    总结一下struts2的好处:

    struts2将应用分层,使产品结构清晰,能够减少代码的维护量,同时能够使开发人员分层实现,也就是说Java程序员可以只专注于业务逻辑的实现

    项目开源,使用及扩展方便

    提供了强大的全局异常处理机制;

    Result方式的页面导航,通过 Result 标签很方便的实现重定向和页面跳转;

    通过简单、集中的配置来调度业务类,使得配置和修改都非常容易;

    提供简单、统一的表达式语言来访问所有可供访问的数据(OGNL);

    提供标准、强大的验证框架和国际化框架;

    提供多种表现层的技术支持和页面标签,大大简化开发;

    拥有简单的插件,只需要放入响应的 jar 包,任何人都可以扩展 Struts2 框架,比如:

    自定义拦截器、自定义结果类型、自定义标签等,为 Struts2 定制需要的功能,不需要什么特殊的配置,并且可以发布给其他人使用。
    拥有智能的默认设置,不需要另外进行繁琐的设置。使用默认设置就可以完成大多数项目程序开发所需的功能。

  • 相关阅读:
    449. 序列化和反序列化二叉搜索树
    极客mysql08
    极客mysql06
    MySQL死锁问题(转)
    mysql一些好的问题
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Dokuwiki
    在Ubuntu 20.04 LTS Focal Fossa上安装Icinga
    如何在Ubuntu 20.04 LTS Focal Fossa服务器上安装PowerShell
    如何在CentOS 8服务器上安装Discord
    在CentOS 8服务器上安装Apache Solr搜索平台
  • 原文地址:https://www.cnblogs.com/mark5/p/11652559.html
Copyright © 2011-2022 走看看