zoukankan      html  css  js  c++  java
  • 18.struts-执行流程.md


    目录

    1.流程

    • 在核心类中,加载了struts的过滤器。具体的加载配置在struts-default.xml中。
    • 用户定于的struts.xml就是继承了这个文件

    2.bean节点

    bean节点定义了struts在创建时候的对象类型

    3.package节点

    result-type

    在result-type中定义了跳转类型

    • dispatcher:转发,不指定的情况下是默认
    • redirect:重定向
    • redirectAction:重定向到action
    • stream:文件下载时候使用

    拦截器

    概念

    • 总共定义了32个拦截器
    • 为了使用方便,通过定义栈的方式来定义使用的拦截器:
    <default-interceptor-ref name="defaultStack"/>——》指向<interceptor-stack name="defaultStack">——》指向需要的拦截器在interceptors下
    
    
    • 在defaultStack下定义了18个默认拦截器

    拦截器和过滤器的异同:

    • 过滤器:所有资源都可以用,对于struts和servlet都可以用
    • 拦截器:只能过滤action请求,struts的专用概念

    问题:拦截器什么时候执行,action类和拦截器的执行顺序

    先执行action类的创建->在执行拦截器->拦截器执行完成后->执行任务

    4.常见问题

    在xml中配置没有默认代码助手提示?

    • 必须有引用头
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">  
    
    

    其中的"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"和"http://struts.apache.org/dtds/struts-2.3.dtd"相当于键与值的关系。

    • 离线方法:
      • 不能提示是因为没有dtd文件。
      • 在源码中找到struts-2.3.dtd文件拷贝到一个没有中文的目录下
      • 在windows->preference->搜索xml catalog->配置

    Location:配置dtd目录
    Key:填写刚才的目录
    *在线方法:
    *连网会自动下载

  • 相关阅读:
    关于递归的理解
    every few days
    相见恨晚
    VC中自定义消息处理函数的步骤
    wparam和lparam的区别
    VC中新建的类不见了的解决方法
    接连遇到大牛
    老总NB的 romman.sys
    [恢]hdu 1159
    [恢]hdu 1996
  • 原文地址:https://www.cnblogs.com/bugstar/p/8512752.html
Copyright © 2011-2022 走看看