基于Struts2框架的超市人事工资管理系统

本文介绍了一款基于Struts2框架的超市人事工资管理系统,该系统涵盖了管理员和普通用户的不同功能,包括登陆、员工管理、考勤业绩、工资管理、部门职位等。系统采用MySQL数据库,通过MyEclipse8.5开发,实现了数据的增删改查,具有用户友好的界面。项目总结展望了未来改进的方向,如优化计算结构、提高效率和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于Struts2框架的超市人事工资管理系统

摘要

由于计算机技术的飞速发展,网页与数据库技术作为数据管理的一个重要手段,在各行各业中得到了广泛的应用。本文基于Struts2框架技术,利用MyEclipse8.5和MySQL数据库制作了一个超市人事工资管理系统。该程序设计过程遵循软件设计的严密性原理,主要介绍了普通用户和管理员二级权限登录,并讲述了程序的总体设计、以及对数据需求进行分析。通过美化的界面,来提供用户友好性网页设计;通过详细的程序设计,来完善管理员的功能。利用MySQL的强大数据库功能,不断对程序进行修改形成了一个较为完善的、具有可行性、界面美观的超市人事工资管理系统。

关键字:管理系统,Struts2框架,MySQL数据

项目简介与分工

本文基于Struts2框架制作了超市人事工资管理系统,通过对数据进行需求分析,对该程序进行逻辑设计与代码实现,完善了超市人事工资管理系统,以下为该程序的简介和项目分工。

1.1  项目简介

该超市人事工资管理系统基于Struts2框架技术,利用MyEclipse8.5、tomcat6.0、jdk1.7和MySQL数据库对代码进行实现。整个程序基于软件开发设计谨慎、安全、用户友好的原则,利用数据库技术来实现对于数据的存储与记录。从美化界面的角度上来讲,该程序应用Dreamweaver CS6软件进行页面美化,利用DIV+CSS样式,使整个页面美观大方,实现了管理内网站的基本功能,符合管理系统自身应具备的特点。

1.1.1  数据库设计

数据库设计真实考虑到用户的需求,从数据分析角度上,按照不同的数据分类对数据库表进行分类,使得数据信息有效的反应整个程序中所存储的数据,便于程序代码的实现。

1.1.2  静态页面

静态页面采用DIV+CSS样式进行布局和制作,整个页面动态效果与特效相结合,采用Frame框架来对整体页面进行布局,页面大方;导航栏固定于页面的左侧,有效的为管理员和普通用户提供简洁的操作界面。

1.1.3  功能实现

该程序是基于Struts2框架技术的超市人事工资管理系统,由于是管理系统,对于超市内员工的增加删除和修改,实现了对于用户的添加、修改用户信息和当员工辞职时对员工的删除操作,管理员工对于工资薪酬方面的留言;管理员可发布新闻,对新闻进行管理;管理员可添加部门职位,对于部门进行调整,计算部门内职员的工资;可对管理员和普通用户的密码进行修改;管理员可对员工的考勤记录进行添加和查询,通过考勤记录计算员工工资。该程序实现了普通用户登录,普通用户可浏览超市主页,进行申请假期、查看管理员发布的通知、查看超市员工风采、对超市进行评价等操作。

该程序实现了超市人事工资管理系统的基本功能,完善了相应的代码结构,具有可行性。

1.2  项目分工

组内成员

分工

 

 

 

A

  1. 增加员工、修改员工信息、删除员工实现、显示所有员工信息列表;
  2. 增加考勤信息、查询考勤信息,配置Struts文件;
  3. 所有静态页面的布局和样式的实现;
  4. 项目报告的书写;
  5. 管理员发布新闻。

 

 

 

B

  1. 对部门进行管理,查询部门相关信息;
  2. 工资管理、计算员工工资;
  3. 数据库的建立;
  4. 管理员查询员工工资。

 

 

C

  1. 部门简介,添加部门信息;
  2. 修改密码;
  3. 员工登录。

 

 

D

  1. 管理员登陆;
  2. 员工填写请假条;
  3. 退出系统;
  4. 员工界面显示通知功能。

 

项目设计方案

该系统为超市人事工资管理系统,管理员将对员工基本信息、考勤、请假信息和工资、部门基本信息、员工留言、管理员新闻发布进行管理,同时可实现管理员基本功能,即对于用户和管理员账号密码进行修改。

 

图2-1  超市人事工资管理系统流程图

2.1  登陆界面

登陆到超市人事工资管理系统的界面,首先进入到超市管理系统的首页。

2.1.1  数据库设计

表2-1登陆表admin

类型

长度

小数点

允许空值

是否主键

adId

int

3

0

主键

managename

char

20

0

 

password

char

8

0

 

 

2.1.2  页面设计

访问超市人事工资管理系统的主页。

http://localhos:8080/RSuperMarket/index,显示当前超市人事工资管理系统的首页,点击超链接,访问到登陆界面。如图2-2、图2-3。

 

图2-2 超市管理系统

 

图2-3 管理员登录

2.2  管理员主界面

设计方案:

管理员由登陆界面跳转到管理员主界面,(设置相应的拦截器,只允许管理员从登陆界面访问到主界面,不允许非法访问链接)整体页面由top、left、down、main四个框架组成,在左侧框架作为导航栏,在首部框架显示超市信息和动态获取当前时间,页面设计如图2-4。

 

图2-4 管理员主界面

2.3  员工管理

员工管理部分分为添加员工、员工管理(修改员工信息、删除员工),员工留言管理三个模块。

2.3.1  数据库设计

 

表2-2员工表staff

类型

长度

小数点

允许空值

是否主键

id

int

1

0

name

varchar

20

0

 

sex

char

10

0

 

age

char

3

0

 

positionname

varchar

20

0

 

study

varchar

50

0

 

ydidentity

varchar

20

0

 

dpname

varchar

50

0

 

 

2.3.2  设计方案

[1]添加员工

通过设计静态页面,采用运用表单,嵌套表格的形式,实现对于员工的增加,其中员工的基本信息均显示到此页面(图2-5)。

 

图2-5 添加员工

[2]管理员工

通过设计三个图片超链接,跳转到相应的增加、删除、修改、查询界面,与数据库中数据进行匹配,实现管理员对于超市员工的个人信息的修改和删除、查询。

 

图2-6 员工管理

[3]显示员工列表

 

图2-7 显示员工列表

2.4  考勤业绩管理

考勤业绩管理部分包括添加考勤信息和考勤信息管理两个模块。其中,考勤信息管理中包括对于员工出勤情况进行考察,同时可以显示员工请假情况。

2.4.1  数据库设计

表2-3出勤表attendance

类型

长度

小数点

允许空值

是否主键

id

int

10

0

lateNum

int

2

0

 

earlyTimes

int

2

0

 

adsence

int

2

0

 

attend

int

2

0

 

month

int

2

0

 

 

表2-4请假表 le

类型

长度

小数点

允许控制

是否主键

leaveId

int

11

0

id

int

10

0

 

name

varchar

20

0

 

startTime

varchar

20

0

 

day

varchar

10

0

 

reason

varchar

100

0

 

approve

varchar

20

0

 

editTime

varchar

20

0

 

 

2.4.2  设计方案

考勤设计模块通过设计静态页面,点击左侧导航栏链接到新的页面,进行增加考勤记录并显示考勤。由管理员记录员工请假情况,添加到数据库中,并显示到页面中。显示员工考勤信息,该信息由普通员工登陆界面进行提交相应的员工请假信息。通过数据库获取数据,显示在管理员界面。(图2-8、图2-9)

 

    图2-8添加考勤记录

 

图2-9考勤记录信息

2.5  工资管理

工资管理模块包括自动计算工资和员工工资管理两个模块。

2.5.1  数据库设计

表2-5工资表 money

类型

长度

小数点

允许空值

是否主键

gzid

int

11

0

id

int

10

0

 

salary

float

8

0

 

award

float

8

0

 

attach

float

8

0

 

workelse

float

8

0

 

old

float

8

0

 

medical

float

8

0

 

CPF

float

8

0

 

Truel

float

8

0

 

month

int

2

0

 

 

2.5.2  设计方案

如图2-10显示自动计算工资:

 

图2-10 自动计算员工工资

如图2-11显示工资信息

 

图2-11 显示工资信息

2.6  部门职位管理

部门工资管理模块包括添加部门、部门管理、部门简介三个部分。通过连接数据库,实现管理员对于超市内部部门的调整操作。

2.6.1  数据库设计

表2-6部门表depart

类型

长度

小数点

允许空值

是否主键

dpid

varchar

10

0

dpname

varchar

20

0

 

manage

varchar

10

0

 

 

2.6.2  设计方案

部门管理模块设计利用静态页面的效果,连接数据库,实现了添加部门、管理部门和部门简介三个模块。

[1]添加部门

 

图2-12 添加部门

[2]如图2-13显示部门管理显示列表

 

图2-13 显示管理员

[3] 如图2-14显示部门简介

 

图2-14 部门简介

2.7  系统管理

对于超市人事工资管理系统,除对于超市内部进行管理之外,该系统具备一般管理系统具有的功能,可对整个系统进行管理。系统管理模块主要包括对于管理员和员工账号密码的修改,并实现退出系统的操作。

设计方案:通过静态页面的设计,可对管理员修改密码时进行选择,选择修改管理员的密码还是普通用户的密码。通过查询数据库,显示相应的列表,提供修改和删除的链接,对修改密码进行管理。(图2-15、图2-16)

 

图2-15选择修改对象的密码

 

图2-16获取管理员密码,提供修改超连接的页面

 

2.8  管理员发布新闻

管理员可发布新闻,并通过触发action,与数据库匹配,调用其方法,发布新闻。

2.8.1  数据库设计

表2-7新闻表news

类型

长度

小数点

是否为空

是否主键

newsID

int

10

0

newsTitle

varchar

20

0

 

newsContent

varchar

50

0

 

 

2.8.2  设计方案

 

图2-17管理员发布新闻的页面

2.9  超市普通用户界面

普通用户可直接访问超市主页,并通过导航栏显示,进行查看员工风采、查看管理员发布的通知、填写请假条、为超市书写评价。

2.9.1  数据库设计

 

表2-8用户表 user

类型

长度

小数点

是否为空

是否主键

userid

int

1

0

username

varchar

10

0

 

userpass

varchar

10

0

 

 

2.9.2  设计方案

[1] 主页

 

图2-18 普通用户登录主页

[2] 员工风采

 

图2-19 显示员工风采

 

[3] 查看通知

 

图2-20 普通员工查看通知

[4] 填写请假条

 

图2-21 填写请假条

[5] 表白树

 

图2-22 表白树

 

项目功能实现

该超市人事工资管理系统在经过以上设计方案之后,具备可行性,通过代码进行实现,JSP页面触发action,调用其class类中的方法,与数据库中的方法进行匹配,实现页面的跳转与数据的传参。

3.1  主要应用技术

该程序是基于Struts2框架技术的超市人事工资管理系统。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架。Struts2引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器、减少或者消除配置文件、贯穿整个框架的强大表达式语言、支持可变更和可重用的基于MVC模式的标签API, Struts2充分利用了从其它MVC框架学到的经验和教训,使得Struts2框架更加清晰灵活。

Struts2框架技术通过JSP页面触发action,调用action中class类中方法,与数据库中的相应方法进行匹配,实现页面的传参与跳转,达到一定的页面效果,通过将MVC三层框架分开,使得整个网页逻辑较强,使框架更为清晰。

3.2  配置struts.xml文件

<package name="admin" namespace="/admin" extends="struts-default">
<action name="admin" class="supermarket.action.AdminAction" method="list">
 <result name="adlist">/adminPassword.jsp</result>//跳转成功的结果页面
<result name="error">/error.jsp</result>//跳转错误的结果页面
</action>
</package>

3.3  实现对于数据库的增删改查

public List<Notice> list(){

List<Notice> noticeList = new ArrayList<Notice>();

try {

    Class.forName("com.mysql.jdbc.Driver");//加载驱动串

    conn = DriverManager.getConnection("jdbc:mysql://localhost/supermarket", "root", "root");//连接数据库

    PreparedStatement ps = conn.prepareStatement("select * from staff order by id desc;");//预处理SQL语句

    ResultSet rs = ps.executeQuery();//结果集     

    while(rs.next()){

        Notice n = new Notice();

        n.setId(rs.getInt("id"));

        n.setName(rs.getString("name"));

        n.setAge(rs.getInt("age"));

        noticeList.add(n);//将查询结果放入list

        }

        rs.close();//关闭rs

        ps.close();//关闭ps

        conn.close();//关闭连接

    } catch (ClassNotFoundException e) {//抛出异常

           // TODO Auto-generated catch block

           e.printStackTrace();

    } catch (SQLException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

    }

        return noticeList;//返回值

    }

3.4  Action类调用匹配的方法

public class NoticeAction extends ActionSupport{

    private Notice notice;

    private List<Notice> list;

    private int id;

    private Service service = new Service();

    并构造对象的set()和get()方法

    public String list(){

        list = service.list();

        return "list";

    }

}

3.5  model对于实体进行实例化

public class Notice {

    private int id;

    private String name;

    private int age;

    private String sex;

    private String positionname;

    private String study;

    private String ygidentity;

    private String dpname;

并构造对象的set()和get()方法

}

3.6  功能实质为对数据库的增删改查

<s:url action=”admin” namespace=”/admin”/>绝对地址引用action

action=”<%=basePath%>attendance/update” method=”post”

 

4  项目总结及展望

4.1  项目总结

随着信息技术的发展,超市人事工资管理是超市管理信息化、现代化的关键,本设计的开发过程中采用了MVC的设计模式,利用Struts2框架技术来完成系统的设计,并且对系统应有的功能给予实现。

主要完成了:

(1)对系统进行了详细的分析,实现了模块的划分及分析其功能。

(2)以JSP技术为开发支持,以MySql为后台数据库,基于Struts2框架技术设计了一个三层结构下的管理系统的层次模型。

(3)应用Photoshop软件对图片进行处理,应用Dreamweaver CS6软件进行页面美化,利用div+css样式,使整个页面美观大方。

(4)实现了超市人事工资管理中的所有基本功能。完成了管理员对于超市内部部门和员工的管理,同时完成了管理员对于系统的管理;普通用户实现了浏览超市主页的功能,完成了基本的页面。

4.2  项目展望

通过本次项目开拓了我们的视野,让我们对开源框架有了更清晰的认识。但项目的结束不意味着我们的项目就到此为止,在今后的日子里,我们还将对项目进行不断的完善和改进:

(1)改进人事工资计算结构,增加超市员工个人绩效工资的计算以及公示功能。起到人事工资透明化作用的同时,并能促进员工之间的竞争,提高工作效率。

(2)优化项目资源以及代码效率,消除系统使用过程中占用资源过多以及效率较低的现象。

(3)加强系统的安全性和稳定性,绝对避免因BUG导致的系统数据丢失、错误或系统崩溃等问题。

(4)优化页面,为用户提供更为方便快捷的导航栏,实现更为简单的操作,提供更为友好的用户页面,对于登录,完善相关代码,实现更具安全性的超市人事工资管理系统的登录。

(5)完善超市人事工资管理系统的功能,对相应模块的功能进行整合与归纳,使整个程序的框架更为清晰,使整个页面的效果更为合理化。

考 文 献

1  肖慎勇. 数据库及其应用[M]. 北京:清华大学出版社,2007.

2  明日科技.JSP项目开发案例全程实录(第2版)[M].清华大学出版社,2011.

3  王国辉, 王毅等.JSP程序开发宝典[M].人民邮电出版社, 2007.

4  蒋海昌.Java Web设计模式之道[M].清华大学出版社, 2012.

5  崔群法,王咏梅,李有军. Struts2.0从入门到精通[M]. 电子工业出版社,2009年1月.

6  前沿电脑图像工作室. 巧学巧用Dreamweaver制作网页[M]. 北京:人们邮电出版社,2011.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蹦跶的小羊羔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值