运行环境:1.linux系统 2. ssm框架 要求:jsp从页面输入一个IP地址以及选择一个数字,数字从1-8,把它们传到home下的shell脚本中,写出完整代码和代码所在的文件名,以及运行结果
时间: 2024-04-29 21:25:06 浏览: 106
SSM框架基础资源,想学习的可以下载哦(文档中有代码示范)
代码如下:
1. 在jsp页面中添加表单
```
<form action="/home/runShell" method="post">
<label>请输入IP地址:</label>
<input type="text" name="ip"/><br/>
<label>请选择数字:</label>
<select name="num">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select><br/>
<input type="submit" value="提交"/>
</form>
```
2. 在HomeController中添加处理请求的方法
```
@RequestMapping("/home/runShell")
public String runShell(HttpServletRequest request) {
String ip = request.getParameter("ip");
String num = request.getParameter("num");
String command = "/path/to/shell/script.sh " + ip + " " + num;
try {
Process process = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return "result";
}
```
3. 编写shell脚本
```
#!/bin/bash
ip=$1
num=$2
echo "IP地址是:$ip"
echo "选择的数字是:$num"
```
将以上代码保存为script.sh文件,并放在指定的路径下。
4. 创建result.jsp页面,显示运行结果
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>运行结果</title>
</head>
<body>
<h1>运行结果</h1>
<p>请在控制台查看输出信息。</p>
</body>
</html>
```
将以上代码保存为result.jsp文件。
5. 在web.xml中配置视图解析器
```
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
```
6. 运行结果
在浏览器中输入http://localhost:8080/home/index,进入首页。在输入框中输入IP地址,选择一个数字,点击提交按钮,会执行shell脚本,输出IP地址和选择的数字。在控制台中查看输出信息。
完整代码文件名:
HomeController.java
script.sh
result.jsp
web.xml
阅读全文