struts2中的struts.xml的配置

     
        1.<package>  作用:是用于声明一个包。用于管理action。
            1.name     它用于声明一个包名,包名不能重复,也就是它是唯一的。
            2.namespace  它与action标签的name属性合并确定了一个唯一访问action的路径。
            3.extends  它代表继承的包名。
            4.abstrace 它可以取值为true/false,如果为true,代表这个包是用于被继承的。
        2<action>  用于声明 一个action
            1.name  就是action的一个名称,它是唯一的(在同包内) 它与package中的namespace确定了访问action的路径。
            2.class Action类的全名
            3.method 要访问的Action类中的方法的名称,方法无参数 ,返回值为String.
        3.<result> 用于确定返回结果类型
            1.name  它与action中的方法返回值做对比,确定跳转路径。
            
        关于action配置其它细节:
            1.关于默认值问题
                <package namespace="默认值"> namespace的默认值是""
                <action class="默认值"  method="默认值">
                    class的默认值是  com.opensymphony.xwork2.ActionSupport

                    method的默认值是  execute
                <result\d    X name="默认值"> name的默认值是 "success"          

            2.关于访问action的路径问题    
                现在的action的配置是:
                <package name="default" namespace="/" extends="struts-default">
                    <action name="hello" class="cn.itcast.action.DefaultAction">
                        <result>/hello.jsp</result>
                    </action>
                </package>
                
                当我们输入:
                http://localhost/struts2_day01_2/a/b/c/hello
                也访问到了action。
                
                原因:struts2中的action被访问时,它会首先查找
                 1.namespace="/a/b/c"  action的name=hello  没有.
                 2.namespace="/a/b     action的name=hello  没有
                 3.namespace="/a"      action的name=hello  没有
                 4.namespace="/"        action的name=hello  查找到了.
                
                 如果最后也查找不到,会报404错误.
            
            3.默认的action。
                作用:处理其它action处理不了的路径。
                
                <default-action-ref name="action的名称" />
                配置了这个,当访问的路径,其它的action处理不了时,就会执行name指定的名称的action。
                
            4.action的默认处理类
                在action配置时,如果class不写。默认情况下是 com.opensymphony.xwork2.ActionSupport。
                
                <default-class-ref class="cn.itcast.action.DefaultAction"/>
                如果设置了,那么在当前包下,默认处理action请的的处理类就为class指定的类。
                
----------------------------------------------------------------------------------------
    关于常量配置
        default.properties 它声明了struts中的常量。
        
        问题:人为设置常量,可以在哪些位置设置 ?
            1.struts.xml(应用最多)
                <constant name="常量名称" value="常量值"></constant>
            2.struts.properties(基本不使用)            
            3.web.xml(了解)
                配置常量,是使用StrutsPrepareAndExecuteFilter的初始化参数来配置的.
                <init-param>
                    <param-name>struts.action.extension</param-name>
                    <param-value>do,,</param-value>
                </init-param>
            
        常用常量
            struts.action.extension=action,,
            这个常量用于指定strus2框架默认拦截的后缀名.
            
            <constant name="struts.i18n.encoding" value="UTF-8"/>  
                相当于request.setCharacterEncoding("UTF-8"); 解决post请求乱码
                
            <constant name="struts.serve.static.browserCache" value="false"/>
                false不缓存,true浏览器会缓存静态内容,产品环境设置true、开发环境设置false     
            
            <constant name="struts.devMode" value="true" />  
                提供详细报错页面,修改struts.xml后不需要重启服务器 (要求)
----------------------------------------------------------------------------------
    struts.xml文件的分离:
    
        目的:就是为了阅读方便。可以让一个模块一个配置文件,在struts.xml文件中通过
        <include file="test.xml"/>导入其它的配置文件。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值