网上人才招聘系统

网上人才招聘系统[java毕业论文下载]

招聘系统

摘  要

随着信息技术的发展,网络在人们生活和交际中的应用越来越广泛。 招聘网站为应聘者提供了方便、快捷的应聘途径。对招聘单位来说,招聘网站也为他们提供了查询、检索应聘者信息的平台,使招聘工作变得轻松易行。应聘者和招聘公司/单位可以在网上通过Internet,突破时间和空间的限制实现工作求职和公司/单位的人才招聘。网上招聘与传统招聘相比具有招聘范围广,信息量大,可挑选余地大,有大量素质高、技术高的应聘人员,招聘效果好,费用低的优势,因此获得了越来越多公司的认可,同时它有着经营成本低、库存虚拟、用户检索方便、地域限制少等特点。

本系统是使用MS.NET平台中的ASP.NET开发基于B/S体系结构的Web应用程序,在Microsoft Visual Studio .NET 环境下,使用 C# 编程语言并结合Microsoft SQL Server 2000 数据库开发的一套网络招聘系统。可以根据登录身份而行使不同的权限实现了用户注册、登录、验证身份及用户数据的采集、搜索/查看用户信息,站内最新新闻信息发布。个人用户把简历提交给自己合意公司,企业用户通过简历提取自己合意人员的联系方式,管理员管理整个网站。

 

关键词网上招聘;求职;ASP.NET;B/S体系;新闻发布

 

On-line Talent person employment advertise

System 

Abstract

Along with the development of information technology, the application of network is more and more widespread in the people’s lives and the human relations. Recruitment Website provides the convenient and quick way for the applicant to find a job. Say to the employment advertise unit that, Recruitment Website also provides the platform for them to search and inquiry the applicant’s information, which causes the employment work to be relaxed and easy. The applicant and the employment advertise company/unit may through the Internet can seek employment and to employ talented person breakthrough time and the spatial limit. The on-line employment advertises compares with the traditional employment advertises, which have the employment advertise scope broadly ,information content largely, choose the leeway in a big way, the applicants who respond to a call for job has the high quality and well skilled, the employment advertise has the superiority of effect well, expense low, therefore it has obtained  more and more companies approval, simultaneously it has characteristics of the cost of operation lowly, the stock hypothesized, the user retrieval is convenient, the region limits few and so on.

  This system is a web application procedure, based on the the system structure of B/S, uses the ASP.NET which in MS.NET platform to develop. Under the Microsoft Visual Studio NET environment, uses the C# programming language and unifies Microsoft SQL the Server 2,000 databases to develop a set of networks employment advertise system. According to registers’s status that is allowed to act the different jurisdiction to realize the user’s registration, to land, to confirm status and gather users’ data, the search/examinee users’ information, the newest news information was issued in the website. Individual user submits the resume for oneself to one’s Satisfying company, the enterprise user withdraws the satisfying application's contact us through the resume; the manager manages the entire website.

 

Key words: the on-line employment advertises; seeks employment; ASP.NET; the B/S system; the news issue

 


目  录

     论文总页数:27页

1 引言 1

1.1 课题背景 1

1.2 本课题研究路线 1

1.3 本课题研究的意义 1

2 网络招聘系统研究概述 2

2.1 网络招聘的发展史 2

2.2 我国网络招聘的发展现状 2

2.3 网络招聘求职的作用和优势 3

2.4 网络招聘存在的问题 3

3 系统需求分析 3

3.1 功能和需求分析 3

3.2 系统的结构和流程设计 4

3.3 数据库结构设计 6

3.3.1 数据表的设计 6

3.3.2 存储过程的设计 9

4 系统配置和通用模块介绍 10

4.1 Web.config配置 10

4.2 用于操作数据库的通用模块 10

4.3 管理员模块设计与实现 13

4.3.1 注册界面设计 13

4.3.2 登录界面设计 14

4.3.3 主界面设计 15

4.3.4 撰写新闻界面设计 16

4.3.5 新闻管理界面设计 17

4.3.6 个人用户管理界面设计 19

4.4 个人用户模块设计 20

4.4.1 个人基本信息界面设计 20

4.4.2 查看招聘信息和在线提交简历 21

4.5 企业用户模块设计 22

4.5.1 企业收藏夹 23

4.5.2 查看求职信息列表 23

4.6 新闻模块设计 24

4.6.1 浏览新闻界面 24

结    论 24

参考文献 25

致    谢 26

声    明 27

 

 

引言

1.1  课题背景

在当前的市场环境中,随着社会的进步和技术的发展,知识经济也在迅猛发展,市场的竞争在很大程度上体现为人才的竞争。从而,找到合适的人才,成为企业提高竞争力的重要方法。同时,当今的市场环境又是一个快速变化的环境,市场需求在变,对人才的需求也相应处于变化之中。如何能快速适应这一变化,提高人才招聘流程的工作效率,进行快速定位,也就成为人才招聘公司/单位重点考虑的因素。

无论是对于企业的人力资源联系方式的招聘服务,还是职业中介的跨地域提供的人才需求信息,或是对外的劳务输出等等。作为一种服务类型,其服务对象均包含需方驱动特点。其所达到的招聘人员的效率和效果是其存在的价值和理由。对于中介服务的另一个服务对象即供方,寻求合适一定工作的各地人士。也同样关注是否能快速获得职位需求信息和条件要求等等。所有这些,都产生着对招聘信息系统的需求。

因此,根据市场对于人才招聘的需求,现开发‘网上人才招聘系统’。它具有的方便快捷的招聘/求职的专业业务流程,有效地提高人才招聘工作效率。

1.2  本课题研究路线

本网上招聘系统在管理中实现面对单个公司/用户注册后就能轻松的建立起自己个人的网上资料站点,公司将公司的情况,所要的招聘岗位等一些有关情况,详细的列出。应聘者通过此可轻松了解公司情况,便更容易找到自己适合的工作。同时应聘者可以轻松把自己的简历传到自己的网上存储资料站点或发到公司的网上招聘存储资料站点。公司可以分类,分别管理,能系统的,清晰的知道每个应聘者的详细情况,以便可以挑选出最合适的人、最好的利用人才,创造最大的价值。

1.3 本课题研究的意义

当今社会,很多有才能的人不能找到适合自己的工作,而公司又不能招聘到所需的人才。在人才市场求职过程中,应聘者通过简单的文字图表,无法全面了解公司的情况,同样公司通过个人简介也不能全面了解人才的全部。并且人才招聘市场经常是人山人海,“各式各样”的用人公司/单位又让人眼花缭乱,应聘到一个好的适合自己的公司得费好多时间和精力。再加上人才市场人才众多,应聘者的简历堆积如山,没有时间一一详看,公司也不好对应聘者的简历进行管理,出现少 、漏等现象,有一些应聘者的简历没有看就被堆在一边,让很多适合做这项工作的人就无法应聘到该职位。面对传统招聘这种陷缺,网络招聘很好的解决了这些问题。

网络招聘系统研究概述

2.1 网络招聘的发展史

网络招聘求职方式已经成为了招聘求职的一大重要手段,其招聘求职规模和招聘求职成功率已直逼传统招聘会,有的甚至超过了传统招聘会。一两年前还处于新兴地位的网络招聘求职方式已经名符其实地走向了招聘求职的主流地位。网络招聘求职的快速发展,与网络招聘求职平台的建设和发展有着很大的关系。当然网络招聘求职的人群快速膨胀也促进了网络招聘求职平台的发展。这与市场上的生产和消费两者关系完全类似,消费促进生产,生产带动消费。

根据美国IDC公司的调查结果,2001年全球的网络招聘市场扩大了53%,就已经达到28亿美元的规模。IDC的高级分析师Marc Pramuk曾经表示:“从网络招聘市场扩大的事实可以看出,招聘服务市场正在发生根本的变化。”由于“雇用方正在寻找比传统的招聘方法更迅速、更廉价的招聘适当人选的方法”,因此到2006年,在经历连续几年超过40%的速度迅猛增长后,全球网络招聘市场的业务规模将超过157亿美元。

据介绍,在美国、日本和欧洲等互联网普及程度高的发达国家,自上世纪90年代初互联网出现以来,网络已经成为人才进行流动的最主要渠道,而那些单纯为企业、个人提供单一集会式招聘服务的人才市场几乎已经绝迹。

2.2 我国网络招聘的发展现状

如果说没有那场“非典”灾难,或许到现在,网络招聘求职还最多只能说成是招聘求职方式的重要补充。正是这场突入其来的灾难,让网络招聘求职方式已经成为了招聘求职的一大重要手段,其招聘求职规模和招聘求职成功率已直逼传统招聘会,有的甚至超过了传统招聘会。一两年前还处于新兴地位的网络招聘求职方式已经名符其实地走向了招聘求职的主流地位。

如果把时间往后推几年,国内招聘求职平台仅仅只有全国性的几家专业招聘求职网站,短短地三年间,全国的招聘求职网站已发展超过了1000个。伴随着我国企业信息化程度的日益提高和互联网家庭用户的迅猛增长,网络以成为越来越多企业、人才进行招聘和求职的最重要手段。而随着国内劳动力的增多、国内企业的国际化及国内网络的更加普及,网络招聘求职的主流地位将会越来越火。但网络招聘求职也不会像有的人说的那样将取代传统招聘会。在国外,都是将网络招聘与传统的招聘方式结合,构建一整套完善、多元的人才交流体系。而对于国内的情况,两种方式各有优势,对传统行业的招聘,如公交车司机、饭店侍者等服务业现场招聘可能更有效,而IT、电子等现代行业的招聘,网上招聘效果就会更好。所以在今后很长的时间内,网络招聘求职和传统招聘求职将并行发展,谁也不会取代谁。  

2.3 网络招聘求职的作用和优势

在求职的眼中,通过网络求职具有以下几个其它方式所不能及的作用和优势:其一、信息量大且更新快。这么大的求职队伍,招聘职位数量显然很吸引求职者的眼球,在人才网站里,可以随时查询数万条信息,而且信息更新速度很快,每天更新的职位都很多,关注招聘网站就能够第一时间掌握用人单位的需求;其二、招聘网络平台功能强大,提高效率。通过招聘网站可以轻松地对工作类别、地区和需求等条件进行全方位智能查询,快速准确地查询到所需要的包括行业、职能、工作地点、工资等信息,当查询到合适的招聘职位后还可以直接通过网站把简历提交给招聘单位,很大程度上节省了求职者的时间;其三、求职无地域限制。无地域限制无疑给求职者创造更多的就业机会,特别是对于异地求职者,如果采取传统的求职方式,恐怕还得来回奔波于两个城市之间。而且对于一般院校学生亲临知名企业校园招聘现象的机会也不是很多,但如果通过网络就可以获取与其它求职者同等竞争的机会;其四、经济实惠。如果通过现场招聘会求职,求职者要花不少钱制作精美的简历,外加交通、通讯等费用,而这些在网络求职中都可免去。而且各个证书只要一次扫描到计算机里,就可以发给多家网络招聘单位,免去了印刷的高成本费用。

正是网络求职具备上述几大优势和逐渐提高的求职成功率,因而受到了广大求职者的青睐。或许也正是求职者对网络求职的热捧,网络求职也变得也越来越火。

2.4 网络招聘存在的问题

网络招聘虽然发展很快,前景广阔,但也面临着一些问题:网络招聘的可信度不高,“成交率”颇低。究其原因,主要是招聘应聘双方都不够诚信。由于网上招聘,用人单位与求职者不见面,彼此只能通过电子简历来完成首次面试,于是一些求职者就肆无忌惮地给自己“镀金”:有的只是中专文凭,却毫无顾忌地在电子简历上填上“大学本科毕业”;有的连四级考试都没有通过,简历上却赫然写着“达到六级水平”。同时简历多次重复发送是网络招聘中的一个普遍问题。

系统需求分析

1.1 功能和需求分析

首先根据使用该系统的用户的角色的不同分为三种不同用户:

系统管理员:负责管理网站上的各种信息,包括发布新闻,管理新闻和查看删除所有的个人用户和企业用户。

个人用户:可以在线填写个人基本情况、发布求职信息、浏览新闻、查看招聘和求职信息,在线向自己满意的公司提交简历,在个人收藏夹里查看自己提交简历到哪几个公司。

企业用户可以在线填写企业基本情况,发布企业招聘信息,浏览新闻,查看求职和招聘信息,在线查看和管理个人用户提交的简历功能。根据简历提取符合本公司人员的联系方式。

系统进行功能模块,主要分为用户管理、个人用户、企业用户和管理员四个模块,每个模块又分为若干功能模块,如图1所示: 

图1系统功能模块图

1.2 系统的结构和流程设计

进入网站后,首先是登录界面,已经注册的用户可以直接登录,系统将根据用户选择区分是个人用户还是企业用户,个人用户又分为管理员和普通用户,系统根据用户的不同将用户分别链接到各自的主界面下。没有注册的用户可以单击链接到注册界面,并选择是个人用户还是企业用户以完成注册,最后链接到各自的用户界面。其过程模块图如图2所示:

图2 登录和注册过程模块图

这里没有管理员用户的注册,由于管理员用户是不能随便注册的,他的登录所需要的信息在web.config文件中配置,而不用通过系统注册界面。

个人用户工作流程功能模块图如图3所示:

 

图3个人用户工作流程模块图

企业用户的模块图如图4所示:

        

图4 企业用户模块图

管理员管理流程模块图如图5所示:

图5 管理员管理流程模块图

在实现中,它们可以使用同样的超链接,而没有必要重复编写功能基本一样的界面,而是可以根据用户的不同,给页面不同的权限。

1.3 数据库结构设计

1.3.1 数据表的设计

新闻信息表news、个人用户表person、企业用户表company、个人简历表getJobInfo、招聘信息表giveJobInfo、在线申请表resume,下面分别介绍这些表的结构。

(1)新闻信息表保存了该网站上所有新闻,包括新闻标题、来源,发布时间,主要内容等,主键Id,具体的描述如表1所示:

表1 表news的结构

编号

字段名称

数据结构

必填字段

说明

Id

Int

是(主键)

新闻编号

Title

Varchar(100)

新闻标题

Source

Varchar(30)

新闻来源

publicDate

Datetime

发布时间

Content

Text

新闻内容

Picture

Image

新闻图片

hits

int

新闻单击次数

(2)个人用户表保存了所有个人用户的用户名、密码、E_mail等基本用户信息,如表2所示:

表2 表person的结构

编号

字段名称

数据结构

必填字段

说明

personID

int

是(主键)

用户编号

Name

Varchar(50)

是(外键)

用户名

Password

Varchar(50)

用户密码

email

Varchar(50)

电子邮箱

(3)企业用户表保存了所有企业用户的用户名、密码和Email等基本用户信息。如表3所示:

表3 表company的结构

编号

字段名称

数据结构

必填字段

说明

companyID

int

是(主键和外键)

用户编号

Name

Varchar(50)

用户名

Password

Varchar(50)

用户密码

email

Varchar(50)

电子邮箱

(4)个人简历表保存了用户的个人基本信息如姓名、性别等,还有与求职相关的各种信息,如工作经验,所求职位等。它通过外键personID与表person相关联,与表person是一对一的关系,也就是一个人只能登录一份简历。表的具体内容如表4所示:

表4 表getJobInfo的结构

编号

字段名称

数据结构

必填字段

说明

getJobInfo

int

是(主键)

求职信息编号

personID

int

是(外键)

用户编号

name

Varchar(10)

用户名

Sex

Varchar(5)

性别

Email

Varchar(50)

电子邮件

Phone

Varchar(20

电话

address

Varchar(50)

地址

addrNum

Varchar(50)

邮政编码

Education

Varchar(50)

教育程度

10

Strong

text

特长

11

Experience

Text

工作经验

12

Introduction

Text

自我介绍

13

Type

Varchar(50)

工作类型

14

workPosition

Varchar(50)

工作职位

15

workCity

Varchar(50)

工作城市

16

Wage

Varchar(50)

期望工资

17

Other

Text

其他

18

pulicTime

DateTime

发布时间

19

lookTimes

Int

单击次数

(5)表giveJobInfo保存了企业发布招聘信息,包括工作要求、工作地点、招聘人数等信息,它通过与外键与company表相连,一个企业用户与一条招聘信息表相连,但是在里面可以发布不同的招聘职位和相关要求。表的具体结构如表5所示:

表5 表giveJobInfo的结构

编号

字段名称

数据结构

必填字段

说明

giveJobInfo

int

是(主键)

招聘信息编号

companyID

int

是(外键)

公司编号

companyName

Varchar(10)

公司名称

vocation

Varchar(5)

公司类型

Email

Varchar(50)

电子邮件

Phone

Varchar(20

电话

address

Varchar(50)

地址

addrNum

Varchar(50)

邮政编码

Workposition

Varchar(50)

工作职位

10

giveNum

varchar

招收人数

11

workCity

Text

工作城市

12

descripe

Varchar(50)

工作描述

13

request

Varchar(50)

工作要求

14

pulicTime

DateTime

发布时间

15

lookTimes

Int

单击次数

(6)在线申请表包括申请人的ID、名称,以便企业用户可以通过申请表中的personID查看到申请人的个人简历。它通过外键personID和外键companyID 分别与表person和表company联系。它实际上提供了个人和企业的交互,具体内容如表6 所示:

 

 

 

 

表6 表resume的结构

编号

字段名称

数据结构

必填字段

说明

resumeID

Int

是(主键)

提交简历编号

personID

Int

是(外键)

个人编号

companyID

Int

是(外键)

企业编号

personName

Varchar(50)

个人姓名

companyName

Varchar(50)

企业名称

CWorkPosion

Varchar(50)

招聘单位

PWorkPosion

Varchar(50)

应聘职位

1.3.2 存储过程的设计

(1)向news 表中添加新闻存储过程:

create Proc AddNewss

@titlevarchar(100),@sourcevarchar(30),@publicDate datetime,@content text,@hits int,@picture varchar(50) as insert into news(title,source,publicDate,content,hits,picture)

values(@title,@source,@publicDate,@content,@hits,@picture)

(2)创建个人简历的储存过程。

  个人基本信息如姓名性别的存储过程:

create proc updatePBaseInf

@personID int,@name varchar(10),@sex varchar(5),@email varchar(50),@phone varchar(20),@address varchar(50),@addNum varchar(10) as update getJobInfo set name=@name,sex=@sex,email=@email,phone=@phone,address=@address,addNum=@addNum where personID=@personID

求职有关信息如工作经验、所求职位的存储过程:

create proc updatePCareer

@personID int,@type varchar(50),@workPosition varchar(50),@workCity char(10),@wage varchar(50),@other text,@publicTime datetime,@lookTimes int as update getJobInfo set type=@type,workPosition=@workPosition,workCity=@workCity

wage=@wage,other=@other,publicTime=@publicTime,lookTimes=@lookTimes where personID=@personID

(3)创建企业发布招聘信息的存储过程。

企业基本信息如公司名称、地址的存储过程:

create proc updateCBaseInfo

@companyID int,@companyName varchar(50),@vocation varchar(50),@email varchar(50),@phone  varchar(50),@address  varchar(50),@addNum   varchar(50) as update giveJobInfo set companyName=@companyName,vocation=@vocation,email=@email,phone =@phone,address=@address,addNum=@addNum

where companyID=@companyID

企业发布招聘信息如工作要求、招聘人数的储存过程:

create proc updateCCareer

      @companyID int,@workPosition varchar(50),@giveNum varchar(50),

@workCity varchar(50),@describe  varchar(50),@request  text,

@publictime  datetime,@lookTimes int As update gieveJobInfo

 Set workPosition=@workPosition,giveNum=@giveNum,workCity= @workCity,describe=@describe,request=@request,publictime=

@publictime,lookTimes=@lookTimes where companyID=@companyID

系统配置和通用模块介绍

1.1 Web.config配置

ASP.NET提供了非常方便的Web.config配置文件来支持对网络应用程序的配置,可以帮助管理人员轻松,快速建立里自己的web 应用环境。

  web.config文件可以支持一个完全编译的应用程序的配置。这样做的优势在于,源代码对管理员是不可见的。这样保证了系统的安全性。

下面为本系统的web.config文件配置。

    <add key="strConnection" value="server=(local);initial catalog=hr;uid=sa;pwd= "/> //数据库连接

    <add key="aaa" value="aaa"/>  

  <authentication mode="Forms">

    <forms loginUrl="default.aspx" protection="All">//设置默认起始页面

     <user name="aaa" password="aaa"></user> //设置管理员账号和密码

2.5 用于操作数据库的通用模块

程序编写涉及大量与数据库有关的操作,为了便于开发和维护,可以把这些类数据库操作封装成一些类,然后页面操作可以直接调用这些类中的添加、查找或删除等函数。这体现了软件工程中代码复用的原则。

Base类在Base.cs文件中定义,是本系统中所有与数据库操作有关的类的基类,它定义了通用的数据库操作的几类函数。

namespace My.Hr.DbBase

{public abstract class Base

{protected static string strConn=ConfigurationSettings.AppSettings[“strCon”];

//调用web.confing文件中配置的数据库连接

protected static string strSQL;

private int m_ID;

private string m_Name;

public int ID

{ get {return m_ID; }

  Set {m_ID = value;} }

public string Name

{ get {return m_Name; }

  set {m_Name = value;}     }

下面的函数ExecuteSql代表了一类数据库的操作,也就是执行没有返回值的SQL语句。如果界面中的操作函数要执行一些无返回值的数据库操作,如插入、删除等只须调用这个函数,在strSQL中制定操作的字符串即可。

 protected static int ExecuteSql(string strSQL)

{SqlConnection myCn = new SqlConnection(strConn);

 SqlCommand myCmd = new SqlCommand(strSQL,myCn);

 try { myCn.Open();    //打开数据库

 myCmd.ExecuteNonQuery();   //执行无返回值的数据库操作

 return 0; }

 catch(System.Data.SqlClient.SqlException e)  //抛出异常

 { throw new Exception(e.Message);}

 finally{myCmd.Dispose();   //释放该组件占用的资源

 myCn.Close();    //操作完毕关闭连接 }

    }

函数ExecuteSqlEx()封装了返回值为DataReader类型的操作,如果以后有需要执行返回值DataReader的操作时,只需要调用这个函数即可。

 protected static int ExecuteSqlEx(string strSQL)

  {  SqlConnection myCn = new SqlConnection(strConn);

  SqlCommand myCmd = new SqlCommand(strSQL,myCn);

  Try {myCn.Open();

  SqlDataReader myReader = myCmd.ExecuteReader();

  if(myReader.Read())  //调用一次,只能返回一行数据记录

  {return 0;   //执行成功返回0 }  }}}

函数ExecuteSql4Ds()封装了返回值为DataSet类型的操作,这样如果以后有需要执行返回值DataSet的操作时候,只需要调用这个函数即可,而无须反复出现下面的这段代码。

 protected static DataSet ExecuteSql4Ds(string strSQL)

 { SqlConnection myCn = new SqlConnection(strConn);

Try {myCn.Open();

SqlDataAdapter sda = new SqlDataAdapter(strSQL,myCn);

DataSet ds = new DataSet("ds");

sda.Fill(ds);

return ds;}

函数ExecuteSql4Value()封装了返回值为int 类型的操作,这样如果以后有需要执行返回值int 的操作时,如返回具有所有用户的个数,或者企业应征者的个数等,只要调用这个函数即可。

 protected static int ExecuteSql4Value(string strSQL)

{ SqlConnection myCn = new SqlConnection(strConn);

SqlCommand myCmd = new SqlCommand(strSQL,myCn);

try {myCn.Open();

object r = myCmd.ExecuteScalar();//返回查询得到的对象

if(Object.Equals(r,null))//如果对象为空,抛出异常

{throw new Exception("value unavailable!"); }

else{  //否则返回得到的数值

return (int)r;//强制类型转换,将对象型变为整型返回 }}

catch(System.Data.SqlClient.SqlException e)

{throw new Exception(e.Message);}

finally { myCmd.Dispose(); myCn.Close(); }

     }   

函数ExecuteSqls()的功能是执行多条无返回值的SQL数据库操作,它的参数是一个字符串数组,每个字符串是一个SQL数据库脚本命令,如果都执行成功就返回0,它用到了SQLTransaction,先连续执行完字符串数组制定的一系列操作,然后再提交。如果这个过程出现异常,则需要将数据库回卷到原来的状态。

protected static int ExecuteSqls(string[] strSQLs)

{ SqlConnection myCn = new SqlConnection(strConn);

SqlCommand myCmd = new SqlCommand();

int j=strSQLs.Length;

try {myCn.Open(); }

catch(System.Data.SqlClient.SqlException e)

{throw new Exception(e.Message);}

SqlTransaction myTrans = myCn.BeginTransaction();

try { myCmd.Connection = myCn;

   myCmd.Transaction = myTrans;

foreach(string str in strSQLs)

{ myCmd.CommandText = str;

myCmd.ExecuteNonQuery(); }

   myTrans.Commit();  return 0; }

  catch(System.Data.SqlClient.SqlException e)

   { myTrans.Rollback();}}   

页面操作类还有person.cspersonstore.cs、company.cs、companystore.cs、news.cs等操作类。这些类实现各种功能,由页面调用。从而能实现页面和代码分离。

1.2 管理员模块设计与实现

管理员负责整个系统的个人用户、企业用户,以及新闻信息的管理,主要包括登录界面、主界面、新闻管理界面、个人用户管理界面和企业用户管理界面。

1.3.3 注册界面设计

在本系统中管理员用户的个人登录信息保存在web.config配置文件中,他和其他个人用户一样登录。整个系统注册部分的如图6所示。

本系统的注册比较简单,是为了减少繁冗的信息登记,方便用户登录。注册成功后才在属于自己的页面登记详细信息。注册表单提交后,服务器就会对提交的内容进行验证,如果填写错误的项要给出出错提示信息,并允许重新填写提交。这里需要用到requiredfieldvalidator控件,所有的输入框都需要这个验证控件,它用来验证输入都不能为空,comparevalidator 验证控件用来验证用来验证两次输入的密码是否相同。RequiredFieldValidator控件用来验证输入的邮箱是否合法.

 

图6 注册页面

该页面代码调用的是person类的add()方法,当个人用户注册时候就调用它。它先检查新注册用户名是否已经存在,如果存在抛出“This name was registered”异常,否则在表getJonInfo中插入新的表项,以便该用户登录后可以在线填写和提交简历。代码如下:

public void Add()

{ if(IsExist())

{throw new Exception("This name was registered!");}

else { strSQL = "Insert into person (Name,Password,Email) Values("+ "'" + this.Name + "',"+ "'" + Functions.Encrypt(this.Password,1) + "'," + "'" + this.Mail + "')"; //密码加密后再插入数据库。

try{ExecuteSql(strSQL); }

catch{throw new Exception("Register FAILED!");}

strSQL = "Select Max(personID) From person";

int personId;

try  {personId = ExecuteSql4Value(strSQL); }

catch{throw new Exception("Register FAILED!"); }

strSQL = "Insert into getJobInfo (personID) Values("+"'"+ personId.ToString() +"')";

try  {ExecuteSql(strSQL);}

catch{throw new Exception("Register FAILED!");} } 函数IsExist()被前面的Add()函数调用,用来检查person表中是否已经存在一个用户名,如果存在则返回true,否则返回false.代码如下:

 public bool IsExist()

{ strSQL = "Select personID from person Where Name=this.Name ";

      Try {ExecuteSql4Value(strSQL);return true;}

   Catch {return false;}

}

1.3.4 登录界面设计

用户登录需要验证用户的用户名和密码,从而保证用户可见和可使用的资源。管理员和其他用户的登录界面是一样的,都是根目录的default.aspx和default.aspx.cs 文件。邦定代码default.aspx.cs文件的关键部分是单击“登录”按钮后的相应函数,它根据用户名和密码,以及用户种类将界面重定向到各类用户的主界面上,登录界面调用了Person 和Company类的Login() 函数判断用户是否已经登录:

public bool Login()

{ strSQl=”Select personID from person where name=

”+this.Name”’+"AndPassword='"+ Functions.Encrypt(this.Password,1) +"'";

Try  {ExecuteSql4Value(strSQL); return true; }

catch {return false; } }

1.3.5 主界面设计

所有的用户公用一个主界面,即Home.aspx,管理员用户也不例外,只是在该界面中,对不同的用户提供了不同的链接。提供给管理员的链接有撰写新闻、管理新闻、管理个人用户和管理企业用户。其界面如图7:

 

图7 管理员主界面

Home.aspx中包含了两个frame,分别是页面首部的Top.aspx文件和下面主窗口Main.aspx文件。页面首部的Top.aspx 文件描述了一些所有用户都公用的功能,如浏览新闻、浏览招聘信息、浏览应聘信息等。也就是说,Top上对于链接对于所用用户都是可见的。表7给出了顶部菜单中的各个超链接所对应的文件。

表7 顶部菜单对应的超链接文件

超链接名称

链接文件

代码邦定文件

首页

Default.aspx

Default.aspx.cs

求职

GetJob.aspx

GetJob.aspx.cs

招聘

GiveJob.aspx

GiveJob.aspx.cs

新闻

Main.aspx

Main.aspx.cs

服务

Hr.asmx

Hr.asmx.cs

退出

Logout.aspx

Logout.aspx.cs

下面的主界面Main.aspx分别为两个Frame,左边Frame对应的文件是Left.aspx和它邦定代码Left.aspx.cs。它对应每一种特定的用户提供不同的选项,如前所述,对于管理员用户它提供了撰写新闻、新闻管理、个人用户管理和企业用户管理选项,对于个人用户它提供了填写个人信息、填写个人简历选项;对于企业用户,它提供了填写企业信息,发布招聘信息,以及查看招聘结果等选项。右部的窗口是主窗口,用于显示和编写各种信息,左部菜单中各个超链接对应的文件如表8所示。

网上人才招聘系统[点击下载]
  • 上一篇:
  • 下一篇:

评论