基于javaweb的家庭理财系统(java+ssm+jsp+tomcat8+mysql)
基于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)相关推荐
- 基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)
基于javaweb+jsp的家庭理财系统(java+SSM+JSP+Tomcat8+Mysql) 一.项目简述 功能:家庭理财,财务分析,统计等等. 二.项目运行 运行环境: jdk8+tomcat8 ...
- Java项目:家庭理财系统(java+SSM+JSP+Tomcat8+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:家庭理财,财务分析,统计等等. 二.项目运行 运行环境: jdk8+tomcat8+mysql+IntelliJ IDE ...
- 基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui)
基于javaweb的零食商城系统(java+ssm+jsp+mysql+easyui) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclip ...
- 基于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/ ...
- 基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql)
基于javaweb的电影院购票系统(java+ssm+jsp+bootstrap+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 ec ...
- 基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql)
基于javaweb的茶叶溯源系统(java+ssm+jsp+bootstrap+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ide ...
- 基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql)
基于javaweb的儿童摄影预约系统(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...
- 基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql)
基于javaweb的汽车租赁系统(java+ssm+jsp+layui+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/ ...
- 基于javaweb的毕业设计毕业论文管理系统(java+ssm+jsp+tomcat+mysql)
基于javaweb的毕业设计毕业论文管理系统(java+ssm+jsp+tomcat+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/m ...
最新文章
- 快手开源斗地主AI,入选ICML,能否干得过「冠军」柯洁?
- 使用下列 else-if 排列来处理多个条件:
- c++新特性11 (10)shared_ptr七reset
- 【Python】如何在Excel中调用Python脚本,实现数据自动化处理
- 算法导论之python实现插入排序
- 自学笔记:计时器Chronometer
- matlab 的cat函数
- 项目中的富文本编辑器该如何选择?
- Node.js: exports 和 module.exports 的区别
- oracle函数lad,01-查询Oracle中所有用户信息
- linux 定时执行某个任务,多个时间段
- 2010年08期《程序员》配套源码及相关链接
- xcap工具使用心得
- [Silverlight C#]反向波兰语表示法计算器教程
- XSS盗取用户信息实验(详细)及xss之旅闯关
- Apache Atlas 数据血缘
- 计算机硬件数据统计实验报告,实验二数据统计01
- 重新理解创业:一个创业者的中途思考
- Win11中双显示器快捷键 Win + Shift + 左/右失效问题
- 使用火车头采集器的时候往文本之中均匀的插入图片