初学javaweb记录一下(还没用到数据库)
Person.java
public class Person {
private int id;
private String name;
private String sex;
public Person(int id, String name, String sex) {
this.id = id;
this.name = name;
this.sex = sex;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
Servlet.java
import com.lin.entity.Person;
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;
@WebServlet("/user")
public class Servlet extends HttpServlet {
HashMap map=new HashMap<Integer,Person>();
@Override
public void init(ServletConfig config) throws ServletException {
map.put(1,new Person(1, "小绿", "男"));
map.put(2,new Person(2, "小红", "女"));
map.put(3,new Person(3, "小蓝", "男"));
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 使用action区分不同业务逻辑
String action = req.getParameter("action");
if (action==null){
action="read";
}
switch (action){
// 删除
case "delete":
String ids = req.getParameter("id");
Integer id = Integer.parseInt(ids);
map.remove(id);
resp.sendRedirect("/user");
break;
// 查询
case "read":
req.setAttribute("people", map.values());
req.getRequestDispatcher("read.jsp").forward(req, resp);
break;
// 更新
case "update":
ids = req.getParameter("id");
id = Integer.parseInt(ids);
req.setAttribute("people", map.get(id));
req.getRequestDispatcher("update.jsp").forward(req, resp);
default:
break;
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 添加和修改逻辑处理相同
req.setCharacterEncoding("UTF-8");
String strid = req.getParameter("id");
String name = req.getParameter("name");
String sex = req.getParameter("sex");
Integer id = Integer.parseInt(strid);
Person person = new Person(id, name, sex);
map.put(id, person);
resp.sendRedirect("/user");
}
}
read.jsp
<%@ 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>
<table>
<tr>
<th align="center">id</th>
<th align="center">姓名</th>
<th align="center">性别</th>
<th colspan="2" align="center">操作</th>
</tr>
<c:forEach items="${people}" var="people">
<tr>
<td align="center">${people.id}</td>
<td align="center">${people.name}</td>
<td align="center">${people.sex}</td>
<td align="center"><a href="/user?action=delete&id=${people.id}">删除</a></td>
<td align="center"><a href="/user?action=update&id=${people.id}">修改</a></td>
</tr>
</c:forEach>
<tr><td align="center"><a href="creat.jsp">添加</a></td></tr>
</table>
</body>
</html>
create.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>增加</title>
</head>
<body>
<form action="/user" method="post">
<table>
<tr>
<td>id:</td>
<td><input name="id"></td>
</tr>
<tr>
<td>姓名:</td>
<td><input name="name"></td>
</tr>
<tr>
<td>性别:</td>
<td><input name="sex"></td>
</tr>
<tr>
<td><input type="submit" value="添加"></td>
</tr>
</table>
</form>
</body>
</html>
update.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>修改</title>
</head>
<body>
<form action="/user" method="post">
<table>
<tr>
<td>id:</td>
<td><input name="id" value="${people.id}" readonly></td>
</tr>
<tr>
<td>姓名:</td>
<td><input name="name" value="${people.name}"></td>
</tr>
<tr>
<td>性别:</td>
<td><input name="sex" value="${people.sex}"></td>
</tr>
<tr>
<td><input type="submit" value="修改"></td>
</tr>
</table>
</form>
</body>
</html>