全网最详细的JavaWeb用户管理系统(详细源码讲解) 您所在的位置:网站首页 myeclipse注册界面代码 全网最详细的JavaWeb用户管理系统(详细源码讲解)

全网最详细的JavaWeb用户管理系统(详细源码讲解)

2024-06-27 18:33| 来源: 网络整理| 查看: 265

基于Java web的用户管理系统开发(可直接跳到实现步骤)(小白也行) 前言_下载资源说明1、业务及其需求分析1、实现以下功能2、使用以下技术 2、简单成品展示1、登录功能与简单界面2、页面查询功能3、添加功能4、单个用户删除功能5、用户修改功能6、选中批量删除功能 3、实现步骤及其方法(重点必看)(一步一步对应实现)*****1、用户查询功能1、封装User 类2、改造的index.jsp并去到servlet中3、创建userListServlet(什么都不干)和UserService 接口4、service中创建子包impl定义接口实现 类 (UserServiceImpl)5、dao中创建 接口 UserDao6、dao中的子包impl中创建定义接口实现的 类 (UserDaoImpl)7、UserServiceImpl中创建new实现类8、再来userListServlet中9、jsp的list.jsp显示页面 2、登录功能及其验证码的加载及其切换1、加载验证码,超链接形式点击切换2、创建LoginServlet3、来到service下的UserService中创建接口4、、来到service下impl中的UserServiceImpl中实现类5、dao中的UserDao中创建接口6、dao中impl中实现类方法(操作数据库库的sql) 3、用户添加功能1、修改按钮跳转页面2、添加表单提交的action3、创建AddUserServlet4、在service下的UserService中创建接口5、在service下impl包的UserServiceImpl中实现类6、dao下的UserDao中创建接口7、dao下impl包的UserDaoImpl实现类 3、删除功能1、修改访问路径(根据id删除数据)2、创建DelUserServlet3、在service下的UserService中创建接口4、在service下impl包的UserServiceImpl中实现类5、dao下的UserDao中创建接口6、dao下impl包的UserDaoImpl实现类7、增强用户体验感(删除是给出提示框) 5、修改功能1、修改按钮的页面跳转2、编写FindUserServlet3、service中UserService创建 接口 方法4、service中impl下UserServiceImpl创建实现 类 的方法5、Dao中UserDao创建接口方法6、创建对应的实现类7、去update中回显信息(重点看value和c:if中的代码)8、表单提交方式及其隐藏域(一定要有)9、创建UpdateUserServlet10、service中UserService创建 接口 方法11、service中impl下UserServiceImpl创建实现 类 的方法(注意没有返回值)12、Dao中UserDao创建接口方法13、dao下impl包的UserDaoImpl实现类(没有返回值) 6、选中批量删除1、给提交数据加form和复选框加name2、给删除选中绑定单击事件3、创建编写DelSelectedServlet4、service中UserService创建 接口 方法5、service中impl下UserServiceImpl创建实现 类 的方法6、实现全选 4、数据库字段部分5、结语

前言_下载资源说明 作者:BSXY_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容

该system是可以自己按步骤一步一步完成的(可直接查看第3大点实现步骤及其方法),如需源码也可自行下载点击以下链接下载: 在这里插入图片描述 [资源中包括了system的源码+相应的SQL文件+system导入运行辅助教学视频(文档)+Navicat免费免安装软件_根据图片找到对应的资源即可]

公众号(小猿网),回复“b02”即可 资源为收费资源,如不符合您的消费观,还请您见谅 由于公众号可能目前没有太大的曝光度,搜索时可能 不是置顶的公众号。这时可以多往下滑一下找到该公 众号,或者直接到文章结尾处获取公众号二维码即可

比较适合刚刚学完java web的知识点,又刚好想做一下项目的人员,该system比较的基础 在这里插入图片描述

1、业务及其需求分析 1、实现以下功能

1、用户的查询功能 2、用户的添加功能 2、用户的登录功能 3、用户的删除功能 4、用户的修改功能 5、用户的批量删除功能

2、使用以下技术

JSP+Servlet(request、response、session)+javaBean+druid连接池技术+JdbcTemplate+MySQL+MVC开发模式(开发工具为IDEA) 请添加图片描述

2、简单成品展示 1、登录功能与简单界面

在这里插入图片描述 在这里插入图片描述

2、页面查询功能

在这里插入图片描述

3、添加功能

在这里插入图片描述

4、单个用户删除功能

在这里插入图片描述

5、用户修改功能

在这里插入图片描述

6、选中批量删除功能

在这里插入图片描述

3、实现步骤及其方法(重点必看)(一步一步对应实现)***** 1、用户查询功能

请添加图片描述 代码结构: 请添加图片描述

1、封装User 类 package com.entity; public class User { private int id; private String name; private String gender; private int age; private String address; private String qq; private String email; setter and getter方法 toString方法 } 2、改造的index.jsp并去到servlet中 查询所有用户信息 3、创建userListServlet(什么都不干)和UserService 接口 public interface UserService { /** * 查询所有用户信息 */ public List findAll(); } 4、service中创建子包impl定义接口实现 类 (UserServiceImpl) public class UserServiceImpl implements UserService { public List findAll(){ //调用dao完成查询 return ; } } 5、dao中创建 接口 UserDao /** * 用户操作的dao */ public interface UserDao { public List findAll(); } 6、dao中的子包impl中创建定义接口实现的 类 (UserDaoImpl) public class UserDaoImpl implements UserDao { private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public List findAll() { //使用jdbc操作数据库 //1、定义sql String sql="select*from user"; List users = template.query(sql, new BeanPropertyRowMapper(User.class)); return users; } } 7、UserServiceImpl中创建new实现类 public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); @Override public List findAll(){ //调用dao完成查询 return dao.findAll(); } } 8、再来userListServlet中 doPost中: //1、调用UserService完成查询 UserService service=new UserServiceImpl(); List users = service.findAll(); //2、将list存入request中 request.setAttribute("users",users); //3、转发到list.jsp request.getRequestDispatcher("/list.jsp").forward(request,response); 9、jsp的list.jsp显示页面 用户信息列表 编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作 ${s.count} ${user.name} ${user.gender} ${user.age} ${user.address} ${user.qq} ${user.email} 修改;删除 2、登录功能及其验证码的加载及其切换 1、加载验证码,超链接形式点击切换 //在session中存入当前的code码,便于验证 request.getSession().setAttribute("checkCode",code);

加载好验证码后实现切换:

//切换验证码 function refreshCode(){//超链接的方法 //1.获取验证码图片对象 var img = document.getElementById("checkCode"); //2.设置其src属性,加时间戳 img.src = "${pageContext.request.contextPath}/checkCodeServlet?time="+new Date().getTime(); } 2、创建LoginServlet 逻辑: //1.设置编码 request.setCharacterEncoding("utf-8"); //2.获取数据 //3.验证码校验 //4.封装User对象 //5.调用Service查询 //6、判断是否登录成功

doPost中的代码:

//1.设置编码 request.setCharacterEncoding("utf-8"); //2.获取数据 //2.1获取用户填写验证码 String verifycode = request.getParameter("verifycode");//jsp中验证码的name //3、验证码的校验 HttpSession session = request.getSession(); String code = (String)session.getAttribute("checkCode");//CheckCodeServlet中的值 session.removeAttribute("checkCode");//确保验证码一次性 if (!code.equalsIgnoreCase(verifycode)){ //验证码不正确 //提示信息 request.setAttribute("login_msg","验证码错误!"); request.getRequestDispatcher("/login.jsp").forward(request,response); return; } Map map = request.getParameterMap(); //4、封装User对象 User user=new User(); try { BeanUtils.populate(user,map);//JavaBean } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //5、调用service查询 UserServiceImpl service = new UserServiceImpl(); User loginUser=service.login(user); //编写到这里后报错,原因service中没有这个方法,接下来到service中创建方法 //6、判断是否登录成功 if (loginUser!=null){ //登录成功 //将用户存入session session.setAttribute("user",loginUser); //跳转页面 response.sendRedirect(request.getContextPath()+"/index.jsp"); }else { //登录失败 request.setAttribute("login_msg","用户名或密码错误!"); request.getRequestDispatcher("/login.jsp").forward(request,response); } 3、来到service下的UserService中创建接口 public interface UserService { /** * 登录方法 */ User login(User user); } 4、、来到service下impl中的UserServiceImpl中实现类 public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); public User login(User user) { return dao.findUserByUsernameAndPassword(user.getUsername(),user.getPassword()); } //现在应该返回null(要在dao中的接口中创建接口才行),这里省略,一步到位了 } 5、dao中的UserDao中创建接口 /** * 用户操作的dao */ public interface UserDao { User findUserByUsernameAndPassword(String username, String password); } 6、dao中impl中实现类方法(操作数据库库的sql) public class UserDaoImpl implements UserDao { private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); public User findUserByUsernameAndPassword(String username, String password) { try { String sql = "select * from user where username = ? and password = ?"; User user = template.queryForObject(sql, new BeanPropertyRowMapper(User.class), username, password); return user; } catch (Exception e) { e.printStackTrace(); return null; } } } //如果不try catch用户名或密码错误会报500的错误

再次回来LoginServlet中编写

3、用户添加功能

逻辑图 在这里插入图片描述

1、修改按钮跳转页面 添加联系人 2、添加表单提交的action 3、创建AddUserServlet doPost中: //1、设置编码 request.setCharacterEncoding("utf-8"); //2、获取参数 Map map = request.getParameterMap(); //3、封装对象 User user=new User(); try { BeanUtils.populate(user,map); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //4、调用Service保存 UserService service=new UserServiceImpl(); service.addUser(user);//到这里会报错,也可以接在写 //5、跳转到userListServlet response.sendRedirect(request.getContextPath()+"/userListServlet"); 4、在service下的UserService中创建接口 public interface UserService { /** *保存User方法 */ void addUser(User user); } 5、在service下impl包的UserServiceImpl中实现类 public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); @Override public void addUser(User user) { dao.add(user); } } 6、dao下的UserDao中创建接口 public interface UserDao { void add(User user); } 7、dao下impl包的UserDaoImpl实现类 public class UserDaoImpl implements UserDao { private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public void add(User user) { //1、定义sql String sql="insert into user values(null,?,?,?,?,?,?,null,null)"; //2、执行sql template.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail()); } } 3、删除功能

在这里插入图片描述

1、修改访问路径(根据id删除数据) 删除 2、创建DelUserServlet doPost: //1、获取id String id=request.getParameter("id"); //2、调用service删除 UserService service=new UserServiceImpl(); service.deleteUser(id); //跳转到查询所有的UserListServlet response.sendRedirect(request.getContextPath()+"/userListServlet"); 3、在service下的UserService中创建接口 public interface UserService { /** * 根据id删除 */ void deleteUser(String id); } 4、在service下impl包的UserServiceImpl中实现类 public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); @Override public void deleteUser(String id) { dao.delete(Integer.parseInt(id));//转为数字类型 } } 5、dao下的UserDao中创建接口 public interface UserDao { void delete(int i); } 6、dao下impl包的UserDaoImpl实现类 public class UserDaoImpl implements UserDao { private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public void delete(int id) { //1、定义sql String sql="delete from user where id=?"; template.update(sql,id); } } 7、增强用户体验感(删除是给出提示框) function deleteUser(id) { //用户安全提示 if (confirm("您确定删除吗?")){ location.href="${pageContext.request.contextPath}/delUserServlet?id="+id; } } 删除 5、修改功能

逻辑图: 在这里插入图片描述 回显信息:

1、修改按钮的页面跳转 修改; 2、编写FindUserServlet doPost: //1、获取id String id = request.getParameter("id"); //2、调用service查询 UserService service = new UserServiceImpl(); User user=service.findUserById(id); //3、将user存入request request.setAttribute("user",user); //4、转发到update.jsp request.getRequestDispatcher("/update.jsp").forward(request,response); 3、service中UserService创建 接口 方法 public interface UserService { /** * 根据id查询 * @param id */ User findUserById(String id); } 4、service中impl下UserServiceImpl创建实现 类 的方法 public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); @Override public User findUserById(String id) { return dao.findById(Integer.parseInt(id));//转为数字类型 } } 5、Dao中UserDao创建接口方法 public interface UserDao { User findById(int i); } 6、创建对应的实现类 public class UserDaoImpl implements UserDao { private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public User findById(int id) { String sql="select*from user where id=?"; return template.queryForObject(sql,new BeanPropertyRowMapper(User.class),id); } } 7、去update中回显信息(重点看value和c:if中的代码) 姓名: 性别: 男 女 男 女 年龄: 籍贯: 陕西 北京 上海 陕西 北京 上海 陕西 北京 上海 QQ: Email:

用户修改:

8、表单提交方式及其隐藏域(一定要有) //注意影藏域 姓名: 性别: 男 女 男 女 年龄: 籍贯: 陕西 北京 上海 陕西 北京 上海 陕西 北京 上海 QQ: Email: 9、创建UpdateUserServlet doPost中: request.setCharacterEncoding("utf-8"); //2、获取map Map map = request.getParameterMap(); //3、封装对象 User user=new User(); try { BeanUtils.populate(user,map); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //4、调用Service修改 UserService service=new UserServiceImpl(); service.updateUser(user); //5、跳转到查询所有Servlet response.sendRedirect(request.getContextPath()+"/userListServlet"); 10、service中UserService创建 接口 方法 public interface UserService { /** * 修改用户信息 * @param user */ void updateUser(User user); } 11、service中impl下UserServiceImpl创建实现 类 的方法(注意没有返回值) public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); @Override public void updateUser(User user) { dao.update(user); } } 12、Dao中UserDao创建接口方法 public interface UserDao { void update(User user); } 13、dao下impl包的UserDaoImpl实现类(没有返回值) public class UserDaoImpl implements UserDao { private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public void update(User user) { String sql="update user set name=?,gender=?,age=?,address=?,qq=?,email=? where id=?"; template.update(sql,user.getName(),user.getGender(),user.getAge(),user.getAddress(),user.getQq(),user.getEmail(),user.getId()); } } 6、选中批量删除

逻辑: 在这里插入图片描述

1、给提交数据加form和复选框加name 编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作 ${s.count} ${user.name} ${user.gender} ${user.age} ${user.address} ${user.qq} ${user.email} 修改; 删除 2、给删除选中绑定单击事件 window.οnlοad=function () { //给删除选中按钮添加单机事件 document.getElementById("delSelected").οnclick=function () { //提交表单 document.getElementById("form").submit(); } 删除选中 3、创建编写DelSelectedServlet //1、获取所有id String[] ids = request.getParameterValues("uid"); //2、调用service删除 UserService service=new UserServiceImpl(); service.delSelectedUser(ids);; //3、跳转到查询所有Servlet response.sendRedirect(request.getContextPath()+"/userListServlet"); 4、service中UserService创建 接口 方法 public interface UserService { /** * 批量删除用户 * @param ids */ void delSelectedUser(String[] ids); } 5、service中impl下UserServiceImpl创建实现 类 的方法 public class UserServiceImpl implements UserService { private UserDao dao=new UserDaoImpl(); @Override public void delSelectedUser(String[] ids) { if (ids!=null&&ids.length>0){//防止空指针异常 //1、遍历数组 for (String id:ids){ //2、调用dao删除 dao.delete(Integer.parseInt(id)); //删除的dao已经有了 } } } } 6、实现全选 window.οnlοad=function () { //给删除选中按钮添加单机事件 document.getElementById("delSelected").οnclick=function () { if (confirm("您确定要删除选中条目吗?")){ var flag=false; //判断是否有选中条目,防止一条都没有选中出现空指针异常 var cbs=document.getElementsByName("uid"); for (var i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有