web页面中,jquery发送请求到后台,java执行linux命令,如何逐条回显
答案:2 悬赏:10
解决时间 2021-02-17 10:33
- 提问者网友:她是我的お女人
- 2021-02-16 11:44
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>}
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-02-16 13:16
AJAX换成websocket这样
后台按行读进来、、、、、、、、、
或者,全部读出来,在JS中逐行输出
。。。。。。。。
后台按行读进来、、、、、、、、、
或者,全部读出来,在JS中逐行输出
。。。。。。。。
全部回答
- 1楼网友:安稳不如野
- 2021-02-16 13:43
你说呢...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |