• 四、Struts2


    一、使用struts2的原因

      1. 侵入性框架:开发程序的同时,引进的框架。如果在使用该框架时,要继承框架提供的实体类或实现框架提供的接口,这就说明该框架是侵入式框架,因为程序本身对框架有了依赖,当去除框架时,程序也就无法运行,这个也就是我们说的重量级框架,如struts1中,action和actionForm必须要继承Action和ActionForm一样。相反的非侵入式框架是轻量级框架的重要特点,如hibernate和spring,当我们想去掉hibernate和Spring框架时,只需修改相应的程序,程序仍可运行。

      2. 耦合性(Coupling):也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。

      3. 综上所述:Struts1框架而言,由于与JSP/Servlet耦合非常紧密,因而导致了一些严重的问题:

        ①:Struts1支持的表现层技术单一。(Struts1出现的年代比较早,当时的技术单一)

        ②:Struts1与Servlet API的严重耦合,使应用难于测试。

        ③:Struts1代码严重依赖于Struts1 API,属于侵入性框架。

    二、Struts2请求过程源码分析

      参考:http://www.cnblogs.com/liuling/p/2013-8-10-01.html

    三、struts 事例(struts2-core.2.5.10.1)

      1. 导入基础包:

        

      2. 配置web.xml

       

        早期 webwork:com.opensymphony.webwork.dispatcher.ServletDispatcher
        现在 webwork:com.opensymphony.webwork.dispatcher.FilterDispatcher
        早期 struts2:com.opensymphony.webwork.dispatcher.FilterDispatcher
        2.5 之前:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        2.5 开始:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

      3. 创建struts.xml

      

      4. 创建login.jsp

      

      5. 创建指定action

        

  • 相关阅读:
    NLP入门之语音模型原理
    NLP入门之语音模型原理
    NLP入门之语音模型原理
    TCP/IP 协议
    TCP/IP 协议
    TCP/IP 协议
    TCP/IP 协议
    Android -- 官方下拉刷新SwipeRefreshLayout
    Android -- 官方下拉刷新SwipeRefreshLayout
    创业屡战屡败,如何找回激情?
  • 原文地址:https://www.cnblogs.com/MissRabbit/p/6559943.html
Copyright © 2020-2023  润新知