package com.southwind.servlet;
import com.southwind.entity.User;
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.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@WebServlet("/user")
public class UserServlet extends HttpServlet {
private Map<Integer, User> map = new HashMap<>();
public UserServlet() {
map.put(1, new User(1, "张三", 11));
map.put(2, new User(2, "李四", 12));
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getParameter("method");
if (method == null) {
method = "findAll";
}
switch (method) {
case "delete":
String idStr = req.getParameter("id");
Integer id = Integer.parseInt(idStr);
map.remove(id);
resp.sendRedirect("user");
break;
case "findAll":
req.setAttribute("list", map.values());
req.getRequestDispatcher("index.jsp").forward(req, resp);
break;
case "findById":
idStr = req.getParameter("id");
id = Integer.parseInt(idStr);
User user = map.get(id);
req.setAttribute("user", user);
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 ageStr = req.getParameter("age");
Integer id = Integer.parseInt(idStr);
Integer age = Integer.parseInt(ageStr);
User user = new User(id, name, age);
map.put(id, user);
resp.sendRedirect("user");
}
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<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.age}</td>
<td>
<a href="user?method=delete&id=${user.id}">删除</a>
<a href="user?method=findById&id=${user.id}">修改</a>
</td>
</tr>
</c:forEach>
</table>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="user" method="post">
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
<input type="submit" value="添加">
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="user" 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="age" value="${user.age}"><br>
<input type="submit" value="修改">
</form>
</body>
</html>