HttpServlet容器响应WEB客户请求流程
- Web客户想servlet容器发出Http请求;
- Servlet容器解析Web客户的Http请求;
- Servlet容器插件一个HttpRequest对象,在这个对象中封装Http请求信息;
- Servlet容器插件一个HttpResponse对象;
- Servlet容器调用HttpServlet的service方法,这个方法中会根据request的Method来判断具体是执行doGet方法还是doPost方法,把HttpResponse对象作为service方法的参数传给HttpServlet对象;
- HttpServlet调用HttpResponse的有关方法,获取HTTP请求信息;
- HttpServlet调用HttpResponse的有关方法,生成响应数据;
- Servlet容器包HttpServlet的 响应结果传给Web客户
Servlet生命周期
- 初始化降段,调用init()方法
- 响应客户请求阶段 调用service()方法
- 终止阶段 调用destroy()方法
Math类中round、ceil和floor方法的功能
1、round
round方法表示四舍五入。round意为“环绕”,其原理是在原数字的基础上先加上0.5再向下取整,它的返回值为int类型,例如,Math.round(11.5)等于12(11.5+0.5后向下取整的结果),Math.round(-11.5)等于-11。
2、ceil
ceil方法的功能是向上取整。ceil意为“天花板”,顾名思义就是对操作数取顶,Math.ceil(a)就是取大于a的最小整数。需要注意的是它的返回值不是int类型,而是double类型。若a是正数,则把小数“入”,若a是负数,则把小数“舍”。
3、floor
floor方法的功能是向下取整。floor意为“地板”,顾名思义是对操作数取底。Math.floor(a),就会取小于a的最大整数。它的返回值类型与ceil意义,也是double类型。若a是正数,则把小数“舍”,若a是负数,则把小数“入”。
数字 | floor | round | ceil |
---|---|---|---|
2.4 | 2.0 | 2 | 3.0 |
2.5 | 2.0 | 3 | 3.0 |
-2.4 | -3.0 | -2 | -2.0 |
-2.6 | -3.0 | -3 | -1.0 |
Math中其他方法
- Math.PI 记录的圆周率
- Math.E 记录e的常量
- Math.abs 求绝对值
- Math.sin 正弦函数 Math.asin 反正弦函数
- Math.cos 余弦函数 Math.acos 反余弦函数
- Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数
- Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度
- Math.ceil 得到不小于某数的最大整数
- Math.floor 得到不大于某数的最大整数
- Math.IEEEremainder 求余
- Math.max 求两数中最大
- Math.min 求两数中最小
- Math.sqrt 求开方
- Math.pow 求某数的任意次方, 抛出ArithmeticException处理溢出异常
- Math.exp 求e的任意次方
- Math.log10 以10为底的对数
- Math.log 自然对数
- Math.rint 求距离某数最近的整数(可能比某数大,也可能比它小)
- Math.round 同上,返回int型或者long型(上一个函数返回double型)
- Math.random 返回0,1之间的一个随机数
用法实例:
- double s=Math.sqrt(7);
- double x=Math.pow(2,3) //计算2的3次方