(3.22-3.29)课题任务书(拼团项目系统)
1.任务安排
| 计划时间 | 计划任务 | 计划是否完成 |
| 3.22-3.29 | 管理员的增删改查 | 是 |
| 3.30-4.5 | 活动的权限管理 | |
| 。。。。。 |
2.下周计划完成内容
因为这周对上周做的内容进行了很大的改动,上周实现的管理员的增删改查还遗留下了很多bug,这周跟仕庄进行了代码的整合,还修复了很多bug。接下来总体进度得加快,下周争取和仕庄一起把对活动的发布展示和修改做出来。
3.本周实现功能
管理员用户的增加、修改、删除、查询管理员列表
4.本周实现代码(主要对AdminServlet这个servlet类进行代码展示)
1 public class AdminServlet extends HttpServlet { 2 private DBConnection dbc=new DBConnection(); 3 private static final long serialVersionUID = 1L; 4 5 6 public AdminServlet() { 7 } 8 9 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 10 this.doPost(request, response); 11 } 12 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 13 String action=request.getParameter("action"); 14 if(action.equals("query")){//查询管理员列表 15 String sql="select * from admin"; 16 ResultSet rs=null; 17 List<Admin> adminList=new ArrayList<Admin>(); 18 try { 19 rs = dbc.doQueryRS(sql,new Object[]{}); 20 21 while(rs.next()) 22 { 23 Admin admin=new Admin(); 24 admin.setId(rs.getInt("id")); 25 admin.setUsername(rs.getString("username")); 26 admin.setPassword(rs.getString("password")); 27 adminList.add(admin); 28 } 29 } catch (SQLException e) { 30 e.printStackTrace(); 31 } 32 33 HttpSession session=request.getSession(); 34 session.setAttribute("adminList", adminList); 35 request.getRequestDispatcher("admin_list.jsp").forward(request, response); 36 }else if(action.equals("del"))//删除管理员 37 { 38 int id=Integer.parseInt(request.getParameter("id")); 39 String sql="delete from admin where id=?"; 40 int res=0; 41 try { 42 res = dbc.doUpdate(sql,new Object[]{id}); 43 } catch (SQLException e) { 44 e.printStackTrace(); 45 } 46 if(res>0) 47 { 48 request.getRequestDispatcher("admin?action=query").forward(request, response); 49 }else 50 { 51 PrintWriter out=response.getWriter(); 52 out.print("删除失败"); 53 out.close(); 54 } 55 }else if(action.equals("add"))//增加管理员 56 { 57 String user=request.getParameter("username"); 58 String pass=request.getParameter("password"); 59 String sql="insert into admin(username,password) values(?,?)"; 60 int res=0; 61 try { 62 res = dbc.doUpdate(sql,new Object[]{user,pass}); 63 } catch (SQLException e) { 64 e.printStackTrace(); 65 } 66 if(res>0) 67 { 68 request.getRequestDispatcher("admin?action=query").forward(request, response); 69 }else 70 { 71 PrintWriter out=response.getWriter(); 72 out.print("删除失败"); 73 out.close(); 74 } 75 76 }else if(action.equals("edit"))//修改管理员 77 { 78 int id=Integer.parseInt(request.getParameter("id")); 79 String sql="select * from admin where id=?"; 80 Admin admin=null; 81 try { 82 ResultSet rs=dbc.doQueryRS(sql,new Object[]{id}); 83 if(rs.next()) 84 { 85 admin=new Admin(); 86 admin.setId(rs.getInt("id")); 87 admin.setUsername(rs.getString("username")); 88 admin.setPassword(rs.getString("password")); 89 } 90 } catch (SQLException e) { 91 e.printStackTrace(); 92 } 93 HttpSession session=request.getSession(); 94 session.setAttribute("admin", admin); 95 request.getRequestDispatcher("edit_admin.jsp").forward(request, response); 96 97 }else if(action.equals("update"))//更新列表 98 { 99 int id=Integer.parseInt(request.getParameter("id")); 100 String user=request.getParameter("username"); 101 String pass=request.getParameter("password"); 102 String sql="update admin set username=?,password=? where id=?"; 103 int res=0; 104 try { 105 res = dbc.doUpdate(sql,new Object[]{user,pass,id}); 106 } catch (SQLException e) { 107 e.printStackTrace(); 108 } 109 if(res>0) 110 { 111 request.getRequestDispatcher("admin?action=query").forward(request, response); 112 }else 113 { 114 PrintWriter out=response.getWriter(); 115 out.print("更新失败"); 116 out.close(); 117 } 118 }else 119 { 120 121 } 122 } 123 }
5、功能界面展示
(1)管理员列表(也是更新后的跳转页面)

(2)添加用户 (在管理员界面,密码就不设置隐藏了)

(3)管理员的修改

(4)在界面直接进行删除,跳转回更新界面

6、本周遇到的问题
做完对管理员用户的增删改查,出现很多不能跳转的按钮,百度了很多种解决方法,最后发现超链接的形式是最好用的。还有一个bug就是随着管理员的删除,该管理员的id也就不再进行使用,直接从下一个id再开始分配,这样虽然保证了id不会重复的问题,但是浪费了很多id,但是我想用户看不见自己的id,这个功能可以选择暂且不修复吧。
7、本周小结
用javaee实现的web界面之前在上课的时候老师只是简单地介绍了一下,现在自己从零学起不得不说还是相当吃力的,问了仕庄很多问题也占用了她很多时间。应该早点开始学的,现在时间紧迫,每周的课程又有多个实验要完成,所以还是有点后悔之前没有好好把握时间。在接下来的一个月里会多花时间好好学习java,继续加油,尽量赶进度,把这个项目做好。

浙公网安备 33010602011771号