使用java语言,网页端输入名词后,根据这个词在mysql数据库中搜索相关数据,然后显示在网页上
时间: 2023-12-05 11:03:48 浏览: 86
实现该功能,可以使用 Java Web 技术栈,包括 Servlet、JSP、JDBC 等。
1. 在 MySQL 数据库中创建一个表,包括名词和相关数据两列。
```sql
CREATE TABLE data (
keyword VARCHAR(50) PRIMARY KEY,
content VARCHAR(255)
);
```
2. 在 JSP 页面上创建一个表单,用于输入名词。
```html
<form action="search" method="get">
<input type="text" name="keyword">
<button type="submit">Search</button>
</form>
```
3. 创建一个 Servlet,用于处理表单提交并检索相关数据。
```java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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("/search")
public class SearchServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String keyword = request.getParameter("keyword");
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
PreparedStatement stmt = conn.prepareStatement("SELECT content FROM data WHERE keyword = ?");
stmt.setString(1, keyword);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
String content = rs.getString("content");
request.setAttribute("result", content);
} else {
request.setAttribute("result", "No data found.");
}
request.getRequestDispatcher("/result.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
其中,getParameter() 方法用于获取表单提交的名词,JDBC API 用于检索相关数据。如果找到数据,则将数据保存在 request 对象中,转发到 result.jsp 页面;如果未找到数据,则将错误消息保存在 request 对象中,也转发到 result.jsp 页面。
4. 创建一个 JSP 页面,用于显示检索结果。
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Search Result</title>
</head>
<body>
<h1>Search Result</h1>
<p>${result}</p>
</body>
</html>
```
其中,${result} 表示从 request 对象中获取的数据。
将 SearchServlet.java 和 result.jsp 部署到 Web 服务器中,访问 JSP 页面,输入名词并提交表单,即可在 Web 页面上显示相关数据。
阅读全文