
案例:用户信息管理系统
发布日期:2021-05-07 03:09:21
浏览次数:21
分类:精选文章
本文共 4894 字,大约阅读时间需要 16 分钟。
用户信息管理系统设计与实现
一、需求分析
本次项目旨在开发一个用户信息管理系统,主要功能包括:
- 用户信息的增删改查
- 用户信息的列表展示
- 用户信息的搜索功能
- 分页显示用户信息
- 用户信息的添加与修改
- 用户信息的删除(单个与批量)
系统需要支持用户的基本信息管理,包含用户ID、姓名、性别、年龄、地址、QQ、邮箱、登录名和密码等字段。
二、系统设计
2.1 技术选型
- 前端技术:HTML、CSS、JavaScript、Bootstrap
- 后端技术:Servlet、JSP、Java
- 数据库:MySQL
- 依赖管理:BeanUtils、Druid、JDBC Template
- 容器:Tomcat
2.2 数据库设计
创建了一个名为d_user
的数据库,包含以下表:
-- 用户信息表create table t_userinfo ( id int auto_increment primary key, name varchar(20) not null, sex varchar(5) default null, age int default null, address varchar(32) default null, qq varchar(20) default null, email varchar(50) default null, username varchar(32) default null, password varchar(32) default null) engine=innodb default charset=utf8
2.3 项目结构
项目采用标准的Java Web项目结构:
project├── src│ ├── main│ │ └── webapp│ │ ├── WEB-INF│ │ │ ├── classes│ │ │ │ └── cn/itcast/web/servlet│ │ │ └── lib│ │ └── pages│ │ ├── jsp│ │ └── tag└── test └── java └── cn/itcast/test
2.4 相关jar包
从Apache官网导入以下jar包:
- commons-beanutils-1.9.4.jar
- commons-collections-3.2.2.jar
- commons-logging-1.2.jar
- commons-pool2-2.9.0.jar
- druid-1.0.9.jar
- mchange-commons-java-0.2.20.jar
- mysql-connector-java-5.1.47.jar
- spring-beans-5.0.0.RELEASE.jar
- spring-core-5.0.0.RELEASE.jar
- spring-jdbc-5.0.0.RELEASE.jar
- spring-tx-5.0.0.RELEASE.jar
- taglibs-standard-compat-1.2.5.jar
- taglibs-standard-impl-1.2.5.jar
- taglibs-standard-jstlel-1.2.5.jar
- taglibs-standard-spec-1.2.5.jar
三、系统实现
3.1 功能模块开发
用户信息列表显示
- 使用JSP页面
list.jsp
实现 - 支持分页显示,使用Druid分页插件
- 提供姓名、性别、年龄、籍贯、QQ、邮箱、操作等信息
用户信息添加
- 使用JSP页面
add.jsp
实现 - 前端验证,确保数据格式正确
- 数据提交后调用Servlet处理
用户信息修改
- 使用JSP页面
update.jsp
实现 - 数据前端验证
- 调用Servlet更新数据
用户信息删除
- 提供单个删除和批量删除功能
- 使用JavaScript确认操作
用户信息搜索
- 提供多字段搜索
- 实时搜索结果
用户登录
- 使用
login.jsp
页面实现 - 验证码验证
- 用户名和密码校验
3.2 系统核心类
package cn.itcast.domain;public class User { private int id; private String name; private String sex; private int age; private String address; private String qq; private String email; private String username; private String password; // setter和getter方法}public class PageBean{ private int totalCount; private int totalPage; private List list; private int currentPage; private int rows; // setter方法}
3.3 业务逻辑处理
package cn.itcast.service;public interface UserService { ListfindAll(); void insert(User user); void delete(int id); void update(User user); User login(User user); void addUser(User user); void deleteUser(String id); User findUserById(String id); void updateUser(User user); void delSelectedUser(String[] ids); PageBean findUserByPage(String currentPage, String rows, Map condition);}
3.4 服务实现
package cn.itcast.service.impl;public class UserServiceImpl implements UserService { private UserDao dao = new UserDaoImpl(); public ListfindAll() { return dao.findAll(); } public void insert(User user) { dao.insert(user); } // 其他方法同上}
3.5 Servlet实现
package cn.itcast.web.servlet;import cn.itcast.domain.PageBean;import cn.itcast.domain.User;import cn.itcast.service.UserService;import cn.itcast.service.impl.UserServiceImpl;import java.io.IOException;import java.util.Map;@WebServlet("/findUserByPageServlet")public class FindUserByPageServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取参数 String currentPage = request.getParameter("currentPage"); String rows = request.getParameter("rows"); // 处理当前页和每页显示数 if (currentPage == null || currentPage.isEmpty()) { currentPage = "1"; } if (rows == null || rows.isEmpty()) { rows = "5"; } // 获取查询条件 Mapcondition = new HashMap<>(); for (Map.Entry entry : request.getParameterMap().entrySet()) { condition.put(entry.getKey(), entry.getValue()); } // 调用Service UserService service = new UserServiceImpl(); PageBean pb = service.findUserByPage(currentPage, rows, condition); // 存储到请求对象中 request.setAttribute("pb", pb); request.setAttribute("condition", condition); // 转发到页面 request.getRequestDispatcher("list.jsp").forward(request, response); }}
3.6 其他功能实现
- 验证码验证:
CheckCodeServlet
- 登录处理:
LoginServlet
- 用户添加:
AddUserServlet
- 用户修改:
UpdateUserServlet
- 用户删除:
DeleteUserServlet
和DelSelectedServlet
四、部署与使用
服务器部署
- 使用Tomcat作为容器
- 将项目部署到服务器
- 配置MySQL数据库
数据库初始化
- 创建数据库
d_user
- 执行SQL脚本创建表
t_userinfo
系统使用
- 访问
index.jsp
进入首页 - 使用
findUserByPageServlet
实现分页查询 - 使用
add.jsp
添加用户 - 使用
update.jsp
修改用户信息 - 使用
login.jsp
登录系统
五、注意事项
- 安全性:建议在生产环境中使用HTTPS
- 性能优化:优化数据库查询和连接池设置
- 代码规范:遵循Java编码规范和最佳实践
- 维护:定期备份数据库,监控系统运行状态