请基于JSP + Servlet + JavaBean + JDBC+MYsql8.0.2 使用Myeclipse软件,制作一个商品查询项目,根据可以用户输入的商品号从数据库中查询该商品信息和查询所有商品信息 遵循MVC设计模式,其中视图有queryProduct.jsp、displayProduct.jsp、displayAllProduct.jsp和error.jsp几个页面,Product类实现模型,QueryProductServlet类实现控制器。数据库表为products。请具体代码和步骤
时间: 2024-03-12 09:42:54 浏览: 113
好的,请按照以下步骤进行操作:
Step1:创建项目
1. 打开MyEclipse,选择File -> New -> Project
2. 在新建项目对话框中,选择Web -> Dynamic Web Project,输入项目名称(例如ProductQuery),选择Target Runtime为Apache Tomcat 9.0,点击Next
3. 在下一个页面中,选择Generate web.xml deployment descriptor并点击Finish
Step2:创建数据库
1. 打开MySQL Workbench,连接到MySQL服务器
2. 在左侧的Navigator中,选择SCHEMAS,右键选择Create Schema,输入Schema名称(例如product_db),点击Apply
3. 在新建Schema下,右键选择Create Table,输入Table名称(例如products),添加相关字段(例如id、name、price等),点击Apply
Step3:编写JavaBean
1. 在MyEclipse中,右键项目,选择New -> Class,输入类名称(例如Product)
2. 在类中添加对应的属性和getter/setter方法
示例代码如下:
```java
public class Product {
private int id;
private String name;
private double price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
```
Step4:编写控制器
1. 在MyEclipse中,右键项目,选择New -> Servlet,输入Servlet名称(例如QueryProductServlet)
2. 在doGet方法中,获取用户输入的商品编号,根据编号查询数据库,将查询结果存入JavaBean中,将JavaBean存入request中,转发到对应的JSP页面
3. 在doPost方法中,调用doGet方法
示例代码如下:
```java
@WebServlet("/queryProduct")
public class QueryProductServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取商品编号
int id = Integer.parseInt(request.getParameter("id"));
// 查询商品信息
Product product = getProductById(id);
if (product != null) {
// 存入request中
request.setAttribute("product", product);
// 转发到displayProduct.jsp页面
request.getRequestDispatcher("/displayProduct.jsp").forward(request, response);
} else {
// 转发到error.jsp页面
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
// 根据商品编号查询商品信息
private Product getProductById(int id) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
Product product = null;
try {
// 获取数据库连接
conn = DBUtil.getConnection();
// 定义SQL语句
String sql = "SELECT * FROM products WHERE id=?";
// 创建PreparedStatement对象
stmt = conn.prepareStatement(sql);
// 设置参数
stmt.setInt(1, id);
// 执行查询操作
rs = stmt.executeQuery();
// 处理查询结果
if (rs.next()) {
product = new Product();
product.setId(rs.getInt("id"));
product.setName(rs.getString("name"));
product.setPrice(rs.getDouble("price"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭数据库资源
DBUtil.close(rs, stmt, conn);
}
return product;
}
}
```
Step5:编写JSP页面
1. 在项目中,创建queryProduct.jsp、displayProduct.jsp、displayAllProduct.jsp和error.jsp四个页面
2. 在queryProduct.jsp页面中,添加一个表单,用户可以输入商品编号,点击查询按钮提交表单
示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>商品查询</title>
</head>
<body>
<h1>商品查询</h1>
<form action="${pageContext.request.contextPath}/queryProduct" method="get">
商品编号:<input type="text" name="id"><br>
<input type="submit" value="查询">
</form>
</body>
</html>
```
3. 在displayProduct.jsp页面中,根据JavaBean中的属性显示商品信息
示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>商品信息</title>
</head>
<body>
<h1>商品信息</h1>
<table border="1">
<tr>
<th>编号</th>
<th>名称</th>
<th>价格</th>
</tr>
<tr>
<td>${product.id}</td>
<td>${product.name}</td>
<td>${product.price}</td>
</tr>
</table>
</body>
</html>
```
4. 在displayAllProduct.jsp页面中,查询所有商品信息并显示在表格中
示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>所有商品信息</title>
</head>
<body>
<h1>所有商品信息</h1>
<table border="1">
<tr>
<th>编号</th>
<th>名称</th>
<th>价格</th>
</tr>
<c:forEach var="product" items="${products}">
<tr>
<td>${product.id}</td>
<td>${product.name}</td>
<td>${product.price}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
5. 在error.jsp页面中,显示错误信息
示例代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>错误提示</title>
</head>
<body>
<h1>错误提示</h1>
<p>查询商品信息失败!</p>
</body>
</html>
```
Step6:配置web.xml
1. 在项目的WebContent/WEB-INF目录下,创建web.xml文件
2. 在web.xml中添加Servlet和JSP的映射关系
示例代码如下:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
<servlet>
<servlet-name>QueryProductServlet</servlet-name>
<servlet-class>com.example.QueryProductServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>QueryProductServlet</servlet-name>
<url-pattern>/queryProduct</url-pattern>
</servlet-mapping>
</web-app>
```
Step7:运行项目
1. 在MyEclipse中,右键项目,选择Run As -> Run on Server
2. 在浏览器中输入http://localhost:8080/ProductQuery/queryProduct.jsp,即可访问商品查询页面
以上就是基于JSP + Servlet + JavaBean + JDBC+MySQL8.0.2使用MyEclipse软件制作商品查询项目的全部步骤和代码,希望对你有所帮助!
阅读全文