给我实现以下要求并且给我代码以及最终运行界面:1、创建Web Project; 2、找到对应数据库版本的驱动Jar包,将其复制到Web-INF的lib文件夹下,再将驱动Jar添加到Libraries中; 3、编写addGoods.JSP页面,在该页面中实现添加商品操作; 4、在src下创建包,在该包下创建AddGoodsServlet.java文件,在该文件中获取addGoods.jsp页面提交的商品信息,并将该信息保存到数据库中; 5、编写JavaBean类(Goods.java),完成数据库的连接,增、删、改、查等操作; 6、编写ShowGoodsServlet.java获取数据库的商品信息,并将数据存入集合中,编写showGoods.jsp页面用于获取集合中的数据并在页面显示所有商品信息。
时间: 2024-03-31 21:35:18 浏览: 61
基于SSM的高考志愿咨询平台代码
好的,我会按照您的要求来实现这个功能,并提供相应的代码以及最终运行界面。在这个示例中,我将使用MySQL数据库和Tomcat服务器。
1. 创建Web Project
首先,我们需要创建一个Web项目。在Eclipse中,您可以打开File菜单,选择New,然后选择Web项目。在这里,您可以指定项目名称和目标运行时环境等信息。
2. 添加数据库驱动程序
我们需要在Web项目中添加MySQL数据库驱动程序。首先,您需要下载适合您的MySQL版本的Java驱动程序Jar包,然后将其复制到Web项目的Web-INF/lib目录下。接下来,您需要将该驱动程序添加到项目的Libraries中。
3. 编写addGoods.jsp页面
在该页面中,我们将实现添加商品操作,并且可以通过表单让用户输入商品信息。以下是addGoods.jsp页面代码:
```
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Add Goods</title>
</head>
<body>
<h1>Add Goods</h1>
<form action="AddGoodsServlet" method="post">
<label>Name:</label>
<input type="text" name="name"/><br>
<label>Price:</label>
<input type="text" name="price"/><br>
<label>Description:</label>
<textarea name="description"></textarea><br>
<input type="submit" value="Add"/>
</form>
</body>
</html>
```
在该页面中,我们使用了一个表单,让用户输入商品名称、价格和描述等信息。表单的提交地址为AddGoodsServlet。
4. 创建AddGoodsServlet.java文件
在该文件中,我们将获取addGoods.jsp页面提交的商品信息,并将该信息保存到数据库中。以下是AddGoodsServlet.java文件代码:
```
package com.example.servlet;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.example.bean.Goods;
import com.example.util.DBUtil;
@WebServlet("/AddGoodsServlet")
public class AddGoodsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
float price = Float.parseFloat(request.getParameter("price"));
String description = request.getParameter("description");
Goods goods = new Goods();
goods.setName(name);
goods.setPrice(price);
goods.setDescription(description);
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DBUtil.getConnection();
String sql = "INSERT INTO goods(name, price, description) VALUES(?,?,?)";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, goods.getName());
pstmt.setFloat(2, goods.getPrice());
pstmt.setString(3, goods.getDescription());
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(pstmt);
DBUtil.close(conn);
}
response.sendRedirect("showGoods.jsp");
}
}
```
在该文件中,我们首先获取了addGoods.jsp页面提交的商品信息,然后创建了一个Goods对象,并将商品信息设置到该对象中。接下来,我们使用DBUtil类获取数据库连接,并将商品信息保存到数据库中。最后,我们重定向到showGoods.jsp页面。
5. 编写JavaBean类(Goods.java)
在该类中,我们将实现与数据库的连接、增加、删除、更新、查询等操作。以下是Goods.java代码:
```
package com.example.bean;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.example.util.DBUtil;
public class Goods {
private int id;
private String name;
private float price;
private String description;
public Goods() {}
public Goods(int id, String name, float price, String description) {
this.id = id;
this.name = name;
this.price = price;
this.description = description;
}
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 float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public static List<Goods> findAll() {
List<Goods> list = new ArrayList<Goods>();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DBUtil.getConnection();
String sql = "SELECT * FROM goods";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
float price = rs.getFloat("price");
String description = rs.getString("description");
Goods goods = new Goods(id, name, price, description);
list.add(goods);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(rs);
DBUtil.close(pstmt);
DBUtil.close(conn);
}
return list;
}
}
```
在该类中,我们定义了商品的各个属性,并提供了相应的getter和setter方法。我们还实现了一个findAll()方法,用于从数据库中获取所有商品信息,并将其存入一个List集合中。
6. 编写ShowGoodsServlet.java文件和showGoods.jsp页面
在该文件中,我们将获取数据库中的商品信息,并将其存入一个集合中。然后,我们可以编写showGoods.jsp页面来获取集合中的数据,并在页面上显示所有商品信息。以下是ShowGoodsServlet.java文件和showGoods.jsp页面的代码:
ShowGoodsServlet.java
```
package com.example.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.example.bean.Goods;
@WebServlet("/ShowGoodsServlet")
public class ShowGoodsServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Goods> list = Goods.findAll();
request.setAttribute("list", list);
request.getRequestDispatcher("showGoods.jsp").forward(request, response);
}
}
```
showGoods.jsp
```
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Show Goods</title>
</head>
<body>
<h1>Show Goods</h1>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Price</th>
<th>Description</th>
</tr>
<c:forEach var="goods" items="${list}">
<tr>
<td>${goods.id}</td>
<td>${goods.name}</td>
<td>${goods.price}</td>
<td>${goods.description}</td>
</tr>
</c:forEach>
</table>
<p><a href="addGoods.jsp">Add Goods</a></p>
</body>
</html>
```
在该页面中,我们使用了JSTL标签库来遍历集合中的所有商品,并将它们显示在一个表格中。我们还提供了一个链接,用于访问addGoods.jsp页面以添加新商品。
最终运行界面
在Tomcat服务器上运行该Web应用程序后,您可以通过访问http://localhost:8080/您的应用程序名称/showGoods.jsp来查看所有商品信息,如下图所示:
![运行界面](https://img-blog.csdnimg.cn/20210622154054625.png)
阅读全文