XML<packaging>war</packaging> <dependencies> <dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> <version>6.0.0</version> </dependency> <dependency> <groupId>com.csdn</groupId> <artifactId>pro03-fruit-optimize</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
- pro03-fruit-optimize是我自己封装的一个jar包,功能是可以实现水果系统的增删改查
1、查询水果清单IndexServlet
javapackage com.csdn.fruit.servlet; import com.csdn.fruit.dao.FruitDao; import com.csdn.fruit.dao.impl.FruitDaoImpl; import com.csdn.fruit.pojo.Fruit; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; @WebServlet("/index") public class IndexServlet extends HttpServlet { private FruitDao fruitDao = new FruitDaoImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { List<Fruit> fruitList = fruitDao.getFruitList(); fruitList.stream().forEach(System.out::println); } }
- 这里面的FruitDao水果数据访问对象接口,FruitDaoImpl水果数据访问对象实现类,都在pro03-fruit-optimize这个jar包里面
2、通过水果名查询水果EditServlet
javapackage com.csdn.fruit.servlet; import com.csdn.fruit.dao.FruitDao; import com.csdn.fruit.dao.impl.FruitDaoImpl; import com.csdn.fruit.pojo.Fruit; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/edit") public class EditServlet extends HttpServlet { FruitDao fruitDao = new FruitDaoImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String fname = req.getParameter("fname"); Fruit fruit = fruitDao.getFruitByFname(fname); System.out.println(fruit); } }
3、 根据水果名修改库存量UpdateServlet
javapackage com.csdn.fruit.servlet; import com.csdn.fruit.dao.FruitDao; import com.csdn.fruit.dao.impl.FruitDaoImpl; import com.csdn.fruit.pojo.Fruit; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/update") public class UpdateServlet extends HttpServlet { private FruitDao fruitDao = new FruitDaoImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //String fidStr = req.getParameter("fid"); //Integer fid = Integer.parseInt(fidStr); String fname = req.getParameter("fname"); //Integer price = Integer.parseInt(req.getParameter("price")); Integer fcount = Integer.parseInt(req.getParameter("fcount")); //String remark = req.getParameter("remark"); fruitDao.updateFruit(new Fruit(0,fname, 0, fcount, null)); System.out.println("修改成功"); } }
- 因为我底层也就是FruitDaoImpl写的就是通过水果名,修改水果的库存量,所以这里只能修改库存量fcount
String sql = "update t_fruit set fcount=? where fname = ?";
4、根据水果名删除水果记录DelServlet
javapackage com.csdn.fruit.servlet; import com.csdn.fruit.dao.FruitDao; import com.csdn.fruit.dao.impl.FruitDaoImpl; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/del") public class DelServlet extends HttpServlet { FruitDao fruitDao = new FruitDaoImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String fname = req.getParameter("fname"); fruitDao.delFruit(fname); System.out.println("删除成功!"); } }
5、添加水果AddServlet
javapackage com.csdn.fruit.servlet; import com.csdn.fruit.dao.FruitDao; import com.csdn.fruit.dao.impl.FruitDaoImpl; import com.csdn.fruit.pojo.Fruit; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/add") public class AddServlet extends HttpServlet { private FruitDao fruitDao = new FruitDaoImpl(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String fname = req.getParameter("fname"); Integer price = Integer.parseInt(req.getParameter("price")); Integer fcount = Integer.parseInt(req.getParameter("fcount")); String remark = req.getParameter("remark"); Fruit fruit = new Fruit(fname, price, fcount, remark); fruitDao.addFruit(fruit); System.out.println("添加成功!"); } }
- 注意:这里面的 Post 请求,要把 enctype 的值调成 x-www-form-urlencoded
使用Servlet修改水果库存系统,并使用PostMan测试Servlet请求
丁总学Java2023-11-04 16:03
相关推荐
钱多多_qdd9 分钟前
spring cache源码解析(四)——从@EnableCaching开始来阅读源码waicsdn_haha11 分钟前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】Q_192849990621 分钟前
基于Spring Boot的摄影器材租赁回收系统Code_流苏23 分钟前
VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)禁默1 小时前
深入浅出:AWT的基本组件及其应用Cachel wood1 小时前
python round四舍五入和decimal库精确四舍五入Code哈哈笑1 小时前
【Java 学习】深度剖析Java多态:从向上转型到向下转型,解锁动态绑定的奥秘,让代码更优雅灵活gb42152871 小时前
springboot中Jackson库和jsonpath库的区别和联系。程序猿进阶1 小时前
深入解析 Spring WebFlux:原理与应用