基于java的部门工作管理系统(公司办公管理)的设计与实现论文

基本事件流 1. 管理员点击留言板管理。

2. 系统显示当前所有用户的留言。

3. 管理员点击任意一条留言的删除按钮。

4. 系统删除一条留言记录。

5. 系统提示删除成功。

6. 系统显示删除一条记录之后的所有留言信息

备选事件流 无

备注 无

(4)用户考勤用例

用户进入系统之后可以点击进行打卡考勤,还能查看到个人的考勤记录,管理员进入考勤管理之后可以查看到所有员工的考勤记录,用户考勤用例图如图2.8所示。

在这里插入图片描述

图2.8 用户考勤用例图

用户考勤用例描述如表2.5所示。

表2.5 用户考勤用例

用例标识 2.1.1

用例名称 用户点击考勤

参与者 员工用户

前置条件 已经以员工用户身份登录成功。

后置条件 员工考勤表添加一条记录。

用例概述 员工用户点击进行考勤。

基本事件流 1. 用户点击考勤管理。

2. 用户点击我要考勤。

3. 系统添加一条员工考勤记录。

4. 系统提示考勤成功。

备选事件流 无

备注 无

(5)管理个人事宜用例

用户进入系统之后可以对个人待办事宜及通讯录进行管理,包括添加、删除待办事宜,添加、删除通讯录的联系人信息。管理个人事宜用例图如图2.9所示。

在这里插入图片描述

图2.9 管理个人事宜用例图

管理个人事宜用例描述如表2.6所示。

表2.6 管理个人事宜用例

用例标识 2.2.1

用例名称 添加待办事宜

参与者 用户

前置条件 已经以用户身份登录成功

后置条件 个人待办事宜信息列表添加一条记录。

用例概述 用户可以添加代办事宜,在待办事宜完成以后进行删除。

基本事件流 1. 用户点击待办事宜管理。

2. 用户可以查看到当前待办事宜。

3. 用户点击添加按钮。

4. 系统显示待办事宜输入页面。

5. 用户输入待办事宜信息,点击添加。

6. 系统添加一条待办事宜记录。

7. 系统显示最新待办事宜列表。

备选事件流 无

备注 无

(6)管理邮箱用例

员工用户进入系统之后可以到邮箱管理模块,发送邮件给其他用户,并且在发件箱查看已发送邮件,打开收件箱查收邮件,管理邮箱用例图如图2.10所示。

在这里插入图片描述

图2.10 管理邮箱用例图

管理邮箱用例描述如表2.7所示。

表2.7 管理邮箱用例

用例标识 2.3.1

用例名称 发送邮件

参与者 用户

前置条件 已经以用户身份登录成功。

后置条件 邮件信息添加一条记录。

续表2.7 管理邮箱用例

用例概述 用户进入邮箱管理,点击发邮件,编辑之后发送到收件人的邮箱。

基本事件流 1. 用户点击发邮件。

2. 用户选择联系人。

3. 用户编辑邮件内容,点击提交。

4. 系统添加一条邮件记录。

5. 系统将邮件展示在收件人的收件箱和发件人的发件箱。

6. 系统提示邮件发送成功。

备选事件流 无

备注 无

2.3 非功能性需求

正确性:系统不允许出现用户之间业务错误。

健壮性:系统发生异常时,要有相关数据保护措施,员工和部门数据不能丢失,并提供相应的应急措施。

并发:允许至少50个以上的用户同时登录并且保持服务器稳定,系统正常运行。

性能:系统处理普通业务用时不超过2秒,业务复杂时用时不得超过6秒。

安全性:员工个人信息跟部门相关信息具有保密性,只能由管理员及用户本人查看。

兼容性:可运行在Windows7及以上操作系统中。

2.4 运行环境

本软件系统运行所需的硬件环境如下。

(1)主机类型

应用服务器:Tomcat7.0

数据库服务器:MySQL5.7

工作站:Dell Inspiron 5521,8192M RAM

(2)网络类型

以太网

(3)存贮器容量

应用服务器:20G以上

数据库服务器:50G以上

(4)本系统主要设备包括系统主机、MySQL数据库、以太网、服务器等,设备分布图如图2.11所示。

在这里插入图片描述

图2.11 网络拓扑图

本软件系统运行所需的软件环境如下。

(1)操作系统

应用服务器:Windows NT Server 2003以上版本

工作站:windows XP以上

(2)数据库管理系统

MySQL 5.7

第3章 系统设计

3.1 技术路线

(1)JSP+JavaScript+AJAX

本系统选用JSP作为系统开发服务端的页面技术。使用JavaScript与之配合,使页面效果更加丰富,人机交互更加合理舒适。JSP全名为Java Server Pages,在传统的HTML元素页面中加入Java程序片段和JSP标签,就构成了JSP网页。Java程序用来实现与数据库的交互,实现创建动态网页的功能。

JavaScript是一种基于对象的,动态的客户端脚本语言。主要是为了解决服务器端语言遗留的速度问题,为客户提供更流畅的浏览效果。JQuery是一个JavaScript整合框架,也是基于JavaScript实现,里面提供了很多内置的方法,使用起来要更加方便,代码也更加简洁。

AJAX是一种实现异步通信的基于JavaScript和XML的动态网页技术,可以实现页面局部与后台进行交互的效果,不需要刷新页面,这样可以达到节约资源提高效率的目的。

(2)MVC设计模式

设计模式就是以前的开发人员解决问题的一些经验总结,在固定的场景下,可以直接把这种总结拿来用。本系统采用的是MVC设计模式,这种模式就是将代码进行模块化处理,将不同功能的代码分模块放在一起,使程序在后期维护起来更加方便。

模型层(M):M即Model,主要代表了业务数据和业务逻辑,业务逻辑对于其他模块来说是不可见的,当数据发生改变时,它会通知视图层,Model可以说是是应用程序的主体部分。

视图层(V):V即View,主要用于信息的显示,人机交互。在视图层上可以进行数据的处理,接受用户的请求。这儿用的是JSP来完成和实现的。

控制层©:C即Controller,用来调用模型处理业务请求、控制数据的展示。控制层是不做数据的处理的,它接收用户的请求,将信息传递给Model,由Model来调用相应的业务请求,根据请求调用相应的View,将信息显示出来。

MVC各层之间的关系如图3.1所示。

在这里插入图片描述

图3.1 MVC各层之间的关系

(3)SSH框架

SSH为Struts+Spring+Hibernate的一个集成框架,是一种应用比较广泛的Web应用开发框架。它的大概流程是:在表示层中,首先通过JSP实现页面的交互,负责请求和响应,然后Struts将接收到的请求委派给相应的Action处理。在业务层中,Spring容器负责向Action提供业务模型和该组件的数据操作组件(Dao)实现业务逻辑。在持久层中,使用Hibernate的XML映射和数据库进行交互,处理Dao的请求数据,并将处理的结果返回。SSH体现了MVC思想,并且具有良好的扩展性和可维护性。

3.2 软件体系结构设计

3.2.1 功能结构

根据需求调研结果确定本系统分为管理员模块跟普通用户模块,主要分为以下功能模块,系统功能结构如图3.2所示。

在这里插入图片描述

图3.2 系统功能结构图

3.2.2 系统架构

系统架构设计分为三个基础层级,通过有效的层级结构划分可以全面展现应用系统的设计思路。

数据层:数据层是整个系统与数据库进行交互的基础,分为存储层和访问层,对于访问层,将通过系统功能中的信息展示模块,供用户有效的对信息查询维护;对于存储层,进行合理的数据设计,从而更加合理有效的实现数据的存储管理。

应用层:应用层是整个系统业务流程正确的保障,分为控制层,业务层,实现层。 控制层接收页面请求和响应请求,业务层和实现层用来管理业务逻辑和实现流程,整体系统功能将通过页面展现,用户登录之后分别进入管理员门户和员工门户。

客户层:客户层主要是通过页面展示信息给用户,用户通过页面向后台发起请求,后台响应之后返回信息到页面。

部门工作管理系统系统架构图如图3.3所示。

在这里插入图片描述

图3.3 系统架构图

3.3 数据库设计

3.3.1 概念结构设计

本系统主要包括管理员、部门、员工、新闻、公告、留言、邮件、待办事宜、通讯录、考勤等实体。相关系统ER图如图3.4所示。

在这里插入图片描述

图3.4 系统ER图

3.3.2 表的详细设计

通过对领域对象、业务对象及对象间关联的分析,对本系统的数据库表进行了设计,一共包括管理员表、部门表、待办事宜表、员工信息表、公告表、留言表、新闻表、通讯录表、邮件表、考勤信息表如表3.1–表3.10所示。本系统数据库管理采用MySQL数据库系统。

(1)管理员表(t_admin)

管理员信息表主要用于保存系统管理员的信息,主要字段包括:管理员ID、登录账号、登录密码。表结构如表3.1所示。

表3.1 管理员信息表(t_admin)

列名 数据类型 长度 允许空 是否主键 说明

userId int 10 否 主键 管理员ID

userName varchar 50 是 否 账户

userPw varchar 50 是 否 密码

(2)部门表(t_ organization)

部门信息表用于记录系统所有部门的基本信息,主要字段包括部门ID,部门名称,部门介绍等,表结构如表3.2所示。

表3.2 部门信息表(t_organization)

列名 数据类型 长度 允许空 是否主键 说明

org_id int 10 否 主键 部门ID

org_name varchar 255 是 否 部门名称

org_description varchar 50 是 否 部门介绍

(3)待办事宜表(t_ daibanshiyi)

待办事宜表用于员工记录工作内容,主要字段包括ID,事宜标题,事宜内容,记录日期,相关员工ID,表结构如表3.3所示。

表3.3 待办事宜表(t_ daibanshiyi)

列名 数据类型 长度 允许空 是否主键 说明

daibanshiyi_id Int 11 否 主键 事宜ID

daibanshiyi_title Varchar 50 是 否 事宜标题

daibanshiyi_content varchar 50 是 否 事宜内容

daibanshiyi_date varchar 50 是 否 记录日期

daibanshiyi_yuangong_id int 11 是 否 员工ID

(4)员工信息表(t_yuangong)

员工信息表用于记录系统所有员工的基本信息,主要字段包括自动编号,员工姓名,员工性别,员工年龄,员工学历,员工职位,员工地址,员工联系电话,员工邮箱,权限,登录账号,登录密码,部门id,用户类型等,表结构如表3.4所示。

表3.4 员工信息表(t_yuangong)

字段名 类型 长度 是否为空 是否主键 说明

yuangong_id int 10 否 主键 员工ID

yuangong_name varchar 255 是 否 员工姓名

yuangong_sex varchar 255 是 否 员工性别

yuangong_age int 10 是 否 员工年龄

yuangong_xueli varchar 50 是 否 员工学历

yuangong_zhiwei varchar 50 是 否 员工职位

yuangong_address varchar 50 是 否 员工地址

yuangong_tel varchar 50 是 否 员工电话

yuangong_email varchar 50 是 否 员工邮箱

quanxian varchar 20 是 否 权限

yuangong_login_name varchar 50 是 否 登录账号

yuangong_login_Pw varchar 50 是 否 登录密码

yuangong_org_id int 10 是 否 部门id

type varchar 50 是 否 用户类型

(5)公告表(t_gonggao)

公告表用于记录管理员发布的公告的基本信息,主要字段包括ID,标题,内容,发布日期等,表结构如表3.5所示。

表3.5 公告表(t_ gonggao)

字段名 类型 长度 是否为空 是否主键 说明

gonggao_id int 11 否 主键 公告ID

gonggao_title varchar 50 是 否 标题

gonggao_content varchar 255 是 否 内容

gonggao_data varchar 50 是 否 发布日期

(6)留言表(t_liuyan)

留言表用于记录所有用户留言的基本信息,主要字段包括ID,标题,内容,日期,留言用户等,表结构如表3.6所示。

表3.6 留言表(t_ liuyan)

字段名 类型 长度 是否为空 是否主键 说明

liuyan_id int 11 否 主键 ID

liuyan_title varchar 50 是 否 标题

liuyan_content varchar 255 是 否 内容

liuyan_date varchar 50 是 否 日期

liuyan_user varchar 50 是 否 留言用户

(7)新闻表(t_news)

新闻表用于记录管理员发布的新闻的基本信息,主要字段包括ID,标题,内容,发布日期等,表结构如表3.7所示。

表3.7 新闻表(t_ news)

字段名 类型 长度 是否为空 是否主键 说明

news_id int 11 否 主键 ID

news _title varchar 50 是 否 标题

news _content varchar 255 是 否 内容

news _date varchar 50 是 否 发布日期

(8)通讯录表(t_tongxunlu)

通讯录表用于员工个人通讯录的基本信息,主要字段包括ID,姓名,公司,手机,邮箱,员工编号等,表结构如表3.8所示。

表3.8 通讯录表(t_ tongxunlu)

字段名 类型 长度 是否为空 是否主键 说明

id int 11 否 主键 ID

xingming varchar 50 是 否 姓名

gongsi varchar 50 是 否 公司

shouji varchar 50 是 否 手机号

youjian varchar 50 是 否 邮箱

续表3.8 通讯录表(t_ tongxunlu)

字段名 类型 长度 是否为空 是否主键 说明

yuangong_id int 50 是 否 员工ID

(9)邮件表(t_youjian)

邮件表用于记录员工邮箱的信息,主要字段包括ID,标题,内容,附件,附件名,发件日期,发件人,收件人等,表结构如表3.9所示。

表3.9 邮件表(t_youjian)

字段名 类型 长度 是否为空 是否主键 说明

youjian_id int 11 否 主键 ID

youjian_title varchar 50 是 否 标题

youjian_content varchar 255 是 否 内容

fujian varchar 50 是 否 附件

fujianYuanshiming varchar 50 是 否 附件名

youjian_date varchar 50 是 否 发件日期

youjian_from_userId Int 11 是 否 发件人

youjian_to_userId int 11 是 否 收件人

(10)考勤信息表(t_qiandao)

考勤信息表用于记录系统所有员工的签到考勤信息,主要字段包括签到ID,员工ID,签到日期,签到时间,表结构如表3.10所示。

表3.10 考勤表(t_ qiandao)

字段名 类型 长度 是否为空 是否主键 说明

id int 11 否 主键 签到ID

yuangong_id int 11 否 否 员工ID

riqi varchar 255 是 否 签到日期

shijian varchar 225 是 否 签到时间

3.4 对象设计

本系统主要分为管理员和员工两类用户,以下是两个用户的功能:

管理员的功能包括:管理员登录,部门信息管理,员工信息管理,新闻公告管理,考勤信息管理,留言板管理,系统信息管理。

员工用户的功能包括:个人事宜管理,考勤,新闻公告浏览,邮箱管理,使用留言板,修改密码等,以下对各个模块进行详细设计。

3.4.1 添加员工用例对象设计

(1)用例实现

系统管理员登录进入管理员界面,选择员工管理,点击添加员工按钮,弹出信息录入界面,输入信息并提交,系统提示添加成功,跳转到员工信息页面展示信息。

添加员工用例的实现顺序图如图3.5所示。

在这里插入图片描述

图3.5 添加员工用例顺序图

(2)设计类图

根据顺序图的分析得到添加员工用例的设计类图,如图3.6所示。

在这里插入图片描述

图3.6 添加员工用例的设计类图

(3)描述

类图中TYuanggong类的描述如表3.11所示。

表3.11 TYuanggong类的描述

类名 属性/方法 描述

TYuanggong -yuangongId 员工ID

-yuangongName 员工姓名

-yuangongSex 员工性别

-yuangongAge 员工年龄

-yuangongXueli 员工学历

-yuangongZhiwei 员工职位

-yuangongAddress 员工地址

-yuangongTel 员工电话

-loginName 登录名

-loginPaw 登录密码

-OrgId 部门ID

类图中TyuangongDao类的描述如表3.12所示。

表3.12 TyuangongDao类的描述

类名 属性/方法 描述

TyuangongDao + save (TAdmin transientInstance) 添加员工

+ delete (TAdmin persistentInstance) 删除员工

+ findById (java.lang.Integer id) 查找员工

类图中YuangongAction类的描述如表3.13所示。

表3.13 YuangongAction类的描述

类名 属性/方法 描述

YuangongAction -yuangongId 员工ID

-yuangongName 员工姓名

-yuangongSex 员工性别

-yuangongAge 员工年龄

-yuangongXueli 员工学历

-yuangongZhiwei 员工职位

-yuangongAddress 员工地址

-yuangongTel 员工电话

-loginName 登录名

-loginPaw 登录密码

-OrgId 部门ID

+yuangongAdd( ) 添加员工

3.4.2 删除部门用例对象设计

(1)用例实现

管理员登录成功以后可以进入部门管理,点击查看到所有部门信息,对现有的部门可以进行删除操作。

删除部门用例的实现顺序图如图3.7所示。

在这里插入图片描述

图3.7 删除部门用例顺序图

(2)设计类图

根据顺序图的分析得到删除部门用例的设计类图,如图3.8所示。

在这里插入图片描述

图3.8 删除部门用例的设计类图

(3)描述

类图中OrganizationService类的描述如表3.14所示。

表3.14 OrganizationService类的描述

类名 属性/方法 描述

OrganizationService -organizationDAO 部门相关Dao

+ save (TOrganization transientInstance) 添加部门

+ delete (Integer depId) 删除部门

+ findAll () 查看所有部门

+ findById (java.lang.Integer id) 按id查找部门

类图中Torganization类的描述如表3.15所示。

表3.15 Torganization类的描述

类名 属性/方法 描述

Torganization -orgId 部门编号

-orgName 部门名

-orgDescription 部门描述

- parenOrganization 上级部门

类图中TOrganizationDAO类的描述如表3.16所示。

表3.16 TOrganizationDAO类的描述

类名 属性/方法 描述

TOrganizationDAO + save (TOrganization transientInstance) 添加部门

+ delete (TOrganization persistentInstance) 删除部门

+ findById (java.lang.Integer id) 按id查看部门

+ findAll () 查看所有部门

类图中OrgAction类的描述如表3.17所示。

表3.17 OrgAction类的描述

类名 属性/方法 描述

OrgAction -depId 部门编号

-orgName 部门名

-orgDescription 部门描述

+orgMana() 管理部门

+ addOrg () 添加部门

+ orgAll () 查看所有部门

+ delOrg () 删除部门

3.4.3 发送邮件用例对象设计

(1)用例实现

员工登录进入普通用户界面,选择邮箱管理,点击发送邮件,弹出邮件编辑界面,输入信息并提交,系统提示发送成功,邮件保存到发件箱,收件人用户登录之后在发件箱能够收到邮件。

发送邮件用例的实现顺序图如图3.9所示。

在这里插入图片描述

图3.9 发送邮件用例顺序图

(2)设计类图

根据顺序图的分析得到发送邮件用例的设计类图,如图3.10所示。

在这里插入图片描述

图3.10 发送邮件用例设计类图

(3)描述

类图中Tyoujian类的描述如表3.18示。

表3.18 Tyoujian类的描述

类名 属性/方法 描述

Tyoujian - oujian 员工ID

- oujianTitle 员工姓名

- oujianContent 员工性别

- fujian 员工年龄

续表3.18 Tyoujian类的描述

类名 属性/方法 描述

Tyoujian - jianyuanshiming 员工学历

-youjianDate 员工职位

-youjianFromUserId 员工地址

-youjianToUserId 员工电话

-del 登录名

类图中TyoujianDao类的描述如表3.19示。

表3.19 TyoujianDao类的描述

类名 属性/方法 描述

TyoujianDao + save (Tyoujian tansientInstance) 发送邮件

+ delete (Tyoujian persistentInstance) 删除邮件

+ findById (java.lang.Integer id) 查询邮件

类图中youjianAction类的描述如表3.20所示。

表3.20 youjianAction类的描述

类名 属性/方法 描述

youjianAction -youjianId 邮件ID

-youjianTitle 邮件标题

-youjianContent 邮件内容

-fujian 附件

-fujianYanshiming 邮件名

-youjianDate 发件日期

-youjianFromUserId 发件人

-youjianToUserId 收件人

-yuangongDao 员工Dao

-youjianDao 邮件Dao

+youjianAdd() 发送邮件

+youjianFromMy() 发件箱

+youjianToMy() 收件箱

+youjianDel() 删除邮件

第4章 系统实现

4.1 核心功能实现

部门工作管理系统的核心业务是管理员对部门的管理,员工的管理,新闻公告发布,还有员工之间相互的交流,比如邮箱管理和留言板的功能。

4.1.1 添加员工信息的实现方案

管理员输入用户信息,并且通过表单提交到yuangongAction的yuangongAdd方法,然后将数据传递给TYuangongDAO,基于Spring跟Hibernate的配置,直接调用TYuangongDAO中的save方法,添加员工信息,期间不需要执行Sql语句,在xml文件中映射实体类和其对应表,Hibernate自动将数据插入交给相应字段,执行操作。

输入员工信息如图4.1所示。

在这里插入图片描述

图4.1 输入用户信息界面

添加成功提示如图4.2所示。

在这里插入图片描述

图4.2 添加成功提示界面

自动返回到员工信息页面如图4.3所示。

在这里插入图片描述

图4.3 员工信息展示页面

根据上面的描述,截取了部分的代码如下:

yuangongAction类:

TYuangong yuangong=new TYuangong();

yuangong.setYuangongName(yuangongName);

yuangong.setYuangongSex(yuangongSex);

yuangong.setYuangongAge(yuangongAge);

yuangong.setYuangongXueli(yuangongXueli);

yuangong.setYuangongZhiwei(yuangongZhiwei);

yuangong.setYuangongAddress(yuangongAddress);

yuangong.setYuangongTel(yuangongTel);

yuangong.setYuangongEmail(yuangongEmail);

yuangong.setYuangongQq(yuangongQq);

yuangong.setYuangongLoginName(yuangongLoginName);

yuangong.setYuangongLoginPw(yuangongLoginPw);

yuangong.setYuangongOrgId(yuangongOrgId);

yuangong.setType(“yuangong”);

yuangong.setDel(“no”);

yuangongDAO.save(yuangong);

this.setMessage(“操作成功”);

this.setPath(“yuangongMana.action”);

return “succeed”;

TYuangongDAO类:

log.debug(“saving TYuangong instance”);

try{

//insert into tb(name,age) values(?,?)

getHibernateTemplate().save(transientInstance);

log.debug(“save successful”);

} catch (RuntimeException re){

log.error(“save failed”, re);

throw re;

}

Hibernate 自动生成SQL语句,如图4.4示。

在这里插入图片描述

图4.4 Hibernate生成SQL语句

4.1.2发送邮件的实现方案

用户进入邮箱管理页面,点击写邮件,进入邮件编辑页面,选择发件人,其实是选择员工Id,然后通过Id将邮件添加到收件人的收件箱中,这儿执行的是youjianAction的youjianAdd方法,然后将数据传递给TYoujianDAO,基于Spring跟Hibernate的配置,直接调用TYoujianDAO中的save方法,同时添加到发件人的发件箱中,实现类似邮件收发的效果。

邮件编辑界面如图4.5所示。

在这里插入图片描述

图4.5 邮件编辑界面

发送成功,发件箱如图4.6所示。

在这里插入图片描述

图4.6 发件箱界面

登录收件人账号打开收件箱界面如图4.7所示。

在这里插入图片描述

图4.7 收件人收件箱页面

根据上面的描述,截取了部分的代码如下:

youjianAction类:

Map session= ServletActionContext.getContext().getSession();

TYuangong yuangong=(TYuangong)session.get(“yuangong”);

TYoujian youjian=new TYoujian();

youjian.setYoujianToUserId(youjianToUserId);

youjian.setYoujianContent(youjianContent);

youjian.setYoujianTitle(youjianTitle);

youjian.setFujian(fujian);

youjian.setFujianYuanshiming(fujianYuanshiming);

youjian.setYoujianFromUserId(yuangong.getYuangongId());

youjian.setYoujianDate(new Date().toLocaleString());

youjian.setDel(“no”);

youjianDAO.save(youjian);

this.setMessage(“邮件发送成功”);

this.setPath(“youjianFromMy.action”);

return “succeed”;

4.1.3添加公告,新闻的实现方案

管理员进入新闻管理跟公告管理页面,点击添加按钮,输入新闻或者公告内容,通过表单传递给后台,这儿执行的是newsAction的newsAdd方法和gonggaoAction的gonggaoAdd,然后将数据传递给TNewsDAO和TGonggaoDAO,基于Spring跟Hibernate的配置,直接调用TNewsDAO中的save方法和TGonggaoDAO的save方法,执行添加操作,展示到页面,供用户浏览。

已发布新闻界面和已发布公告界面如图4.8和4.9所示。

在这里插入图片描述

图4.8 已发布新闻界面

在这里插入图片描述

图4.9 已发布公告界面

添加新闻与添加公告界面如图4.10和4.11所示。

在这里插入图片描述

图4.10 添加新闻页面

在这里插入图片描述

图4.11 添加公告页面

根据上面的描述,截取了部分的代码如下:

TNewsDAO类:

try{

getHibernateTemplate().save(transientInstance);

log.debug(“save successful”);

} catch (RuntimeException re){

log.error(“save failed”, re);

throw re;

}

TGonggaoDAO类:

try{

getHibernateTemplate().save(transientInstance);

log.debug(“save successful”);

} catch (RuntimeException re){

log.error(“save failed”, re);

throw re;

}

4.1.4留言板的实现方案

管理员进入留言板管理,自己可以参与留言,可以查看当前所有用户留言,可以删除员工的违规留言,通过TLiuyanDAO里面的sava、delete、find方法实现。

留言板界面如图4.12所示。

在这里插入图片描述

图4.12 留言板界面

根据上面的描述,截取了部分的代码如下:

TLiuyanDAO类:

try{

getHibernateTemplate().save(transientInstance);

log.debug(“save successful”);

} catch (RuntimeException re){

log.error(“save failed”, re);

throw re;

}

try{

getHibernateTemplate().delete(persistentInstance);

log.debug(“delete successful”);

} catch (RuntimeException re){

log.error(“delete failed”, re);

throw re;

}

try{

String queryString = “from TLiuyan”;

return getHibernateTemplate().find(queryString);

} catch (RuntimeException re){

log.error(“find all failed”, re);

throw re;

}

4.2 关键技术难点与解决方案

(1)用户未登录状态也能够访问到其他页面,使用过滤器,过滤出登录页面以外的所有页面,当登录成功的时候,将用户名保存到session里面,当用户访问每一个页面的时候,过滤器会先遍历session,判断是否存在当前用户名,如果存在,才能访问到目标页面。

(2)参考SSH项目框架,同时在网上查阅相关配置教程,搭建SSH框架。截取部分代码如下:

Struts2:

/admin/yuangong/yuangongMana.jsp

application/vnd.ms-excel

attachment;filename=“${filename}”

inputStream

4094

/admin/zhaopin/zhaopinMana.jsp

/admin/zhaopin/zhaopinLuyong_re.jsp

Hibernate:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

面试了阿里,滴滴,网易,蚂蚁,最终有幸去了网易【面试题分享】

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
sp

/admin/zhaopin/zhaopinLuyong_re.jsp

Hibernate:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-dQDEVTGQ-1713608554003)]

[外链图片转存中…(img-uXG7UoDD-1713608554004)]

[外链图片转存中…(img-C2c9jHjs-1713608554004)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

[外链图片转存中…(img-yb9qdRo3-1713608554005)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 25
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值