项目介绍&环境搭建
名称:UMS
UMS : User Manager System , 用户管理系统
整体需求
1)查询所有【阶段1】
2)添加【阶段1】
3)删除【阶段1】
4)查询详情【阶段1】
5)条件查询【阶段1】
6)修改【阶段2】
搭建环境
步骤1:创建web项目
步骤2:导入jar包,导入原型
把xml放置在了d:根目录
步骤3:创建package包及JavaBean
public class User { private String id; //唯一标识 private String loginName; //登录名 private String loginPwd; //登录密码 private String userName; //用户名(昵称) private String sex; //性别 private String education; //学历 private String birthday; //生日 private String telephone; //电话 private String[] interest; //兴趣爱好 private String remark; //备注 private String utype; //权限: 管理员/普通用户 }
- 步骤4:创建Dao,service,servlet
public class UserDao { //成员位置 指定xml路径 public static final String PATH="D:/javaweb1_ums.xml"; }
public class UserService { //成员位置,初始化一个UserDao,防止每个方法都创建一次的麻烦 //将来UserService进行创建,对应一个UserDao,而不是多个Service对应一个Dao。不加static private UserDao userDao = new UserDao(); }
@WebServlet({"/user"}) public class UserServlet extends BaseServlet { private UserService userService = new UserService(); }
步骤5:配置并启动tomcat
UMS:查询所有【阶段1】
1.1、需求说明
1.2、需求分析
分析:
关键点:
1、XmlUtils.readAll
2、request域对象进行数据保存
3、请求转发
4、java脚本 <% %>
流程图
代码实现
/login/left.jsp
<table width="100%" border="0"> <tr> <td> <a href="<%=request.getContextPath() %>/login/welcome.jsp" target="mainFrame">员工管理</a> <br/> <a href="<%=pageContext.getServletContext().getContextPath()%>/user?method=list" target="mainFrame">用户管理</a> </td> </tr> </table>
UserServlet
/** * 查询所有用户信息 * @return */ public String list(){ //1、调用service,查询用户列表 List<User> ulist = userService.list(); System.out.println(ulist); //2、查询结果存入request作用域 getRequest().setAttribute("ulist",ulist); //3、请求转发到/user/list.jsp return "forward:/user/list.jsp"; }
UserService
/** * 查询所有用户信息 * @return */ public List<User> list() { return userDao.searchAll(); }
UserDao
/** * 读取xml中所有的用户信息 * @return */ public List<User> searchAll() { return XmlUtils.readAll(PATH,User.class); }
/user/list.jsp
<tr style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3"> <td align="center" width="18%"> 登录名 </td> <td align="center" width="17%"> 用户姓名 </td> <td align="center" width="8%"> 性别 </td> <td align="center" width="23%"> 联系电话 </td> <td width="11%" align="center"> 学历 </td> <td width="7%" align="center"> 编辑 </td> <td width="7%" align="center"> 查看 </td> <td width="7%" align="center"> 删除 </td> </tr> <% //1、尝试从request作用域获取ulist集合数据 List<User> ulist = (List<User>) request.getAttribute("ulist"); //2、若ulist不为null,进行遍历展示 if(ulist!=null){ //3、进行遍历展示即可 for (User user : ulist) { %> <tr onmouseover="this.style.backgroundColor = 'white'" onmouseout="this.style.backgroundColor = '#F5FAFE';"> <td style="CURSOR: hand; HEIGHT: 22px" align="center" width="18%"> <%=user.getLoginName()%> </td> <td style="CURSOR: hand; HEIGHT: 22px" align="center" width="17%"> <%=user.getUserName()%> </td> <td style="CURSOR: hand; HEIGHT: 22px" align="center" width="8%"> <%=user.getSex()%> </td> <td style="CURSOR: hand; HEIGHT: 22px" align="center" width="23%"> <%=user.getTelephone()%> </td> <td style="CURSOR: hand; HEIGHT: 22px" align="center"> <%=user.getEducation()%> </td> <td align="center" style="HEIGHT: 22px"> <a href="<%=request.getContextPath() %>/"> <img src="<%=request.getContextPath() %>/images/i_edit.gif" border="0" style="CURSOR: hand"> </a> </td> <td align="center" style="HEIGHT: 22px"> <a href="<%=request.getContextPath() %>/"> <img src="<%=request.getContextPath() %>/images/button_view.gif" border="0" style="CURSOR: hand"> </a> </td> <td align="center" style="HEIGHT: 22px"> <a href="<%=request.getContextPath() %>/"> <img src="<%=request.getContextPath() %>/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand"> </a> </td> </tr> <% } } %>
2、UMS-添加用户【阶段1】
2.1、需求说明
要求:跳转使用重定向。
2.2、需求分析
分析:
关键点:
1、JS事件 onclick
2、location.href
3、toBean()
4、生成随机ID。 UUID.randomUUID().toString().replaceAll("-","");
5、XmlUtils.write
6、重定向:return "redirect:/";
流程图:
2.3、代码实现
/user/list.jsp
<td class="ta_01" align="right"> <a class="button_add" style="padding: 2px 4px 2px 10px; border: 1px solid #8AA2CC;" href="<%=request.getContextPath() %>/user/add.jsp" id="add">添加</a> </td>
/user/add.jsp
<form name="Form1" method="post" action="<%=pageContext.getServletContext().getContextPath()%>/user" > <input type="hidden" name="method" value="addUser"/>
UserServlet
/** * 添加用户 * @return */ public String addUser(){ //1、接收表单数据 User param = toBean(User.class); //2、调用service进行保存 boolean result = userService.addUser(param); //3、根据service处理结果,做不同的跳转 if(result){ //添加成功 return "redirect:/user?method=list"; }else{ //添加失败 getRequest().setAttribute("errorMsg","添加失败"); return "forward:/user/error.jsp"; } }
UserService
/** * 添加用户 * @param param * @return */ public boolean addUser(User param) { //1、生成随机ID param.setId(UUID.randomUUID().toString().replaceAll("-","")); //2、调用Dao进行数据保存 //3、try...catch对处理结果进行判断:没有出现异常,保存成功,否则保存失败 try { userDao.addUser(param); } catch (Exception e) { //出现异常,添加失败 return false; } //没有出现异常,添加成功 return true; } UserDao /** * 向xml中追加一个新用户 * @param param */ public void addUser(User param) { XmlUtils.write(PATH,param); }
/user/error.jsp
<tr> <td height="220" align="center" valign="middle" background="<%=request.getContextPath() %>/images/loginbg.gif"> <p class="style1"> <font color="red">${errorMsg}</font><br> <font color="red"></font> </p> <p> </p> </td> </tr>