zoukankan      html  css  js  c++  java
  • Struts 2

    From a high level, Struts2 is a pull-MVC (or MVC2) framework. The Model-View-Controller pattern in Struts2 is realized with following five core components:

    • Actions
    • Interceptors
    • Value Stack / OGNL
    • Results / Result types
    • View technologies

    Struts 2 is slightly different from a traditional MVC framework in that the action takes the role of the model rather than the controller, although there is some overlap.
    Struts 2 Architecture

    The above diagram depicts the Model, View and Controller to the Struts2 high level architecture. The controller is implemented with a Struts2 dispatch servlet filter as well as interceptors, the model is implemented with actions, and the view as a combination of result types and results. The value stack and OGNL provide common thread, linking and enabling integration between the other components.

    Apart from the above components, there will be a lot of information that relates to configuration. Configuration for the web application, as well as configuration for actions, interceptors, results, etc.

    This is the architectural overview of the Struts 2 MVC pattern. We will go through each component in more detail in the subsequent chapters.

    Request life cycle

    Based on the above digram, one can explain the user's request life cycle in Struts 2 as follows:

    • User sends a request to the server for requesting for some resource (i.e pages).
    • The FilterDispatcher looks at the request and then determines the appropriate Action.
    • Configured interceptors functionalities applies such as validation, file upload etc.
    • Selected action is executed to perform the requested operation.
    • Again, configured interceptors are applied to do any post-processing if required.
    • Finally the result is prepared by the view and returns the result to the user.
  • 相关阅读:
    指针
    const
    指针数组和指向数组的指针
    extjs初探之由浅入深目录
    ie6字体设置13px引发的问题
    在IAR下通过Jlink将程序直接下载到Flash指定地址
    提高C语言程序运行稳定性的方法
    C/C++编程习惯
    释放QQ占用的C盘空间
    非阻塞算法思想在关系数据库应用程序开发中的使用
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4766896.html
Copyright © 2011-2022 走看看