<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
package 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
package 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
package 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
package 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("删除成功!"); } }
文章来源:https://www.toymoban.com/news/detail-740025.html
5、添加水果AddServlet
package 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("添加成功!"); } }
文章来源地址https://www.toymoban.com/news/detail-740025.html
- 注意:这里面的 Post 请求,要把 enctype 的值调成 x-www-form-urlencoded
6、查询字符串(query string)
- 在HTTP GET请求中,查询字符串(query string)是 URL中问号 (?)后面的部分 ,用于传递参数给服务器。查询字符串的格式通常由键值对组成,键和值之间使用等号(=)连接,不同的键值对之间使用与号(&)连接。
- 例如,以下是一个包含查询字符串的URL示例:
https://example.com/api/users?name=John&age=30
- 在这个例子中,查询字符串是
name=John&age=30
。它包含两个键值对,分别是name=John
和age=30
。- 在Java的
java.net.URI
类中,可以使用getRawQuery()
方法获取原始的查询字符串。例如:URI uri = new URI("https://example.com/api/users?name=John&age=30"); String queryString = uri.getRawQuery(); // 返回 "name=John&age=30"
- 注意,在获取查询字符串后,可以使用Java或其他编程语言的字符串处理方法来解析和提取具体的参数值。
到了这里,关于使用Servlet修改水果库存系统,并使用PostMan测试Servlet请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!