基于javaweb的家庭理财管理系统(servlet+jsp)

news2025/1/18 7:23:36

一、系统简介

本项目采用工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。

系统一共分为2个角色分别是:管理员,用户

获取方式

xystgl · master · 码盗_java_bishe / java系统 · GitCodeGitCode——开源代码托管平台,独立第三方开源社区,Git/Github/Gitlabicon-default.png?t=N7T8https://gitcode.net/qq_43485489/javaweb/-/blob/master/xystgl

二、模块简介

管理员

1、登录

2、个人信息管理

3、用户管理

4、收支明细管理

5、理财明细管理

6、财务计划管理

7、财务日志管理

用户

1、登录,注册

2、个人信息管理

3、理财明细管理

4、财务计划管理

5、财务日志管理

视频展示:

javaweb家庭财务管理系统_哔哩哔哩_bilibili本项目采用工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具。系统一共分为3个角色分别是:管理员,学生,社长管理员1、登录2、个人信息管理3、用户管理4、收支明细管理5、理财明细管理6、财务计划管理7、财务日志管理用户1、登录,注册2、个人信息管理3、理财明细管理4、财务计划管理5、财务日志管理有需要加 微信 hhh1148720753 或者 , 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 码盗666, 作者简介 java码农一枚,相关视频:基于javaweb宿舍管理系统(eclipse_mysql_jsp_servlet),健身房俱乐部管理系统,财管30-管理用财报【P2财报分析和财务预测】日拱知识点,WMS仓库管理系统入库操作流程,客户管理系统,2023年中级财务管理-主观题集训2(7到10章),如何快速看透一家企业(下),【中级会计师必备押题】中级会计师 中级财务管理 看简介,2023年中级会计考试-中级财务管理-邹瑜老师考点强化班(有完整版附讲义),外企财务分析都在做什么?之损益表分析icon-default.png?t=N7T8https://www.bilibili.com/video/BV11j411y7qY/?vd_source=8ad4632d619f0460b22fc0a42f840129

项目简介
难度等级:✩✩✩
用户类型:2角色(管理员,用户)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:HTML、CSS、JS、JQuery等
后端技术:JSP、servlet框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用eclipse开发,支持idea运行。
数  据  库:MySQL5.5/5.7/8.0版本
运行服务器:Tomcat7.0/8.0/8.5/9.0等版本
是否基于Maven环境:否
是否采用框架:是
数据库表数量:6张表
JSP页面数量:20多张
是否有分页:有分页

相关截图

三、关键代码块

1、登录

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<jsp:include page="/WEB-INF/views/header.jsp"/>
<body>
<div class="row lyear-wrapper">
  <div class="lyear-login">
    <div class="login-center">
      <div class="login-header text-center">
        <a > 家庭理财系统登录</a>
      </div>
      <form >
        <div class="form-group has-feedback feedback-left">
          <input type="text" placeholder="请输入用户名" class="form-control" name="userName" id="userName" />
          <span class="mdi mdi-account form-control-feedback" aria-hidden="true"> </span>
         <span id="msg" style="color:red;"></span>
        </div>
        <div class="form-group has-feedback feedback-left">
          <input type="password" placeholder="请输入密码" class="form-control" id="password" name="password" />
          <span class="mdi mdi-lock form-control-feedback" aria-hidden="true"></span>
           <span id="msg2" style="color:red;"></span>
        </div>
        <div class="form-group has-feedback feedback-left row">

            <div class="col-xs-12">
                <select class="form-control" id="type" name="type" size="1">
                    <option value="1">管理员</option>
                    <option value="2">用户</option>

                </select>
            </div>
        </div>
          <font  color="red">${message}</font>
        <div class="form-group"><!-- onclick="location.href='index.html'" -->
          <button class="btn btn-block btn-primary" type="button" id="login"   >立即登录</button>
           
        </div>
      </form>
      <a class="btn btn-block btn-primary" type="button" href="LoginServlet?action=toRegister" >去注册</a> 
      <hr>
      <footer class="col-sm-12 text-center">
      </footer>
    </div>
  </div>
</div>

<script type="text/javascript">
    layui.use(['layer', 'form','jquery'], function(){
        var layer = layui.layer
            ,form = layui.form
            ,jquery=layui.jquery;
        $("#login").on("click", function() {
            var userName = $("#userName").val().trim(); // trim()去除空格
            var password = $("#password").val().trim();
            var type = $("#type").val();
            if(!userName) {
                $("#msg").html("用户名不能为空!");
                $("#userName").focus(); // 聚焦
                return false;
            } else {
                if(!password) {
                    $("#msg").html("密码不能为空!");
                    $("#password").focus(); // 聚焦
                    return false;
                } else {
                    $("#msg").html("");
                }
            }

            $.ajax({
                type: "post", // post或get
                url: "LoginServlet?action=login", // 提交路径
                data: {
                	userName: userName,
                    password: password,
                    type:type,
                },
                // dataType: "json", // 指定后台传来的数据是json格式
                success: function(data) {

                    if (data == "yes") {
                        layer.msg('登陆成功!', {icon: 6});
                        // 延迟跳转
                        window.setTimeout("window.location='LoginServlet?action=toMain'",900);
                    }else{
                      	 layer.msg('账号或者密码错误,登录失败!', {icon: 5});


                    }

                },

                error: function(err) {}

            })

        })



    });
</script>

</body>
</html>
protected void login(HttpServletRequest request, HttpServletResponse response) throws Exception {//跳转到添加用户界�?
	    String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        String type = request.getParameter("type");
        String message = "no";
	  if(type != null && type.equals("1")){//admin
	    	Admin admin = service.selectAdmin(userName,password);
	    	 if (admin != null) {
	    		   message = "yes";
	    		   request.getSession().setAttribute("flag",1);
	               request.getSession().setAttribute("admin",admin);
             }
	    	 
	    }else  if(type != null && type.equals("2")){
	    	User user = service.selectUser(userName,password);
	    	 if (user != null) {
	    		   message = "yes";
	    		   request.getSession().setAttribute("flag",2);
	               request.getSession().setAttribute("user",user);
            }
	    	 
	    }
	  response.getWriter().print(message);
	}

四、总结

系统总结

系统使用eclipse开发的(也可idea运行)

相关技术:jsp,servlet,JavaScript,ajax,jquery,mvc结构,jdbc连接池C3p0,mysql,bootstrap。

我的开发工具:eclipse2020,mysql5.7,navicat数据库管理工具,Jdk1.8,tomcat8.5,google浏览器。

非开源!!!!!!
项目截图中的数据,很多是用来测试的,需求自行添加合适的数据图片
喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/997814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Edge浏览器没有让我失望! 今天终于可以在win10中模拟IE内核进行前端测试了!

前言 &#x1f61d; ietest现在是不是不好用了? Edge浏览器仿真是不是不见了&#xff1f; 如图 如果我们在前端开发javascript遇见一些老旧的语法标准&#xff0c;想要测试一下都难&#xff0c;想想都抓狂!&#x1f624;&#x1f624; 不过不用担心&#xff0c;经过这几天的…

娱乐时间 —— 用python将图片转为excel十字绘

最近看蛮多朋友在玩&#xff0c;要么只能画比较简单的&#xff0c;要么非常花时间。想了下本质上就是把excel对应的单元格涂色&#xff0c;如果能知道哪些格子要上什么颜色&#xff0c;用编程来实现图片转为excel十字绘应该是很方便的。 图片的每一个像素点都可以数值化&#x…

人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】

1. 基于TensorFlow2.3.0的花卉识别 基于TensorFlow2.3.0的花卉识别Android APP设计_基于安卓的花卉识别_lilihewo的博客-CSDN博客 2. 基于TensorFlow2.3.0的垃圾分类 基于TensorFlow2.3.0的垃圾分类Android APP设计_def model_load(img_shape(224, 224, 3)_lilihewo的博客-CS…

C语言指针详解(1)------指针类型(简单例子+详细讲解)

C语言指针类型详解及举例 此文介绍了C语言中常见的6种指针,对每种指针进行了介绍,并举出相应的例子供大家理解学习. 文章目录 C语言指针类型详解及举例1.字符指针2.数组指针3.指针数组4.函数指针5函数指针数组6指向函数指针数组的指针 1.字符指针 字符指针是指向字符数组或字符…

vue学习之事件绑定

事件绑定 创建 demo5.html,内容如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</…

手写Mybatis框架

Mybatis核心配置文件就是为了配置Configration 因此要首先会解析Mybatis核心配置文件 首先使用dom4J解析Mybatis核心配置文件 新建模块演示dom4j解析.xml 目录放错了 无所谓 引入依赖 从原来项目可以拷贝过来 就些简单配置就好 解析核心配置文件和解析xxxMapper.xml映射文件…

《React vs. Vue vs. Angular:2023年的全面比较》

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

如何快速下载UE源码

前置技能要求掌握Git和Github的基础操作和知识 1.获取源码仓库授权并下载源代码 (1).获取授权 UE是开源的&#xff0c;但是它的代码仓库在Github不开源&#xff0c;我们没法直接搜索到&#xff0c; 登录->个人信息->应用与账户->连接Github 请按照官网指引成功进…

想要精通算法和SQL的成长之路 - 课程表III

想要精通算法和SQL的成长之路 - 课程表III 前言一. 课程表III&#xff08;贪心优先队列&#xff09;1.1 优先选择截止时间更小的课程1.2 如果当前课程无法学习怎么办&#xff1f;1.3 优化 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 课程表III&#xff08;贪心优先队列&…

【ArcGIS pro】-使用arcpy一次保存多个布局

在arcgis Pro中常常会创建多个地图和多个布局&#xff0c;本文介绍如何使用代码&#xff0c;一次保存多个布局文件 在arcgis pro中打开python视图 找到工程位置 在python视图中输入如下代码 保存为pdf import arcpy# 设置当前项目&#xff0c;这通常是一个.aprx文件 projec…

11.Xaml DatePicker控件 时间控件

1.运行效果 2.运行源码 a.Xaml源码 <Grid Name="Grid1"><!--DisplayDate="2020-5-1" 显示的日期--><!--DisplayDateStart="2020

Linux CentOS7 添加中文输入法

在安装CentOS7时&#xff0c;现在默认安装了桌面中文系统。可以切换为英文&#xff0c;中英文可以按要求随时更换。而在CentOS7桌面环境下&#xff0c;显示中文非常方便、正确&#xff0c;并不能录入中文。 在远程登录系统的情况下&#xff0c;不论是系统语言&#xff08;LANG…

Vue2电商前台项目——完成Home首页模块业务

Vue2电商前台项目——完成Home首页模块业务 Vue基础知识点击此处——Vue.js 文章目录 Vue2电商前台项目——完成Home首页模块业务一、项目开发的步骤二、Home首页拆分静态组件1、完成TypeNav三级联动组件&#xff1a;全局组件2、完成其余静态组件&#xff1a;局部组件 三、请求…

黑马JVM总结(四)

&#xff08;1&#xff09;本地方法栈 Java虚拟机调用本地方法时&#xff0c;给本地方法提供的一个内存空间&#xff0c;本地方法它是指哪些不是由java代码编写的方法 java代码有一定限制&#xff0c;它有时候不能直接跟操作系统底层打交道&#xff0c;需要用c和c语言编写的本…

《C和指针》笔记23: 指针的指针

int a 12; int *b &a;现在有了第三个变量c c &b;c的类型是什么&#xff1f;显然它是一个指针&#xff0c;但它所指向的是什么&#xff1f;变量b是一个“指向整型的指针”&#xff0c;所以任何指向b的类型必须是指向“指向整型的指针”的指针&#xff0c;更通俗地说…

D. Paths on the Tree

Problem - 1746D - Codeforces 思路&#xff1a;先分析一下题意&#xff0c;根据第一条性质&#xff0c;每次只能够从1开始&#xff0c;而第二条性质则表明对于每个节点来说&#xff0c;经过这个节点的子节点的路径条数应该尽量均衡&#xff0c;最大值与最小值相差不能超过1&am…

水浒传之“领导力的定义:梁山集团三代领导人的特点”

周末快乐&#xff0c;我是老原。 周末修整&#xff0c;也不要忘记给自己的大脑充个电。 最近空闲时间看《水浒传》&#xff0c;有了一些关于领导力的感悟。 一提到领导力&#xff0c;有人可能会认为&#xff0c;这是企业领导才需要掌握的能力。 其实并不是。 领导力可以体…

liunx系统无sudo或管理员权限安装rar解压安装包

liunx无sudo权限安装rar解压安装包 &#xff08;1&#xff09;正常liunx安装rar&#xff08;2&#xff09;无sudo\root(管理员身份)时如何安装rar &#xff08;1&#xff09;正常liunx安装rar 1、下载安装包 WinRAR archiver, a powerful tool to process RAR and ZIP files (r…

C#类与类库调用注意事项

类 创建一个类文件&#xff0c;myfunction.cs //静态类&#xff1a;直接引用、无需实例化 static public int jiafa(int V) //普通类&#xff1a;引用时需要实例化 public int jiafa(int V)using System; using System.Collections.Generic; using System.Diagnostics; using …

VS Code 配置 JAVA(总)

VS Code 配置 JAVA&#xff08;总&#xff09; 主要参考&#xff1a; 处理单独 java 源文件的vscode配置VScode关于 java 配置的总体说明安装多版本 jdk 后&#xff0c;如何指定使用某个版本&#xff1f;某些与java相关的有用扩展VS code 如何配置不同编程语言及其工作流程 …