• Struts2学习总结(一)struts2简介


    1.Struts2的引入

     JSP中请求的处理使用Servlet,由请求URL以及request域中引入参数,在Servlet中获取请求参数,手动访问POJO类(业务逻辑层)的某些方法,然后根据不同的返回值,决定重定向,请求转发决定要跳转的页面

       而除去Servlet,Filter也可以进行请求的处理,这其中一个请求URL对应一个POJO类,一个POJO类方法的返回值对应一个跳转页面,使用多个Filter成链式处理请求自然可以,但每一个Filter进行处理并放行并不好,此时考虑-----这样一对一的关系正好可以只利用一个Filter,而Filter内部维护一个Map,key为请求的url,value为被请求访问的POJO类的全限定类名,底层通过全限定类名Class.forName().newInstance()获取实例对象,进而获取对应的方法.invoke执行,而对于返回值,key为返回值,value为跳转的页面,这样便实现一个Filter处理多个页面的处理

    但其中由来的问题是-->程序需要增加新的请求,增加新的返回值与跳转页,就需要再向Map增加键值对,此时源码进行变化-->就需要重新编译程序-->此时,便用到了配置文件

    在配置文件中注册相关请求对应的url,跳转页面等--->struts2就实现了这一功能


    配置文件.xml/.properties的区别

    xml文件: 文件较大,由各个标签组成,标签语义性强,可读性强,所以经常被使用于核心配置文件

    properties文件:文件体积小,但语义性低,只是适用于常用的简单配置,例如数据源连接四要素


    2.Struts2环境的配置

       由上引入可知,Struts依赖于核心的Filter,由此Filter成为了Struts的启动项

      0)导入依赖的jar包

        apps中struts-blank.war(由于war和zip的解压逻辑相同),修改后缀名为.zip,解压得到内部内容,其中lib中13个jar包

      1)web.xml中配置Struts2的启动项 filter,filtermapping为 /*

        其中Filter核心类的全限定类名可根据ctrl+shift+T搜索--->可根据下载的struts2的jar包中app->struts-blank中web.xml为参考(复制粘贴)

      2)src下配置struts.xml(xml名必须是struts.xml)

        文件头在struts-core核心包中查找对应版本的dtd,文件头在其中的注释中

    <!--
       Struts configuration DTD.
       Use the following DOCTYPE
    
       <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    -->

      DOCTYPE后的单词便是此XML的根标签

    类似框架jar包核心,公共的部分-->在core核心包中根部或者基础中


    struts2中的基本jar包作用

  • 相关阅读:
    Jmeter之CSV文件读取
    性能计数器及性能分析方法
    性能测试的应用领域
    动态加载JS文件方法总结
    handler method 参数绑定常用注解
    A4纸网页打印
    page-break-before和page-break-after 实现分页打印
    $.ajax 中的contentType
    @Controller和@RestController的区别?
    web页面内容打印总结
  • 原文地址:https://www.cnblogs.com/ying-dong/p/12176877.html
Copyright © 2020-2023  润新知