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
分享到:
相关推荐
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
Struts2是一套非常优秀的Java WEB应用框架,实现优雅、功能强大、使用简洁。目前已有大量的企业项目采用Struts2来作为Web框架进行开发,掌握Struts2是每个进行Web开发的Java程序员的一项必备技能。 本视频对Struts2...
struts2 资料struts2 资料struts2 资料struts2 资料
struts2环境搭建+struts2 新闻发布系统+struts2 留言板 struts2环境搭建:基础框架搭建,简单易上手,适合新手,比你看书强多了,实践源于理论而高于理论,贵在实践 朋友。 struts2 新闻发布系统:struts2+jsp 功能不...
struts2源码 struts2案例 struts2使用包
-- 为修复struts2 s2-016、s2-017漏洞,重写DefaultActionMapper --> <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="myDefaultActionMapper" class=...
一个很好的关于Struts2的讲义!struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义
Struts2 Struts2 超好的Struts2 pdf 文档 Struts2 Struts2 超好的Struts2 pdf 文档 Struts2.pdf文档
struts2的概述struts2下的HelloWord struts2基础 struts2做好准备 struts2的标志 struts2的Action讲解 struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
Struts2漏洞检查工具Struts2.2019.V2.3
struts2-scan 检测struts2漏洞,认证检测struts2漏洞
struts2例子struts2例子struts2例子struts2例子struts2例子struts2例子struts2例子struts2例子
Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2Struts2...
struts2官方文档
使用struts2开发之前必须引入struts的包。
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。 本书以Struts2的...
Struts2的开发文档,学习Struts2时可以用来查阅API相关接口说明,便于分析框架原理