zoukankan      html  css  js  c++  java
  • struts2的工作原理与文件结构

    struts2框架的工作原理:

    Struts2的文件详解:

    1. web.xml

      

      过滤器遇到.action后缀的请求就会拦截处理,当遇到.jsp .html等就会放行。


    2. struts.xml

      

      

    <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd" >
    <struts>
    
        <!-- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 -->
        <include file="struts-default.xml"></include>
        
        
        <!-- package提供了将多个Action组织为一个模块的方式
            package的名字必须是唯一的 package可以扩展 当一个package扩展自
            另一个package时该package会在本身配置的基础上加入扩展的package
            的配置 父package必须在子package前配置 
            name:package名称
            extends:继承的父package名称
            abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false
            namespace:定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action
         -->
        <package name="com.kay.struts2" extends="struts-default" namespace="/test">
            <interceptors>
                <!-- 定义拦截器 
                    name:拦截器名称
                    class:拦截器类路径
                 -->
                <interceptor name="timer" class="com.kay.timer"></interceptor>
                <interceptor name="logger" class="com.kay.logger"></interceptor>
                <!-- 定义拦截器栈 -->
                <interceptor-stack name="mystack">
                    <interceptor-ref name="timer"></interceptor-ref>
                    <interceptor-ref name="logger"></interceptor-ref>
                </interceptor-stack>
            </interceptors>
            
            <!-- 定义默认的拦截器 每个Action都会自动引用
             如果Action中引用了其它的拦截器 默认的拦截器将无效 -->
            <default-interceptor-ref name="mystack"></default-interceptor-ref>
            
            
            <!-- 全局results配置 -->
            <global-results>
                <result name="input">/error.jsp</result>
            </global-results>
            
            <!-- Action配置 一个Action可以被多次映射(只要action配置中的name不同)
                 name:action名称
                 class: 对应的类的路径
                 method: 调用Action中的方法名
            -->
            <action name="hello" class="com.kay.struts2.Action.LoginAction">
                <!-- 引用拦截器
                    name:拦截器名称或拦截器栈名称
                 -->
                <interceptor-ref name="timer"></interceptor-ref>
            
                <!-- 节点配置
                    name : result名称 和Action中返回的值相同
                    type : result类型 不写则选用superpackage的type struts-default.xml中的默认为dispatcher
                 -->
             <result name="success" type="dispatcher">/talk.jsp</result>
             <!-- 参数设置 
                 name:对应Action中的get/set方法 
             -->
             <param name="url">http://www.sina.com</param>
            </action>
        </package>
    </struts>

    3. struts.properties

      放置路径与struts.xml相同(Java Resources-src中)

      

        关于配置的详细说明:struts.properties配置详解


  • 相关阅读:
    Security headers quick reference Learn more about headers that can keep your site safe and quickly look up the most important details.
    Missing dollar riddle
    Where Did the Other Dollar Go, Jeff?
    proteus 与 keil 联调
    cisco router nat
    router dhcp and dns listen
    配置802.1x在交换机的端口验证设置
    ASAv931安装&初始化及ASDM管理
    S5700与Cisco ACS做802.1x认证
    playwright
  • 原文地址:https://www.cnblogs.com/xingyazhao/p/6705415.html
Copyright © 2011-2022 走看看