struts2 点点滴滴

3 篇文章 0 订阅

1:在web.xml 中为何要配置为 /* ?

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 struts2默认处理自己包中的静态文件,对静态文件的请求,struts2会查找配置的静态目录,

看下了下源代码,对/struts,/static这2个开头的uri,struts2会认为是自己的静态文件处理

 

这样看来,struts2配置为/* ,是有处理性能损失的,具体损失多少,目前还没研究

 

解决方式:struts2提供了一个配置参数:struts.action.excludePattern,该参数指定那些uri模式不被struts2处理,该参数在struts2预处理之前重定向,性能有所提高

 

2 在filterMapping中精确配置模式,但是需要配置3个/*.do,/struts/* ,/static/*,

这样的话扩展名称就固定了

该方案未测试

 

2:struts2中集成了简单的性能测试,能记录下每一个请求在各个环节的处理时间(主要包括,创建action,走filter,等)

配置打开性能监控:需要配置启动时的变量,-Dxwork.profile.activate= true

也可以在自己的页面代码中增加时间监控用UtilTimerStack ,这样就可以看到整个流程各个环节消耗的时间了

样例:

[2012-08-13 10:53:14  INFO ] util.profiling.UtilTimerStack - [3732ms] - Handling request from Dispatcher

  [33ms] - create DefaultActionProxy: 

    [33ms] - actionCreate: index

  [3684ms] - invoke: 

    [3684ms] - interceptor: exception

      [3684ms] - invoke: 

        [3684ms] - interceptor: alias

          [3684ms] - invoke: 

            [3684ms] - interceptor: servletConfig

              [3674ms] - invoke: 

                [3674ms] - interceptor: i18n

                  [3674ms] - invoke: 

                    [3674ms] - interceptor: prepare

                      [3671ms] - invoke: 

                        [3671ms] - interceptor: chain

                          [3671ms] - invoke: 

                            [3671ms] - interceptor: debugging

                              [3671ms] - invoke: 

                                [3671ms] - interceptor: scopedModelDriven

                                  [3668ms] - invoke: 

                                    [3668ms] - interceptor: modelDriven

                                      [3668ms] - invoke: 

                                        [3668ms] - interceptor: fileUpload

                                          [3668ms] - invoke: 

                                            [3668ms] - interceptor: checkbox

                                              [3668ms] - invoke: 

                                                [3668ms] - interceptor: multiselect

                                                  [3668ms] - invoke: 

                                                    [3668ms] - interceptor: staticParams

                                                      [3665ms] - invoke: 

                                                        [3665ms] - interceptor: actionMappingParams

                                                          [3663ms] - invoke: 

                                                            [3663ms] - interceptor: params

                                                              [3661ms] - invoke: 

                                                                [3661ms] - interceptor: conversionError

                                                                  [3661ms] - invoke: 

                                                                    [3661ms] - interceptor: validation

                                                                      [3548ms] - invoke: 

                                                                        [3548ms] - interceptor: workflow

                                                                          [3548ms] - invoke: 

                                                                            [2170ms] - interceptor: userLoginInterceptor

                                                                              [1109ms] - rmi method invoke:getLastUpdatePackageInfo

                                                                              [283ms] - rmi method invoke:getLastUpdatePackageInfo

                                                                            [1357ms] - executeResult: noLogin


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值