前言
今天学长向大家分享一个 毕业设计项目:
基于java web的记账管理系统
项目获取:
https://gitee.com/sinonfin/L-javaWebSha
一、项目设计
1. 模块设计
整个系统分为 用户注册,用户登录,财务管理,财务统计,系统管理等功能模块
首页
登录之后进入首页,你将看到系统的整体界面和基本功能,在你面前展现出来的是该系统的基本信息,如版本号,版权所有,开发者以及开发者的一些基本信息容内等。
用户信息管理
当你登录成功之后,点击用户信息管理,你将看到登录用户的基本信息,如电话,姓名,性别,密码等信息,然后可以直接在上面进行编辑修改自己的信息,修改完成之后,系统将会提示你信息已修改成功,请重新登录的提示,这样以保证用户信息的安全性。
用户财务管理
当你登录成功之后,你才有权限看到该用户的财务信息,当你点击财务管理时,将会展现出两栏小菜单,一个财务信息一个财务记录,财务信息将展现该登录用户的所有账单信息,用户可以很清楚地看到自己以往的财务记录;财务记录是一个添加记账的功能,它能简单的记录该登录用户的财务记录,然后入库,将数据持久化到数据库。
用户财务统计
财务统计是一个统计功能模块,当用户拥有多条财务记录的时候,他点击财务统计该功能,他将可以清楚的看到月收支统计和年收支统计两个菜单栏。月收支和年收支,显而易见,就是统计该用户财务中每个月所有财务记录的一个统计和每年所有财务记录的一个统计,让用户每个月或者每年对自己财务账单有一个清晰的记录。
系统管理
该模块普通用户是看不到的,只有管理员登录才能看的到,管理员登陆之后,他将用户对所有用户的基本管理的功能,如删除用户,通过登录名查询用户等功能,当然还可以对用户添加其他操作功能,这个可以作为一个扩展;然后是管理员对管理员进行管理,也可以进行基本的删除、查看、修改的操作。
2. 实现效果
登录
注册
首页
记账
功能较多,剩下的就不展示了
二、部分源码
源码较多,文章篇幅有限,这里就不放上来了,展示部分关键代码
部分代码示例:
登录功能实现:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username = req.getParameter("username");
String password = req.getParameter("password");
String type = req.getParameter("type");
HttpSession session = req.getSession();
try {
if(type.equals("用户")){
if(str.equals(randomCode)){
User user = userService.loginUser(username, password);
session.setAttribute("currentUser", user);
session.setAttribute("currentType", "用户");
req.getRequestDispatcher("index.jsp").forward(req, resp);
}
else{
req.setAttribute("messageInfo", "验证码错误!请重新输入");
req.getRequestDispatcher("login.jsp").forward(req, resp);
} } catch (Exception e) {
req.setAttribute("messageInfo", e.getMessage());
e.printStackTrace();
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
}
@Override
public User loginUser(String username, String password) throws UserException {
User user2 = userDao.findUserByName(username);
if(user2==null){
throw new UserException("用户名不存在,请重新输入!");
}if(!password.equals(user2.getPassword())){
throw new UserException("登录密码错误,请重新输入!");
}
return user2;
}