JaveWeb 工资管理系统

Jave Web 工资管理系统

1.介绍

项目地址:gitee

JSP课设:学校内部工资管理系统

这是大二JSP课程的课设,考虑到组员欠缺项目的开发经验,技术的积累也不够,所以这次课设我们选用的是原生的Servlet整合了一些其他的诸如Mybatis等常用的框架进行开发

因为最近考试太多,所有人都在忙着期末冲刺,所以这个项目的完成度不高,另外,因为其他组员是第一次进行项目开发,所以很多接口存在潜在的bug以及很多不规范的地方。

但是,这个项目对于刚入门的同学来说依然还是有着一定的学习价值,因为这个项目我设置了异常处理,单例工厂创建类,跨域,拦截器,Druid连接池的使用,Jedis,token,Mybatis等等。我相信很多人都知道如何使用Spring Boot整合这些框架,但是对于原生的可能就不是太了解,即便是我刚开始使用原生的来整合这些框架的时候也是花了一定的时间的,不妨将这个项目作为夯实自己基础的一个学习项目

2.技术栈

前后端分离,前端使用的Vue+anxious

后端技术栈:打包成war部署到云服务器上

JDKcorretto-11(保证是jdk11就行了)
Servlet4
数据库驱动8.0+
Tomcat9.0.62
数据库mysql 8.0.15
权限管理Shrio(弃用)
日志logback
认证jwt
依赖管理Maven
JsonJackson
数据库连接池Druid(德鲁伊)
DAO框架Mybatis
NoSqlredis

3.需求分析

学校内部工资管理系统

4.快速开始

1.克隆

image-20220524232720142

出现如下界面:

image-20220524232806719

输入刚才复制的URL,然后点击Clone

2.导入为Maven项目

刚克隆下去的项目是这样的:

image-20220524232942499

他还不是一个Maven项目,打开core目录,你会看见一个pom.xml 现在他还只是一个普通的xml文件样式,证明idea还没有识别到它,需要你右键点击pom.xml ,然后点击如图所示(idea会弹出一个提醒页面,直接点击Trust Project就好):

image-20220524233128070

然后idea就会开始导入Maven项目,下载相应的Jar包。

注意!!!

如果你是第一次使用Maven那么你还需要配置一下你的Maven仓库,即settings.xml 配置文件,你不必再自己装一个Maven,idea自带Maven,但是,idea自带的Maven没有settings.xml ,所以需要你在idea的Maven配置目录下新建一个settings.xml,然后将下面的内容复制进去

idea自带的Maven配置文件在用户目录下的.m2文件夹内,即:

C:\Users\你的用户名\.m2

如图所示:

image-20220524234804246

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
    <!-- 阿里云仓库 -->
    <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>
 
    <!-- 中央仓库1 -->
    <mirror>
        <id>repo1</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo1.maven.org/maven2/</url>
    </mirror>
 
    <!-- 中央仓库2 -->
    <mirror>
        <id>repo2</id>
        <mirrorOf>central</mirrorOf>
        <name>Human Readable Name for this Mirror.</name>
        <url>http://repo2.maven.org/maven2/</url>
    </mirror>
</mirrors> 
 
</settings>

成功后的Maven项目如图所示:

image-20220524234924614

如果更换了配置文件后还没刷新那么点击idea右侧的Maven,手动刷新导入

image-20220524235014557

左上角的符号就是刷新

3.配置Tomcat

这一步我相信大家都会了,点击右上角

image-20220524235106547

image-20220524235119247

image-20220524235143011

image-20220524235234471

image-20220524235249441

4.更改配置文件

MySql配置
  1. 首先你需要修改数据库的配置信息,先在项目目录中找到payroll_system.sql脚本,然后先在数据库里面创建payroll_system数据库,然后运行sql脚本
  2. 修改resource目录下的druid.properties配置文件

image-20220609213722126

#druid配置文件
#驱动
driverClassName=com.mysql.cj.jdbc.Driver
#url
url=jdbc:mysql://localhost:3306/payroll_system?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=TRUE
#用户名
username=root
#密码
password=root
#连接池初始化大小
initialSize=10
#活动链接
maxActive=20
#最小连接数
minIdle=10
#使用的内置过滤器  若不配置 则不会统计SQL执行
filters=stat
#获取连接的最大等待时间,单位为毫秒
maxWait=60000
poolPreparedStatements=true
maxPoolPreparedStatementPerConnectionSize=200
Redis配置

修改资源路径下的redis.settings配置文件

image-20220609213859311

#-------------------------------------------------------------------------------
# Redis客户端配置样例
# 每一个分组代表一个Redis实例
# 无分组的Pool配置为所有分组的共用配置,如果分组自己定义Pool配置,则覆盖共用配置
# 池配置来自于:https://www.cnblogs.com/jklk/p/7095067.html
#-------------------------------------------------------------------------------
#----- 默认(公有)配置
# 地址,默认localhost
host=localhost
# 端口,默认6379
port=6379
# 最大空闲连接数, 默认8个
maxIdle=8
# 最小空闲连接数, 默认0
minIdle=0
# 最大连接数, 默认8个
maxTotal=8
# 超时,默认2000
timeout=2000
# 连接超时,默认timeout
connectionTimeout=2000
# 读取超时,默认timeout
soTimeout=2000
# 密码,默认无
password=
# 数据库序号,默认0
database=2
# 客户端名,默认"Hutool"
clientName=pymjl
# SSL连接,默认false
ssl=false;
邮箱配置

修改资源路径下的mail.settings

image-20220609214039431

# 发件人(必须正确,否则发送失败),“小磊”可以任意变更,<>内的地址必须唯一,以下方式也对
# from = hutool@yeah.net
from=
# 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助)
pass=
# 使用SSL安全连接
sslEnable=true

5.启动项目

后端项目

image-20220524235352562

出现如下界面

image-20220524235416288

成功!

前端
  1. 打开idea的控制台,左下角的Terminal,进入到前端的根目录
cd payroll
  1. 拉依赖(确保电脑已配好Vue的环境)
npm install
  1. 启动服务
npm run serve

出现如下界面则成功

image-20220609214512475

5.项目结构

C:.
├─.idea		#idea配置文件,别管
│  ├─artifacts
│  ├─inspectionProfiles
│  └─libraries
└─core 			#项目核心代码
    ├─logs 		#项目日志文件
    ├─src 		#Java代码
    │  ├─main
    │  │  ├─java
    │  │  │  └─cuit
    │  │  │      └─pymjl
    │  │  │          └─core
    │  │  │              ├─config #配置文件
    │  │  │              ├─entity #实体类,对应数据库的表
    │  │  │              │  └─user #各自在这下面创建自己的实体对象,每个人一个包
    │  │  │              ├─mapper #dao层,操作数据库的接口,各自在下面建自己的包
    │  │  │              ├─result #结果集,返回前端的统一格式
    │  │  │              ├─servlet #Servlet包,各自在下面建自己的包
    │  │  │              │  └─user
    │  │  │              └─util 一些工具类
    │  │  ├─resources #项目资源
    │  │  │  └─cuit
    │  │  │      └─pymjl
    │  │  │          └─core
    │  │  │              └─mapper #存放mapper.xml文件,注意你的mapper要个resource下的xml同级
    │  │  └─webapp
    │  │      └─WEB-INF
    │  └─test #单元测试目录
    │      ├─java
    │      │  └─cuit
    │      │      └─pymjl
    │      │          └─core
    │      └─resources
    │          └─cuit
    │              └─pymjl
    │                  └─core
    │                      └─mapper
    └─target #s
        ├─classes
        │  └─cuit
        │      └─pymjl
        │          └─core
        │              ├─config
        │              ├─entity
        │              │  └─user
        │              ├─mapper
        │              ├─result
        │              ├─servlet
        │              │  └─user
        │              └─util
        ├─core-1.0-SNAPSHOT
        │  ├─META-INF
        │  └─WEB-INF
        │      ├─classes
        │      │  └─cuit
        │      │      └─pymjl
        │      │          └─core
        │      │              ├─config
        │      │              ├─entity
        │      │              │  └─user
        │      │              ├─mapper
        │      │              ├─result
        │      │              ├─servlet
        │      │              │  └─user
        │      │              └─util
        │      └─lib
        ├─generated-sources
        │  └─annotations
        ├─generated-test-sources
        │  └─test-annotations
        └─test-classes
            └─cuit
                └─pymjl
                    └─core
                        └─mapper
一、项目简介 本项目是一套基于JavaWeb的企业工资管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该企业工资管理系统采用B/S结构,使用JAVA开发语言,以MySQL作为后台数据库。 本系统共包含两种角色:管理员、普通员工,各角色的功能如下: 1.管理员 包含:基础信息管理,考勤业绩管理,奖罚管理,人员工资管理,个人信息管理等功能 其中基本信息管理包含公告信息管理,公司人员管理,部门管理,职位管理几个功能。考勤业绩管理包含考勤管理,业绩管理。奖罚管理包含业绩奖金,表现奖金,处罚管理几个功能。人员工资管理可以进行员工工资管理。个人信息可以实现个人信息的更改操作。 2.普通员工 包含:基础信息管理,奖罚管理,人员工资管理,个人信息管理等功能 基础信息管理包含公告管理,公司人员管理,部门管理,职位管理几个子功能,奖罚管理包含业绩奖金,表现奖金,处罚管理,三个子功能。人员工资管理包含员工工资管理功能,个人信息可以进行员工的个人信息管理。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
.2.2 职工需求描述 对于职工来说,职工可以修改其密码信息,查询其基本信息和工资信息,收发留言信息。 职工登陆 职工在登陆时输入自己的用户名和密码,如无误后进入职工信息中心界面。默认的密码由管理员分配。如果密码错误则提示密码出错请重新输入,职工可以返回登陆界面。 职工密码修改 职工在登陆后,可以修改自己的密码。在修改密码界面中,需要两次输入自己的新密码,然后系统经过判断修改密码。下次可以通过新密码登陆系统。 职工考勤信息查询 在职工登陆后,进入考勤查询界面,页面给出每月的考勤信息,点击相应的年月,可以查看自己每个月的考勤记录详细信息。 职工工资信息查询 进入查询界面,职工可以查看详细工资情况,职工可以通过选择月份,便可以查询职工固定月份的工资信息。职工还可以查询自己的奖惩信息。 职工留言管理 职工可以向管理员发送留言,查看管理员发送给自己的留言。 3.2.3 管理员需求描述 对于管理员来说,管理员的能够实现的功能是该工资管理系统的核心功能,包括员工基本档案信息的管理,工资的设定与计算,考勤记录与统计,奖惩或其他重要事项的记录,留言管理,科室信息管理等。 管理员登陆 管理员在登陆框选择身份为管理员,输入自己的管理员号以及密码。如无误后进入管理员界面。如果密码不正确则提示密码错误信息,需要重新输入,返回管理员登陆界面。 密码修改 管理员可以修改自己的密码,下次登陆时管理员就需要输入自己的新密码登陆系统。 科室管理 随着医院规模的扩大,医院可能需要增加某些科室,修改科室信息等,管理员登陆系统后,可以对科室信息进行管理、操作。 员工信息管理 管理员登陆后,可以进行查看员工信息,增加员工,修改员工信息,删除员工信息等操作。 员工奖惩信息管理 根据 人民医院管理制度,管理员可以使用系统记录每个员工的奖励 ,惩罚等其他重要信息,以便确定员工的工作状况,实现相应的奖励和处罚。 员工工资设置 管理员登陆系统后,可以设置每个员工的每月工资信息,其中工资项包括基本工资,基本津贴,财务人员需要为每个在职的员工设定基本工资与基本津贴。财务人员根据员工的具体工资情况,输入奖金,税率等,系统自动计算应发,扣发,实发等工资项。 工资统计与报表打印 统计每个月所有员工的工资信息,并提供报表打印功能。 留言管理模块 职工查看自己的工资信息后,如有问题,可以向财务人员(系统管理员)发送留言,管理员可以回复留言,删除留言信息。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pymj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值