综合案例 实现表单的 增删改查
案例 实现表单的 增删改查
综合案例 实现表单的 增删改查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
;
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
;
@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
);
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>
结束啦