三、Java Web程序设计练习题: 1 数据库中建立表 T_BOOK,它包含图书 ID、图书名称、图书价格 1. 编写图书模糊查询界面,输入图书名称的模糊资料,在界面下方显示图书信息,要求提交给 Servlet 完成。
时间: 2024-12-24 11:41:29 浏览: 19
在Java Web程序设计中,针对这个练习题,你需要完成以下步骤:
1. **数据库设计**:
首先,你需要在数据库(如MySQL)中创建一个名为`T_BOOK`的表,字段包括`ID`, `图书名称`(比如`title`)和`图书价格`(比如`price`)。
```sql
CREATE TABLE T_BOOK (
ID INT PRIMARY KEY,
title VARCHAR(255),
price DECIMAL(10, 2)
);
```
2. **前端页面**:
使用HTML和CSS设计一个简单的用户界面,包含一个文本框用于输入图书名称的模糊搜索关键词,以及一个区域用于显示查询结果。可以使用JavaScript做初步的输入验证和展示预览效果。
```html
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<input type="text" id="searchBox" placeholder="请输入图书名称">
<button onclick="searchBooks()">查询</button>
<div id="resultArea"></div>
<!-- ... -->
</body>
</html>
```
3. **Servlet(后端处理)**:
创建一个Servlet来处理用户的搜索请求。在Servlet中,通过JDBC连接数据库,根据用户输入的关键词执行SQL查询,并将结果显示在前端指定的区域。
```java
import javax.servlet.*;
import java.io.*;
import java.sql.*;
public class BookSearchServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String keyword = request.getParameter("searchBox");
// 连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
try {
String sql = "SELECT * FROM T_BOOK WHERE title LIKE ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "%" + keyword + "%"); // 添加通配符进行模糊匹配
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("ID");
String title = rs.getString("title");
double price = rs.getDouble("price");
// 将查询结果添加到响应输出流中(这里只是一个基本示例,实际应用会使用JSTL或类似技术)
PrintWriter out = response.getWriter();
out.println("<p>ID: " + id + ", 名称: " + title + ", 价格: " + price + "</p>");
}
rs.close();
pstmt.close();
} finally {
conn.close();
}
}
}
```
4. **部署**:
将Servlet编译为.class文件并部署到Web服务器上,例如Tomcat,然后配置Servlet映射以便用户可以通过URL访问该查询功能。
记得在代码中替换`your_database`, `username`, 和 `password`为你的实际数据库连接信息。
阅读全文