gpt4 book ai didi

java - 如何将 JSP var 传递给运行时执行程序?

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:09 25 4
gpt4 key购买 nike

目标:我尝试在 exec 命令中使用 2 个字符串 var 作为 shell 脚本的参数。

字符串从 HTML 前端很好地传递,但是 exec 不允许它们出现在 exec 字符串中。

我错过了什么?

<%@page import="java.io.*"%>
<%@page import="java.util.*"%>

<html>
<head>
<title> Test</title>
<head/>

<body>
<%
String username, password;

if(request.getParameter("txtUserName") == null)
username = "";
else
username = request.getParameter("txtUserName");

if(request.getParameter("txtPassword") == null)
password = "";
else
password = request.getParameter("txtPassword");


Runtime r = Runtime.getRuntime();
Process p = null;
String s = null;
String cmd = "/tools/scripts/jspTest.sh";

p = r.exec(cmd + username + password);
InputStreamReader isr = new InputStreamReader(p.getInputStream());
BufferedReader br = new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null){
out.println(line);
}

p.waitFor();
%>

最佳答案

我不知道你所说的“不允许它们”是什么意思,但很明显你调用脚本的方式是行不通的。

cmd + username + password

这将产生一个类似于 /tools/scripts/jspTest.shmyusernamemypassword 的字符串。

如果 Java 尝试执行此命令,系统将找不到该命令(除非您在脚本名称中嵌入了用户名/密码)。我认为您可能需要调整传递这些值的方式(作为适当的参数)。

关于java - 如何将 JSP var 传递给运行时执行程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12815415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com