在前文中我提到了关于为何要使用springMVC的问题,其中一点是使用springMVC比起原先的struts+spring框架在效率上是有优势的,为了验证这个问题,我做了两个Demo来验证到底是不是这个原因。
在展示具体的测试数据之前,先来介绍下如何使用javamelody测试工具来测试我们的系统。
1.需要拿到javamelody.war,并将其放在Tomcat的webapps下进行发布。
2.将javamelody.jar放在被监控项目的lib目录下。
3.在被监视项目的web.xml文件中加入下面的代码:
<filter> <filter-name>monitoring</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> </filter> <filter-mapping> <filter-name>monitoring</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>net.bull.javamelody.SessionListener</listener-class> </listener>
4.启动Tomcat应用服务器并访问javamelody应用,如http://localhost:8080/javamelody(如果发布项目在tomcat的webapps下,则一定要在tomcat的bin文件下双击start-up.bat文件进行启动加),如果出现如下结果明javamelody.war部署成功:
5.访问监视数据。直接输入被监视项目的路径并在后面添加/monitoring,如我的被监视的项目名称为strutsandspring,则输入的url为:http://localhost:8080/strutsandspring/monitoring。
介绍完javamelody的配置方法后,来看具体的测试数据。
第一、 struts-spring框架下访问action的测试结果:
第二、 springMVC框架下的测试结果:
通过对比这两站图片中的红色标记部分,我们可以看到,在同样是访问20次的条件下,springMVC所用平均时间是3ms,而struts-spring所用平均时间是4ms。该结果表明springMVC确实要比struts-spring框架在性能上有优势,如果我们将访问次数大大提高,相信差距会更加的明显。