中易网

web页面中,jquery发送请求到后台,java执行linux命令,如何逐条回显

答案:2  悬赏:10  
解决时间 2021-02-17 10:33
jquery代码:<br>              $.ajax({<br> url : "/execCMD.action",<br> data : $("#formName").serialize(),//form表单参数<br> success : function(data) {<br> if (data.result) {<br> $("#commandOutput").attr("value",data.msg);<br> } else {<br> alert("执行错误");<br> }<br> }<br> });<br>页面展示:<br><textarea id="commandOutput"></textarea><br><br>后台代码:<br>String[] commands = { "sh", "-c", command };<br> Process proc;<br> Vector<String> result = new Vector<String>();<br> PrintWriter out = null;<br> try {<br> out = response.getWriter();<br> proc = Runtime.getRuntime().exec(commands);<br> if (proc != null) {<br> InputStream in = proc.getInputStream();//得到执行结果的输入流<br> BufferedReader br = new BufferedReader(new InputStreamReader(in,"UTF-8"));<br> String line = null;<br> while ((line = br.readLine()) != null) {<br> out.write(line + "\r\n");<br> out.flush();<br> System.out.println(line+"\r\n");<br> }<br> if(result.size()<1){<br> in = proc.getErrorStream();//得到执行出现异常时的输入流<br> br = new BufferedReader(new InputStreamReader(in,"UTF-8"));<br> while ((line = br.readLine()) != null) {<br> System.out.println(line+"\r\n");<br> }<br> } <br> br.close();<br> in.close();<br> }<br><br> proc.waitFor(); <br> } catch (Exception e) {<br> return result;<br> }finally {<br> if(null!=out){<br> out.flush();<br> out.close();<br> }<br> }<br><br>如何能够在命令行显示一条,就到前端展示一条。。。<br>就是在web页面上像命令行那样逐条展示信息!<br><br>后台使用struts2+spring + hibernate<br><br>==========================================<br>js逐行可以实现,不过想做成实时的而已。框架不能改,否则不必这么麻烦了。<br><br>var ii=0;<br><br>$('body').everyTime('5ds','TESTA',function(){<br>$("#output").val($('#output').val() + "\r\n" + arr[ii]);<br>ii = ii + 1;<br>if(arr[ii]=="@@@"){<br>$('body').stopTime ('TESTA');<br>ii=0;<br>}<br><br>output.scrollTop = output.scrollHeight;<br>});<br><br>powers: {<br>   // Yeah this is major overkill...<br>   'ms': 1,<br>   'cs': 10,<br>   'ds': 100,<br>   's': 1000,<br>   'das': 10000,<br>   'hs': 100000,<br>   'ks': 1000000<br>}
最佳答案
AJAX换成websocket这样
后台按行读进来、、、、、、、、、

或者,全部读出来,在JS中逐行输出

。。。。。。。。
全部回答
你说呢...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国农业银行新密市白寨分理处这个地址在什么
洋县公安局黄安派出所地址在什么地方,想过去
我的iPhone6突然有一天不能用4G网络了。是怎
李晓翠诊所地址有知道的么?有点事想过去
聚福隆酒家在哪里啊,我有事要去这个地方
西瓜是放在冰箱里保质期长还是不放冰箱里保质
OPPOR7照相怎么照出来显得不清晰呀,不照的时
万峰路/双峰道(路口)地址在哪,我要去那里办
将三个相同的正方体堆放在墙角处,露在外面的
淘宝预付款问题。
谁有 Solid Edge ST3 破解版下载啊,可以免费
土星网络(原春美网吧)在哪里啊,我有事要去这
坐松江26路9号地铁在那里下
有关动植物的作文!
黄龙世纪苑地下停车库我想知道这个在什么地方
推荐资讯
二年级教科书有哪些?
崇尚形象设计地址在哪,我要去那里办事
为什么规则才是自由的最大保障
12430÷53600÷2510500÷125(怎么巧算)
交流电磁线圈误接入直流电源,直流电磁线圈误
酒红色NB996怎样搭配裤子(短裤也ok)
山东烟台南山大学今年330分能上本科线么?这
用4 5 0 7 8五个数字组成两位数成三位数的乘
大众装饰建材批发地址在什么地方,想过去办事
如何将IKAnalyzer添加到本地maven仓库
父亲尿毒症晚期,每月需要一千元,母亲头脑不清
原材料领用有什么办法
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?