Java项目:UMS 用户管理系统(一)

简介: Java项目:UMS 用户管理系统(一)

项目介绍&环境搭建


名称: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; //权限: 管理员/普通用户
}
  1. 步骤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>
相关文章
|
7天前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
26 4
|
13天前
|
SQL Java 数据库连接
从理论到实践:Hibernate与JPA在Java项目中的实际应用
本文介绍了Java持久层框架Hibernate和JPA的基本概念及其在具体项目中的应用。通过一个在线书店系统的实例,展示了如何使用@Entity注解定义实体类、通过Spring Data JPA定义仓库接口、在服务层调用方法进行数据库操作,以及使用JPQL编写自定义查询和管理事务。这些技术不仅简化了数据库操作,还显著提升了开发效率。
27 3
|
17天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
51 3
|
15天前
|
前端开发 Java 数据库
如何实现一个项目,小白做项目-java
本教程涵盖了从数据库到AJAX的多个知识点,并详细介绍了项目实现过程,包括静态页面分析、数据库创建、项目结构搭建、JSP转换及各层代码编写。最后,通过通用分页和优化Servlet来提升代码质量。
36 1
|
21天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
22 1
|
22天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
弹性计算 数据可视化 关系型数据库
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
5926 0
阿里云服务器部署Java Web项目和连接MySQL数据库全流程
|
3月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
6月前
|
存储 Java Maven
使用 nohup 部署和后台运行Java 项目
使用 nohup 部署和后台运行Java 项目
425 1
使用 nohup 部署和后台运行Java 项目
|
3月前
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
下一篇
无影云桌面