zoukankan      html  css  js  c++  java
  • struts2 学习日记1

    struts2 简介

       struts2的前身可以说是framework。strut1作为当时很流行的框架,但是有很多的不足之处,framework出生后,它带来了很好的框架,但是很多人已经习惯了strut1.所以问津framework的人不多。后来framework被apache收购,改名为struts2.这就是struts2的由来

    struts2比struts1的优点之处

       struts2的核心是基于xwork的,struts2使用了ognl表达式语言,a.用于更灵活的访问对象中的各种属性。b.在jsp页面中访问session或request内容时,提供了更加简便的方式,而且让我们使用标签的方式去遍历或迭代。减少了jsp中java代码的数量

    struts2理论知识:

        framework是基于http协议的web框架(因为它是基于请求响应(request-response)模式的应用)

        1.framework的逻辑结构:

             (1)控制器(controller):相当于中央调度器,它的所有处理都由他来完成,(j2ee用servlet事先控制器)

             (2)业务逻辑层:提供基础组件供开发人员完成真正的业务实现

             (3)数据逻辑层(Data logic):没有提供,struts2只是提供了前端到服务器端的交换过程,也就是基于web端的交换过程

    struts1的视图层就是jsp。

       struts2由jsp taglib 和 servlet组成。基于struts2框架的web设计模式基本上符合jsp model2(jsp model2是MVC设计模式的一种变化)的设计标准。

      这时不得不说下jsp的三种模式:1jsp:html+java代码

                                               2jsp model1:html+java代码+javabean

                                              3jsp model2:html+java代码+javabean+servlet

    struts2是建立在jsp和servlet之上的,对他们做了良好的封装,用于web服务器层端

    最后说一下struts2的工作流程

    结合图

    首先我们知道form表单中action值能够被struts接受,若action中值没有后缀名,则此默认为.action

    form表单提交,向struts2提交请求,首先被struts的过滤器接受到,然后再去struts.xml文件中寻找对应名字为***的action。再由action中对应的class去处理提交来的请求,在class文件中将成员变量生成对应的getter和setter方法。用于得到页面上面的值和将值response到页面上。然后去执行处理数据的方法(默认的是execute()方法,也可以在astruts.xml的对应action中设置method方法)此方法将返回一个字符串给struts.xml中对应的action。然后在action中寻找result的名字为返回字符串的值,然后返回到对应的页面

    其实 其实,说白了就是匹配,找到对应的信息,servlet由tomcat管辖,而struts是由过滤器管辖,所以过滤器相当于controller(控制器)。其中set和get方法是通过反射机制动态生成的,而不是真正存在,在setter执行完之后,将信息放到request作用域中。

    过滤器是用来接管我们的请求的、

    通过查看过滤器文件,得知,过滤器实现了dofilter、destory方法

    珍惜现在,珍惜每一分,每一秒。 从不放弃,坚持。。。。。
  • 相关阅读:
    python if __name__ == '__main__' 作用
    Python pandas.DataFrame调整列顺序及修改index名
    Abp + gRpc 如何实现用户会话状态传递
    ASP .NET CORE 根据环境变量支持多个 appsettings.json
    [Abp 源码分析]九、事件总线
    [Abp 源码分析]八、缓存管理
    [Abp 源码分析]七、仓储与 Entity Framework Core
    基于阿里云 DNS API 实现的 DDNS 工具
    CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题
    [Abp 源码分析]六、工作单元的实现
  • 原文地址:https://www.cnblogs.com/feiguo/p/3744773.html
Copyright © 2011-2022 走看看