今日完成了视频中javaBean+Servlet+jsp实现对用户增删改查的一个简单案例:
javaBean:
public class user { private Integer id; private String name; private Double 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; } public user(Integer id,String name,Double score) { this.id=id; this.name=name; this.score=score; } }
Servlet:
private Map<Integer,user> map; public UserServlet() { map=new HashMap<Integer,user>(); map.put(1,new user(1,"张三",78.0)); map.put(2,new user(2,"李四",68.3)); map.put(3,new user(3,"王五",85.1)); } @Override protected void doPost(HttpServletRequest req,HttpServletResponse resp) { try { req.setCharacterEncoding("utf-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } String idstr=req.getParameter("id"); String namestr=req.getParameter("name"); String scorestr=req.getParameter("score"); Integer id=Integer.parseInt(idstr); Double score=Double.parseDouble(scorestr); user user=new user(id,namestr,score); map.put(user.getId(),user); try { resp.sendRedirect("/biliwork/user"); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } @Override protected void doGet(HttpServletRequest req,HttpServletResponse resp) { String flag=req.getParameter("flag"); if(flag==null) { flag="findAll"; } char Flag=flag.charAt(0); switch(Flag) { case 'd': String idstr=req.getParameter("id"); Integer id=Integer.parseInt(idstr); map.remove(id); try { resp.sendRedirect("/biliwork/user"); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } break; case 'f': req.setAttribute("map",map.values()); try { req.getRequestDispatcher("index.jsp").forward(req,resp); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } break; case 'u': idstr=req.getParameter("id"); id=Integer.parseInt(idstr); req.setAttribute("user",map.get(id)); try { req.getRequestDispatcher("update.jsp").forward(req,resp); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } break; } }
jsp:
初始界面显示全部信息即查:
<body> <table> <tr> <th>编号</th> <th>姓名</th> <th>成绩</th> <th>操作</th> </tr> <c:forEach items="${map}" var="user"> <tr> <td>${user.id}</td> <td>${user.name }</td> <td>${user.score }</td> <td><a href="/biliwork/user?flag=delete&id=${user.id}">删除</a></td> <td><a href="/biliwork/user?flag=upadate&id=${user.id}">修改</a></td> </tr> </c:forEach> <tr><td><a href="add.jsp">添加</a></td> </table><br> </body>
添加界面:
<body> <form action="/biliwork/user" method="post"> <table> <tr> <td>编号</td> <td><input type="text" name="id"></td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name"></td> </tr> <tr> <td>成绩</td> <td><input type="text" name="score"></td> <tr> <tr> <td><input type="submit" value="提交"></td> </tr> </table> </form> <br> </body>
更改界面:
<body> <form action="/biliwork/user" method="post"> <table> <tr> <td>编号</td> <td><input type="text" name="id" value="${user.id }" readonly></td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" value="${user.name}"></td> </tr> <tr> <td>成绩</td> <td><input type="text" name="score" value="${user.score }"></td> <tr> <tr> <td><input type="submit" value="修改"></td> </tr> </table> </form> <br> </body>
运行结果: