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
分享到:
相关推荐
### Struts2超详细笔记知识点解析 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的一些示例程序,用于快速了解struts2的基本使用方法。 - **Docs目录**:存放官方...
S2SH整合项目 Struts2.1权威指南21章源码 绝对可以运行 包含SQL 语句 使用MySQL作为数据库 部署到tomcat后在浏览器输入:http://localhost:8080/auction/processLogin.action即可实现访问
日常笔记,不管是记录日常生活的点点滴滴,还是收藏一些好的网文,都是不错的选择; 阅读器,可以订阅自己感兴趣的内容,集中阅读; 个人相册,管理保存自己的珍贵照片,留下美好回忆; 账目理财,个人理财工具,...
如今,当我在回望实习的点点滴滴时,我为自己在实习期间所取得的成长感到自豪。这段经历不仅仅是为了完成实习报告或是获取学分,它让我更加清晰地认识到了自己未来的职业道路。 实习的结束并不意味着学习的终止。...
该仓库作为我的文章导航页面,文章均为原创,记录了我学习编程的点点滴滴,希望可以帮助到大家,共同进步 ! :hot_beverage:Java基础 Java基础文章:没写系列文章的都放在了《Java基础》链接中。Java面试题则是一些...