网管开发-servlet获值问题 20151216

通过网页提交的信息,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");		
		
	   }

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

11111111
2222222222
11111111
2222222222
11111111
2222222222
11111111
2222222222
33333333333
11111111
2222222222
33333333333
11111111
更换策略选项后,函数是交替执行,并没有单一执行已经切换的策略。经过修改后:
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">11111111
11111111
11111111
2222222222
2222222222
2222222222
2222222222
2222222222
33333333333
33333333333
33333333333
可以更换策略。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值