• JAVA框架Struts2(二)


    一:Struts2执行流程:

    1)编写页面,点击超链接,请求提交到服务器端。

    2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter)。

    3)过滤器的功能是完成一部分代码。(dofilter放行。)

    4)一系列的拦截器执行了。进行一些处理工作。

    5)拦截器执行完后,会根据struts.xml的配置文件找到请求路径,找到对应的action类的路径,通过反射找到对应的类,找到对应的

    方法,并执行方法。通过返回值,在struts.xm文件找到对应的请求,进行相应的跳转。

    简化:

    jsp(超链接)--->核心过滤器(Struts2prepareandexcuterfilter,执行一部分代码)-->一些拦截器执行一些功能--->读取配置文件(struts.xml)--->通过请求路径获取对应类信息--->通过反射功能,执行相应的方法(无参),根据方法的返回值--->

    通过struts.xml的配置文件找到对应的请求转发--->进行跳转。

    其中核心过滤器(strustprepareandexecuterfilter):

    1)在服务器启动阶段,他首先创建过滤器其中init()方法加载配置文件。

    2)配置文件加载完之后,执行dofilter的时候,会调用一系列的拦截器。

    流程图:

     

    跳转配置:

    在strust.xml进行配置配置:

    在action标签内嵌套result标签:

    1 <struts>
    2 
    3     <package name="" namespace="/" extends="struts-default">
    4         <action name="hello" class="jd.com.action.SayHello" method="helloSttust">
    5             <result name="oop" >demo/re.jsp</result>
    6         </action>
    7 
    8     </package>
    9 </struts>

    1:是action类的方法返回值对应。

    2:是跳转的页面。

     二:配置文件加载:

    查看源码:

    程序启动的时候创建过滤器strustprepareandexecuterfilter--->执行init()方法--->加载配置文件。

    然后在struts2-core-2.3.34.jar

    首先加载defaultproproperites。

    该文件主要是:常量设置。这里strust2已经帮我们设置编码了。不需要咱们自己设置。

    然后加载xml文件:

     然后依次加载:strust-default.xml .... strust.xml等文件。

     

    然后在struts2-core-2.3.34.jarr下面:

     

    该文件是加载的是核心功能配置。(bean、拦截器、结果类型等。)

     strust.xml:是我们可以做修改的配置文件。主要是action类和url关系的配置文件。

    web.xml:配置前端控制器(strustprepareandexecuterfilter)..

    整个配置文件加载的顺序:

    default. properites----->strust-default.xml---> strust.xml-->web.xml

    其中web.xml加载两次:一次是tomcat加载 一次是框架加载。

    注意:

    后加载的文件覆盖先加载的配置文件相同的配置。

  • 相关阅读:
    Nginx安装详细指南
    git 常用命令
    oracle server config
    CentOS6.5下安装oracle11gR2
    oracle query
    oracle function
    oracle note
    正则表达
    DOM&BOM的起源、方法、内容、应用
    sticky
  • 原文地址:https://www.cnblogs.com/evilliu/p/8777461.html
Copyright © 2020-2023  润新知