网管开发-servlet获值问题 20151216

来源:互联网 发布:七妹电音软件 编辑:程序博客网 时间:2024/06/15 20:17
通过网页提交的信息,servlet选择执行的网络策略。在这过程中遇到一件很费解的事情。见代码:
response.setContentType("text/html; charset=utf-8");PrintWriter out = response.getWriter();One one  = new One();Two two = new Two();Three three = new Three();    String srategy_num = "1";srategy_num=request.getParameter("strategy");while(srategy_num!=null){if (srategy_num.equals("1")){one.function();deley(1000);}else if(srategy_num.equals("2")){two.function();deley(1000);}else if (srategy_num.equals("3")){three.function();deley(1000);}else if(srategy_num.equals("stop")){out.println("退出策略执行,请手动调控各个AP状态");break;} srategy_num=request.getParameter("strategy");   }

代码这样写的话,执行结果是这样的

111111112222222222111111112222222222111111112222222222111111112222222222333333333331111111122222222223333333333311111111
更换策略选项后,函数是交替执行,并没有单一执行已经切换的策略。经过修改后:
static String srategy_num = null;......srategy_num=request.getParameter("strategy");while(srategy_num!=null){if (srategy_num.equals("1")){one.function();deley(1000);}else if(srategy_num.equals("2")){two.function();deley(1000);}else if (srategy_num.equals("3")){three.function();deley(1000);}else if(srategy_num.equals("stop")){out.println("退出策略执行,请手动调控各个AP状态");break;}// srategy_num=request.getParameter("strategy");   }<span style="white-space:pre"></span>
程序执行结果正确:
<pre name="code" class="java">11111111111111111111111122222222222222222222222222222222222222222222222222333333333333333333333333333333333
可以更换策略。

0 0
原创粉丝点击