基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)

一、项目简述

功能:家庭理财,财务分析,统计等等。

二、项目运行

运行环境:

jdk8+tomcat8+mysql+IntelliJ IDEA( Eclispe , MyEclispe ,Sts 都支持,代码与开发环境运行无关啦,只需要调整环境即可)

项目技术:SpringMVC + Spring + Mybatis + MySQL + Ajax + HTML + JavaScript + CSS + Jsp等等

用户信息控制层:

@Controller

public class UserInfoController {

@Resource

private UserInfoService userInfoService;

@Resource

private PrivilegeService privilegeService;

@RequestMapping(value = {“/”, “login.html”})

public String toLogin(HttpServletRequest request, HttpServletResponse response){

HttpSession session = request.getSession();

if(session.getAttribute(Config.CURRENT_USERNAME)==null){

return “login”;

}else {

try {

response.sendRedirect(“/pages/index”);

} catch (IOException e) {

e.printStackTrace();

return “login”;

return null;

// @RequestMapping(value = “/login.do”,method = RequestMethod.POST)

@RequestMapping(value = “/login.do”)

@ResponseBody

public Result getUserInfo(UserInfo userInfo, HttpServletRequest request, HttpServletResponse response){

boolean userIsExisted = userInfoService.userIsExisted(userInfo);

System.out.println(userIsExisted + " - " + request.getHeader(“token”));

userInfo = getUserInfo(userInfo);

if(“client”.equals(request.getHeader(“token”)) && !userIsExisted){

//用户不存在

return ResultUtil.success(-1);

if (userIsExisted && userInfo == null){

return ResultUtil.unSuccess(“用户名或密码错误!”);

}else {

//将用户信息存入session

userInfo = setSessionUserInfo(userInfo,request.getSession());

//将当前用户信息存入cookie

setCookieUser(request,response);

return ResultUtil.success(“登录成功”, userInfo);

@RequestMapping(“/users/getUsersByWhere/{pageNo}/{pageSize}”)

public @ResponseBody Result getUsersByWhere(UserInfo userInfo, @PathVariable int pageNo, @PathVariable int pageSize, HttpSession session){

if (“”.equals(userInfo.getHouseid())){

userInfo.setHouseid(null);

if (userInfo.getRoleid() == -1){

userInfo.setRoleid(Config.getSessionUser(session).getRoleid());

Utils.log(userInfo.toString());

PageModel model = new PageModel<>(pageNo,userInfo);

model.setPageSize(pageSize);

return userInfoService.getUsersByWhere(model);

@RequestMapping(“/user/add”)

public @ResponseBody Result addUser(UserInfo userInfo){

System.out.println(userInfo);

try {

int num = userInfoService.add(userInfo);

if(num>0){

return ResultUtil.success();

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/user/update”)

public @ResponseBody Result updateUser(UserInfo userInfo){

try {

int num = userInfoService.update(userInfo);

if(num>0){

return ResultUtil.success();

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/user/del/{id}”)

public @ResponseBody Result deleteUser(@PathVariable String id){

try {

int num = userInfoService.delete(id);

if(num>0){

return ResultUtil.success();

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/getSessionUser”)

@ResponseBody

public UserInfo getSessionUser(HttpSession session){

UserInfo sessionUser = (UserInfo) session.getAttribute(Config.CURRENT_USERNAME);

sessionUser.setPassword(null);

return sessionUser;

@RequestMapping(“/logout”)

public String logout(HttpServletRequest request, HttpServletResponse response){

delCookieUser(request, response);

request.getSession().removeAttribute(Config.CURRENT_USERNAME);

return “login”;

@RequestMapping(“/getAllRoles”)

public @ResponseBody Result getAllRoles(){

try {

List roles = userInfoService.getAllRoles();

if (roles.size()>0){

return ResultUtil.success(roles);

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/role/add”)

public @ResponseBody Result addRole(Role role){

try {

int num = userInfoService.addRole(role);

if(num>0){

privilegeService.addDefaultPrivilegesWhenAddRole(role.getRoleid().toString());

return ResultUtil.success();

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/role/update”)

public @ResponseBody Result updateRole(Role role){

try {

int num = userInfoService.updateRole(role);

if(num>0){

return ResultUtil.success();

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/role/del/{roleid}”)

public @ResponseBody Result deleteRole(@PathVariable String roleid){

try {

privilegeService.delPrivilegesWenDelRole(roleid);

int num = userInfoService.deleteRole(roleid);

if(num>0){

return ResultUtil.success();

}else {

privilegeService.addDefaultPrivilegesWhenAddRole(roleid);

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/getRole/{id}”)

public @ResponseBody Result getRoleById(@PathVariable String id){

try {

Role role = userInfoService.getRoleById(id);

if(role != null){

return ResultUtil.success(role);

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

/**

  • 登录时将用户信息加入cookie中

  • @param response

*/

private void setCookieUser(HttpServletRequest request, HttpServletResponse response){

UserInfo user = getSessionUser(request.getSession());

Cookie cookie = new Cookie(Config.CURRENT_USERNAME,user.getUsername()+“_”+user.getId());

//cookie 保存7天

cookie.setMaxAge(606024*7);

response.addCookie(cookie);

/**

  • 注销时删除cookie信息

  • @param request

  • @param response

*/

private void delCookieUser(HttpServletRequest request, HttpServletResponse response){

UserInfo user = getSessionUser(request.getSession());

Cookie cookie = new Cookie(Config.CURRENT_USERNAME,user.getUsername()+“_”+user.getId());

cookie.setMaxAge(-1);

response.addCookie(cookie);

/**

  • 通过用户信息获取用户权限信息,并存入session中

  • @param userInfo

  • @param session

  • @return

*/

public UserInfo setSessionUserInfo(UserInfo userInfo, HttpSession session){

List privileges = privilegeService.getPrivilegeByRoleid(userInfo.getRoleid());

userInfo.setPrivileges(privileges);

session.setAttribute(Config.CURRENT_USERNAME,userInfo);

return userInfo;

public UserInfo getUserInfo(UserInfo userInfo){

return userInfoService.getUserInfo(userInfo);

图形数据控制层:

@RestController

@RequestMapping(“/bills”)

public class BillController {

@Resource

private BillService billService;

/**

  • 适用于统计图

  • @param bill

  • @return

*/

@RequestMapping(“/getBillsToChart”)

public Result findByWhereNoPage(Bill bill, HttpSession session){

bill = getHouseBill(bill,session);

return billService.findByWhereNoPage(bill);

@RequestMapping(“/getBillsByWhere/{type}/{pageNo}/{pageSize}”)

public Result getBillsByWhere(Bill bill,@PathVariable String type, @PathVariable int pageNo, @PathVariable int pageSize, HttpSession session){

if(“-1”.equals(bill.getPayway())){

bill.setPayway(null);

bill.setType(type);

bill = getHouseBill(bill,session);

System.out.println(bill);

PageModel model = new PageModel<>(pageNo,bill);

model.setPageSize(pageSize);

return billService.findByWhere(model);

@RequestMapping(“/getBillsByUserid/{userid}/{pageNo}/{pageSize}/{year}/{month}”)

public Result getBillsByUserid(@PathVariable Integer userid, @PathVariable int pageNo, @PathVariable int pageSize, @PathVariable int year, @PathVariable int month){

Bill bill = new Bill();

bill.setUserid(userid);

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

bill.setStartTime(year+“-0”+month+“-01”);

try {

Date date = sdf.parse(year+“-0”+(month+1)+“-01”);

date.setDate(date.getDate()-1);

bill.setEndTime(sdf.format(date));

} catch (ParseException e) {

e.printStackTrace();

PageModel model = new PageModel<>(pageNo,bill);

model.setPageSize(pageSize);

Result result = billService.findByWhere(model);

List<Map<String,String>> r = billService.getMonthlyInfo(model);

Map<String,String> map = new HashMap<>();

for (Map<String,String> m: r) {

map.put(m.get(“typeid”),String.format(“%.2f”,m.get(“sum(money)”)));

result.setData(map);

return result;

private Bill getHouseBill(Bill bill, HttpSession session) {

UserInfo currentUser = Config.getSessionUser(session);

//当登录用户为家主时,查询默认查询全家账单情况

//当登录用户为普通用户时,仅查询当前用户的账单

if (currentUser.getRoleid() == 2){

bill.setHouseid(currentUser.getHouseid());

}else if (currentUser.getRoleid() == 3){

bill.setUserid(currentUser.getId());

return bill;

@RequestMapping(value = “/addBill”,method = RequestMethod.POST)

public Result add(Bill bill, HttpSession session){

if (Config.getSessionUser(session)!=null){

bill.setUserid(Config.getSessionUser(session).getId());

Utils.log(bill.toString());

try {

int num = billService.add(bill);

if(num>0){

int billid = bill.getId();

bill = new Bill();

bill.setId(billid);

return ResultUtil.success(“记账成功!”,billService.findByWhereNoPage(bill));

// return ResultUtil.success(“记账成功!”,bill);

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/updateBill”)

public Result update(Bill bill, HttpSession session){

if (Config.getSessionUser(session)!=null){

bill.setUserid(Config.getSessionUser(session).getId());

Utils.log(bill.toString());

try {

int num = billService.update(bill);

if(num>0){

return ResultUtil.success(“修改成功!”,null);

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/delBill”)

public Result del(int id){

try {

int num = billService.del(id);

if(num>0){

return ResultUtil.success(“删除成功!”,null);

}else {

return ResultUtil.unSuccess();

}catch (Exception e){

return ResultUtil.error(e);

@RequestMapping(“/getPayways”)

public Result getAllPayways(){

try {

List payways = billService.getAllPayways();

if (payways!=null && payways.size()>0){

return ResultUtil.success(payways);

}else {

return ResultUtil.unSuccess();

} catch (Exception e) {

return ResultUtil.error(e);


基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql)相关推荐

  1. 基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)

    基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql) 一.项目简述 功能:家庭理财,财务分析,统计等等. 二.项目运行 运行环境: jdk8+tomcat8 ...

  2. Java项目:家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:家庭理财,财务分析,统计等等. 二.项目运行 运行环境: jdk8+tomcat8+mysql+IntelliJ IDE ...

  3. 基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)

    基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclip ...

  4. 基于javaweb的报销erp系统(java+ssm+jsp+layui+jquery+mysql)

    基于javaweb的报销erp系统(java+ssm+jsp+layui+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  5. 基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql)

    基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 ec ...

  6. 基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql)

    基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...

  7. 基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql)

    基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  8. 基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql)

    基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...

  9. 基于javaweb的毕业设计毕业论文管理系统(java+ssm+jsp+tomcat+mysql)

    基于javaweb的毕业设计毕业论文管理系统(java+ssm+jsp+tomcat+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...

最新文章

  1. 快手开源斗地主AI,入选ICML,能否干得过「冠军」柯洁?
  2. 使用下列 else-if 排列来处理多个条件:
  3. c++新特性11 (10)shared_ptr七reset
  4. 【Python】如何在Excel中调用Python脚本,实现数据自动化处理
  5. 算法导论之python实现插入排序
  6. 自学笔记:计时器Chronometer
  7. matlab 的cat函数
  8. 项目中的富文本编辑器该如何选择?
  9. Node.js: exports 和 module.exports 的区别
  10. oracle函数lad,01-查询Oracle中所有用户信息
  11. linux 定时执行某个任务,多个时间段
  12. 2010年08期《程序员》配套源码及相关链接
  13. xcap工具使用心得
  14. [Silverlight C#]反向波兰语表示法计算器教程
  15. XSS盗取用户信息实验(详细)及xss之旅闯关
  16. Apache Atlas 数据血缘
  17. 计算机硬件数据统计实验报告,实验二数据统计01
  18. 重新理解创业:一个创业者的中途思考
  19. Win11中双显示器快捷键 Win + Shift + 左/右失效问题
  20. 使用火车头采集器的时候往文本之中均匀的插入图片

热门文章

  1. 怎么用手机压缩图片?教给大家三种手机压缩图片方法
  2. pa服务器系统,常见问题
  3. wangEditor在IE中截图上传问题(一)
  4. 拿破仑的滑铁卢与罗斯柴尔德的凯旋门
  5. wps合并所有sheet页_WPS怎么把几个工作表合并到一个工作表 - 卡饭网
  6. java edt,java并发之EDT测试
  7. 小说 · 凉生,我们可不可以不忧伤
  8. uniapp获取手机网络状态和手机系统信息(如4g,wifi)
  9. Docker 安装和常用指令
  10. matlab eval函数用法