为了更好的测试公平性,刚才的message.flt去空格改为
<html><body><p>This is my message:<br> ${message}</p></body></html>
编写servlet
package com.ab.test;
import java.io.IOException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ABTestServlet extends HttpServlet{
public void service(HttpServletRequest request, HttpServletResponse response)
throws IOException {
String message = (String) request.getParameter("message");
ServletOutputStream out = response.getOutputStream();
out.print("This is my message: "+message+"");
}
}
然后用ab测试
环境为我的笔记本T420 i5 560m 4G xp系统resin开1g内存
servlet多次都为这个
D:\TDDOWNLOAD>ab -n 10000 -c 60 http://www.lantii.com/abtest?message=1111
This is ApacheBench, Version 2.0.41-dev apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking www.lantii.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Finished 10000 requests
Server Software: Resin/3.1.10
Server Hostname: www.lantii.com
Server Port: 80
Document Path: /abtest?message=1111
Document Length: 61 bytes
Concurrency Level: 60
Time taken for tests: 2.31250 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 1590000 bytes
HTML transferred: 610000 bytes
Requests per second: 4923.08 [#/sec] (mean)
Time per request: 12.188 [ms] (mean)
Time per request: 0.203 [ms] (mean, across all concurrent requests)
Transfer rate: 764.06 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.3 0 15
Processing: 0 11 6.4 15 15
Waiting: 0 8 7.5 15 15
Total: 0 11 6.3 15 15
Percentage of the requests served within a certain time (ms)
50% 15
66% 15
75% 15
80% 15
90% 15
95% 15
98% 15
99% 15
100% 15 (longest request)
springmvc多次为
[code="java"]D:\TDDOWNLOAD>ab -n 10000 -c 60 http://www.lantii.com/message/1111
This is ApacheBench, Version 2.0.41-dev apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/
Benchmarking www.lantii.com (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Finished 10000 requests
Server Software: Resin/3.1.10
Server Hostname: www.lantii.com
Server Port: 80
Document Path: /message/1111
Document Length: 61 bytes
Concurrency Level: 60
Time taken for tests: 3.187500 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2020000 bytes
HTML transferred: 610000 bytes
Requests per second: 3137.26 [#/sec] (mean)
Time per request: 19.125 [ms] (mean)
Time per request: 0.319 [ms] (mean, across all concurrent requests)
Transfer rate: 618.67 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.5 0 15
Processing: 0 18 6.8 15 46
Waiting: 0 17 6.4 15 46
Total: 0 18 6.8 15 46
Percentage of the requests served within a certain time (ms)
50% 15
66% 15
75% 15
80% 31
90% 31
95% 31
98% 31
99% 31
100% 46 (longest request)
看来spring mvc的性能确实还不错
分享到:
相关推荐
SpringMVC、Freemarker和Hibernate是Java Web开发中三个重要的技术组件,它们分别负责不同的职责:SpringMVC作为轻量级的MVC框架,负责处理请求和响应;Freemarker是一个模板引擎,用于生成动态HTML或其他格式的输出...
SpringMVC和FreeMarker是两种在Java Web开发中广泛使用的技术。...通过上述步骤,你已经掌握了SpringMVC与FreeMarker的基本整合。在实际开发中,可以根据需求进行扩展和优化,构建出功能强大、易于维护的Web应用。
INF`下的`web.xml`和`dispatcher-servlet.xml`等Spring MVC配置文件以及`WEB-INF/views`下的FreeMarker模板文件)。此外,可能还包含了示例的Controller、Service、DAO以及FreeMarker模板文件,以便初学者理解和学习...
在这个"springMvc+freemarker"的项目中,我们可以看到作者用Spring MVC与FreeMarker模板引擎集成创建了一个示例应用。 首先,Spring MVC框架的主要组件包括DispatcherServlet、Controller、Model、View和...
总之,这个"springmvc+freemarker带sql的登录事例"是一个基本的Web应用实践,涵盖了Spring MVC的请求处理、FreeMarker模板的使用以及与数据库的交互。通过这个实例,开发者可以学习到如何将这些组件整合起来,构建一...
Freemarker,则是一个动态模板引擎,主要用于生成HTML或其他类型的文档,使得开发者可以将业务逻辑与展示逻辑分离。 在Spring MVC中集成Freemarker,首先你需要在项目的`pom.xml`或`build.gradle`文件中添加...
在"springMvc + myBatis + freemarker + maven"的组合项目中,开发者通常会做以下操作: 1. **配置Maven**:在pom.xml文件中,添加Spring MVC、MyBatis、Freemarker等相关依赖,确保项目可以正确构建并运行。 2. *...
同时,配置Servlet容器如Tomcat,以启动SpringMVC应用。 3. **配置iBatis**:创建SqlSessionFactoryBean,指定配置文件的位置,该文件中包含数据库连接信息(现在指向Mycat)和SQL映射文件。在Service层中,使用...
4. **配置Spring MVC**:创建servlet-context.xml文件,配置Spring MVC的相关组件,如DispatcherServlet、视图解析器、模型视图、拦截器等。这里需要定义Controller扫描路径,以便Spring MVC能找到处理请求的控制器...
Spring MVC、Hibernate 和 FreeMarker 是三个在Java Web开发中广泛使用的框架。它们分别负责不同的职责:Spring MVC 处理请求和响应,实现MVC(Model-View-Controller)设计模式;Hibernate 是一个对象关系映射(ORM...
- `springmvc-freemarker` 压缩包可能包含了 SpringMVC 项目的基本结构,如 `web.xml`、`spring-servlet.xml`、`pom.xml` 等配置文件。 - `src/main/resources/templates` 目录下应该存放 Freemarker 模板文件,如...
3. **配置SpringMVC**:创建SpringMVC的配置文件,如`servlet-context.xml`,配置DispatcherServlet、ViewResolver、Controller扫描路径等。 4. **配置MyBatis**:编写MyBatis的全局配置文件`mybatis-config.xml`,...
3. **配置SpringMVC**:然后,我们需要创建SpringMVC的配置文件(如`servlet-context.xml`),定义DispatcherServlet、视图解析器、模型视图、拦截器等。通过`<mvc:annotation-driven>`标签启用注解驱动,使得我们...
然后,我们需要创建SpringMVC的配置文件`spring-servlet.xml`,在这个文件中配置FreeMarker视图解析器,如下: ```xml <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> ...
2. 配置SpringMVC:创建`servlet-context.xml`文件,定义DispatcherServlet的配置,包括视图解析器、拦截器和模型-视图-适配器(MVC)组件。 3. 配置Hibernate:配置`hibernate.cfg.xml`文件,设置JDBC连接信息、...
同时,SpringMVC可以通过ModelAndView对象将数据传递给视图层,而视图层通常可以使用JSP、FreeMarker等技术来渲染。 **test_mvc** 在提供的压缩包文件"test_mvc"中,可能包含了一个简单的SpringMVC示例项目。这个...
`springmvc-servlet.xml`,用于配置SpringMvc;以及MyBatis的配置文件`mybatis-config.xml`。 3. **资源文件**:如`src/main/resources`下的数据库连接配置文件`db.properties`,MyBatis的Mapper XML文件,以及可能...
SpringMVC是Spring框架的Web MVC实现,它是基于Servlet的模型-视图-控制器(Model-View-Controller, MVC)设计模式。SpringMVC将请求处理、业务逻辑、数据展示分离,使得各部分职责清晰。控制器接收HTTP请求,调用...
此外,它还支持多种视图技术,如JSP、FreeMarker等,并提供了数据绑定、模型验证、本地化等功能。 **Hibernate** Hibernate是一个对象关系映射(ORM)框架,简化了Java应用程序与数据库之间的交互。它允许开发者用...
它支持多种视图技术,如JSP、FreeMarker等,并且可以与其他Spring模块无缝集成,提供事务管理、AOP(面向切面编程)等功能。 **Spring** Spring框架是Java企业级应用开发的基石,它提供了丰富的功能,包括依赖注入...