java EE之分析代码P书132&JEETT文档
一:分析程序清单代码:
//获取当前时间距离 1970-1-1 00:00经过的毫秒数,Filter负责拦截所有的用户请求的过滤范围。 long before = System.currentTimeMillis(); //获取当前时间距离 1970-1-1 00:00经过的毫秒数,Filter负责拦截所有的用户请求的过滤范围。 long after = System.currentTimeMillis(); //将请求强制转换为HttpServletRequest型再赋给HttpServletRequest 请求对象hrequest HttpServletRequest hrequest = (HttpServletRequest) request ; //通过getServletPath()函数打印Filter 已经拦截到用户的请求的地址 System.out.println("Filter 已经拦截到用户的请求的地址: " + hrequest.getServletPath());
二:JEETT文档中两段代码的区别,启动代码后的效果
区别;
1、request.startAsyns()导致请求被异步处理;在服务方法结束时,响应不会发送到客户端。
2、acontext.start(new Runnable() {...})从容器中获取新线程
3、run()内部类的方法的代码在新线程中执行。内部类可以访问异步上下文以从请求读取参数并写入响应。调用complete(),异步上下文的方法将提交响应并将其发送给客户端。
效果:
使用异步处理后,在负载的情况下响应速度变快,服务器吞吐量变大。
参考:http://www.cnblogs.com/real-psyyyy1015/p/8641580.html