浩浩学编程JavaWeb-08综合案例实现表单增删改查

    科技2026-03-01  7

    综合案例 实现表单的 增删改查

    案例 实现表单的 增删改查

    综合案例 实现表单的 增删改查1. user.java 建立一个uesr类2.userServlet.java创建user的对象并操作3.index.jsp表单的提交4.add.jsp 添加功能5.update.jsp 更新修改界面6.效果图结束啦

    1. user.java 建立一个uesr类

    package com.hou.web03; import javax.servlet.annotation.WebServlet; /** * @author haoqi * @Date 2020/10/7 - 9:36 */ public class User { private Integer id; private String name; private Double score; public User(Integer id, String name, Double score) { this.id = id; this.name = name; this.score = score; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Double getScore() { return score; } public void setScore(Double score) { this.score = score; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", score=" + score + '}'; } }

    2.userServlet.java创建user的对象并操作

    package com.hou.web03; import javax.servlet.ServletConfig; 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 java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @author haoqi * @Date 2020/10/8 - 9:24 */ @WebServlet("/users") public class UserServlet extends HttpServlet { public static Map<Integer,User> map = new HashMap<>(); @Override public void init(ServletConfig config) throws ServletException { //表中的默认内容,在初始化方法里只调用一次 map.put(1,new User(1,"haoqi",19.0)); map.put(2,new User(2,"dapeng",9.0)); map.put(3,new User(3,"safei",99.0)); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String method = req.getParameter("method"); if (method == null) //默认显示操作 method = "showAll"; switch (method){ case "delete": String idStr = req.getParameter("id"); Integer id = Integer.parseInt(idStr); map.remove(id); // resp.sendRedirect("/users"); // 方法1: 实现自动刷新显示操作 // break; // 方法2: 实现自动刷新显示操作,注释掉break case "showAll": req.setAttribute("list",map.values()); req.getRequestDispatcher("index.jsp").forward(req,resp); break; case "findId": idStr = req.getParameter("id"); id = Integer.parseInt(idStr); req.setAttribute("user",map.get(id)); req.getRequestDispatcher("update.jsp").forward(req,resp); break; } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); //防止乱码 String idStr = req.getParameter("id"); String name = req.getParameter("name"); String scoreStr = req.getParameter("score"); Integer id = Integer.parseInt(idStr); Double score = Double.parseDouble(scoreStr); //返回添加内容 User user = new User(id,name,score); map.put(id,user); resp.sendRedirect("/users"); } }

    3.index.jsp表单的提交

    引导包 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="javax.print.DocFlavor" %> <%@ page import="com.sun.xml.internal.ws.client.RequestContext" %><%-- Created by IntelliJ IDEA. User: haoqi Date: 2020/10/7 Time: 8:27 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>综合案例</title> </head> <body> $END$ <%-- <%String name = (String) request.getAttribute("name");%>--%> <%-- //传统方法--%> <%-- <%=name%>--%> <%-- </hr>--%> <%-- //EL表达式--%> <%-- ${name}--%> <%-- <%--%> <%-- pageContext.setAttribute("name","haoqi");--%> <%-- request.setAttribute("name","saifei");--%> <%-- session.setAttribute("name","dapeng");--%> <%-- application.setAttribute("name","xuchao");--%> <%-- %>--%> <%-- ${name} // page->haoqi--%> <%-- 综合案例,实现对表的增删改查--%> <form action="/users" method="get"> <table> <tr> <th> 编号 </th> <th> 姓名 </th> <th> 成绩 </th> <th> 操作 </th> </tr> <c:forEach items="${list}" var="user"> <tr> <td>${user.id}</td> <td>${user.name}</td> <td>${user.score}</td> <td> <%-- 在同一给 doGet 方法内自定义操作 ?method=delete 和对应的键值 id=${user.id} " --%> <a href="/users?method=delete&id=${user.id}">删除</a> <a href="/users?method=findId&id=${user.id}">修改</a> <a href="/add.jsp">添加</a> //刚刚忘记添加功能啦 </td> </tr> </c:forEach> </table> </form> </body> </html>

    4.add.jsp 添加功能

    <%-- Created by IntelliJ IDEA. User: haoqi Date: 2020/10/8 Time: 9:52 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>add 添加功能</title> </head> <body> <form action="/users" method="post"> 编号:<input type="text" name="id"/><br/> 姓名:<input type="text" name="name"/><br/> 成绩:<input type="text" name="score"/><br/> <input type="submit" value="添加"> </form> </body> </html>

    5.update.jsp 更新修改界面

    和 add.jsp 大同小异

    <%-- Created by IntelliJ IDEA. User: haoqi Date: 2020/10/8 Time: 10:56 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>修改界面</title> </head> <body> <form action="/users" method="post"> 编号:<input type="text" name="id" value="${user.id}" readonly/><br/> 姓名:<input type="text" name="name" value="${user.name}"/><br/> 成绩:<input type="text" name="score" value="${user.score}"/><br/> <input type="submit" value="修改"> </form> </body> </html>

    6.效果图

    删除了一个

    修改了

    添加操作

    刚刚测试没有注意到少了添加功能

    <a href="/add.jsp">添加</a>

    结束啦

    Processed: 0.010, SQL: 9