ASP网络求职招聘系统的设计与实现

Posted 阿星先森

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP网络求职招聘系统的设计与实现相关的知识,希望对你有一定的参考价值。

本文主要介绍了ASP,数据库等相关知识,同时较为详尽的阐述了网络求职招聘系统的实现。本系统是使用基于html语言,嵌套javascript源代码的ASP编程技术来开发,并以IIS为服务平台实现网络求职招聘系统的构建。后台数据库选用的是ACCESS,利用ASP 动态网页编程技术,通过ADO与ACCESS数据库建立链接,并且运用SQL语言实现对其数据库进行操作。

网络求职招聘即基于Web的求职招聘系统,是利用包含WWW各种特性和资源的超媒体求职招聘程序来创造一种有意义的求职招聘环境,在这种求职招聘环境中求职招聘得到促进和支持。随着Internet的普及,网络及其应用已经渗透到社会的各个领域,并发挥着越来越重要的作用。网络技术以及现代Web技术的发展,国家政策的扶持等给网络求职招聘带来了良好的发展契机。在这种情况下,开发了网络求职招聘系统。

    1. 1.1  研究现状

网络求职招聘系统是利用互联网技术进行的求职招聘活动,包括招聘信息和求职信息的发布、人才简历的搜集整理等。中国的网络招聘兴起于1997年,进入二十一世纪以后,随着中国互联网技术的不断提升和电脑网络的迅速逐步普及,网络求职招聘在中国得到了飞速发展。对于时下大多数企业和求职者来说,网络求职招聘的意义已经远远超出了传统招聘业务的局限,它以其费用低,信息量大,操作便捷,招聘效果好,无地域限制且具备远程服务功能等优点获得了越来越多的求职者和企业的认可,成为一种与传统求职招聘方式并驾齐驱的全新求职招聘模式。

如何快速找到求职者所需要的职位和企业所需要的人才,是求职招聘系统的一个关键问题。网络求职招聘系统在求职者填写求职信息,招聘者发布招聘信息时要求填写人才类型,所求职位类型和工作地点等相关信息。因为在网上求职招聘的应聘者和招聘公司是经常变化的,所以就要求想出一个好办法,不要改变ASP程序和网页,只改变数据库文件就可以解决问题。由于不同的招聘单位可能放在不同的页面里,因此如何知道应聘者在不同的页面里向哪个招聘单位投放简历就很重要了。也就是让应聘者共同拥有管理页,把不同页面的招聘单位放在一起,且对应聘者选择的单位进行分排。为了满足用户的各种需求,网络求职招聘系统对所有的应聘者信息,招聘单位,招聘职位,最新人才等都会不断的更新,但不能经常变更ASP程序和网页,所以在该系统中用到的大都是传统的数据库访问技术。

  1.  系统功能分析

通过以上对系统的需求分析,求职招聘系统的功能模块应分为会员管理,求职招聘信息和系统管理3个模块。系统功能模块图如下:

  1. 用户功能

⑴用户注册:用户注册后可进入会员中心,填写、修改基本信息,个人用户可查看招聘单位的详细信息、招聘职位以及发送个人简历给满意的招聘单位;企业用户可发布和修改招聘信息、查看详细的个人简历并接受简历;

⑵发布求职招聘信息:用户进行求职招聘职位的信息发布和更新,以及修改其中的职位内容,求职要求和招聘要求等;

⑶职位搜索:按所设置的搜索条件进行符合要求的用人单位及招聘职位的搜索,帮助求职人员及时发现合适的职业机会;

⑷人才查询:按所设置的搜索条件进行现有简历库的查询,查找满足职位要求的候选人员;

⑸职位收藏:个人用户对于多个意向职位可以放入个人的职位收藏夹进行保存,以进行以后的逐个处理;

⑹人才收藏:企业用户对于多个满足职位要求的人才可以放入个人库中进行保存。

  1. 管理员功能

管理员有操作所有功能模块的权限,可以对所有用户的基本信息录入、修改、查询、删除以及查看、修改和删除发布的求职信息和招聘信息,并可以修改自己的用户名和密码。

  1.  系统流程图

本系统为用户提供了求职者及用人单位的会员注册,通过注册,用户可登陆自己的管理页面进行资料的填写,删除和修改,求职者可通过系统功能查看所有用人单位,招聘职位的信息及投放简历,用人单位也可查看所有求职者及应聘本公司的用户信息及应聘者简历。而未注册的用户则只可以查看所有人才求职信息及企业招聘信息。

本求职招聘系统的流程图如下:

 

 

  1.  数据库设计
      1. 数据库的需求分析

根据网络求职招聘系统的功能设计要求和模块划分,本系统的数据库主要存储个人用户信息、企业用户信息、求职信息、招聘信息和管理员信息。因此对网络求职招聘系统的各组成部分的数据项和数据结构进行如下划分:

个人用户信息:ID(自动编号)、用户名(ac)、密码(pwd)、姓名(name)、性别(sex)、电子邮件(email)、身高(shenggao)、体重(tizhaong)、民族(minzu)、身份证号(code)、出生年月(bdate)、政治面貌(zzmm)、毕业学校(school)、毕业日期(bydate)、学历(edu)、工作经历(kgzjl)、注册日期(rdate)等;

企业用户信息:ID(自动编号)、用户名(ac)、密码(pwd)、企业名称(name)、所属行业(trade)、公司性质(cxz)、注册资金(fund)、员工人数(yuangong)、所属地区(area)、成立日期(fdate)、公司简介(jianj)、通讯地址(address)、联系人(pname)、联系电话(phone)、传真(fax)、公司网站(web)等;

求职信息:求职类型(jobtype)、应聘职位(job)、工作地点(gzdd)、工资要求(yuex)、联系地址(address)、联系电话(phone)等;

招聘信息:招聘职位(jtzw)、职位描述(zptext)、招聘人数(zpnum)、薪水(moneys)、工作性质(jobtypes)、年龄要求(nianlings)、学历要求(edus)、性别要求(sexs)、有效期(youxiaos)等;

管理员信息:ID(自动编号)、用户名(name)、密码(pwd)等。

      1. 数据库概念结构设计实体图

数据库概念结构设计是数据库应用程序开发一个非常关键的环节,它具有一定的独立性,通常采用实体图的方法进行设计,它能将用户的数据要求明确地表达出来。根据本系统所使用的数据库以及系统的功能结构,规划出的实体有:管理员实体,个人用户实体,企业用户实体,求职信息,招聘信息等实体。其主要的实体图如下:

 

 

 

  1. 详细设计与实现
    1.  用户功能模块

 求职招聘系统的用户功能模块包括用户的注册和登陆,人才和招聘职位的查看和搜索,企业用户发布招聘信息,个人用户发布求职信息,收藏满意的人才和招聘信息以及发送站内信息。

      1. 用户注册

本系统的用户包括个人用户和企业用户,用户注册后可进入会员中心,填写、修改基本信息以及发布求职招聘信息。

使用Request 对象读取从表单传递来的用户数据,建立到数据库的链接,确定用户名不存在。其中用request("user")="1"表示个人用户,request("user")="2"表示企业用户。部分代码为:

If request("name")=""or request("pwd")="" or (request("user")<>"1"and request("user")<>"2") or request("question")="" or request("answer")=""or request("email")="" then

response.write "<script language=JavaScript>"alert('请确认所有信息已经填写!');" & "history.back()" & "</script>"

Response.End

end if

下面代码通过select查询语句查询数据表in_user,判断该个人用户名是否已注册。

if request("user")="1" then

sql="select id from in_user where ac='"&name&"'"

rs.open sql,conn,1,1

if rs.recordcount<>0 then

response.write "<script language=JavaScript>" & "alert('此用户名已经被注册!');" & "history.back()" & "</script>"

Response.End

else

rs.close

下面代码使用insert 语句插入新用户名、密码,电子邮箱、注册时间等信息,注册完成后系统将发送站内信息,提示注册成功。

sql="insert into in_user(ac,pwd,question,answer,email,ltime) values('"&name&"','"&pwd&"','"&question&"','"&answer&"','"&email&"','"&now()&"')"

rs.open sql,conn,1,1

sql="select id from in_user where ac='"&name&"'"

rs.open sql,conn,1,1

id=rs("id")

rs.close

sql="insert into message(ttype,tid,ftype,content,title) values('1',"&id&",'0','"&content&"','恭喜您成功注册求职招聘系统!')"

rs.open sql,conn,1,1

      1. 发布招聘信息

企业用户注册后可进入会员中心发布招聘信息,通过session对象返回的值判断是否是企业用户,如果不是将会提示“您不具备此权限”。代码片断如下:

if session("id")="" or session("ac")="" or session("user")<>"2" then

response.write "<script language=JavaScript>" & "alert('您不具备此权限!');" & "history.back()" & "</script>"

Response.End

end if

下面代码为企业用户在注册成功后,发布招聘职位,使用insert 语句插入招聘职位类型,工作地点,招聘人数,招聘要求等招聘职位的详细信息。

sql="insert into job(enid,job,jtzw,hka,city,zpnum,nianlings,zyes,hkas,edus,hkbs, languages, pthuas, sexs, jobtypes, computers,shisus, moneys,youxiaos,zptext) values("&session("id")&",'"&request("job")&"','"&request("jtzw")&"','"&request("hka")&"','"&request("city")&"','"&request("zpnum")&"','"&request("nianlings")&"','"&request("zyes")&"','"&request("hkas")&"','"&request("edus")&"','"&request("hkbs")&"','"&request("languages")&"','"&request("pthuas")&"','"&request("sexs")&"','"&request("jobtypes")&"','"&request("computers")&"','"&request("shisus")&"','"&request("moneys")&"','"&request("youxiaos")&"','"&request("zptext")&"')"

rs.open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('发布成功,即将返回!');"&"window.location.href = 'enjob.asp'"&" </script>"

      1. 职位搜索

用户可以按所设置的搜索条件进行符合要求的用人单位及招聘职位的搜索,为求职者及时发现合适的职位提供了方便,部分代码如下:

sql="select id,enid,jtzw,hka,city,addtime,sexs,edus from job where enid in (select id from en_user where name<>'')"

if request("gzdd")<>"0" and request("gzdd")<>"" then sql=sql+" and hka='"&request("gzdd")&"'"

if request("job")<>"0" and request("job")<>"" then sql=sql+" and job='"&request("job")&"'"

if request("date")<>"不限" and request("date")<>"" then sql=sql+" and datediff('d',addtime,Now())<"&request("date")

sql=sql+" order by addtime desc"

rs.open sql,conn,1,1

上诉代码通过select查询语句查询企业用户数据表en_user,搜索符合条件的职位信息。

<%

rs.pagesize=20

if request("action")="n" then

session("page")=session("page")+1

else

if request("action")="p" then

session("page")=session("page")-1

else

if request("action")="f" then

session("page")=1

else

if request("action")="l" then

session("page")=rs.pagecount

else

if isnumeric(request("page1"))=true then

session("page")=clng(request("page1"))

else

session("page")=1

end if

end if

end if

end if

end if

if session("page")>rs.pagecount then session("page")=rs.pagecount

if session("page")<1 then session("page")=1

rs.absolutepage=session("page")

%>

上面代码为搜索职位的分页显示。

个人用户在看到满意的职位信息时,便可将此职位加入到自己的职位库中保存,代码片断如下:

sql="insert into indepot(inid,jobid) values("&session("id")&","&request("jobid")&")"

rs.open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('添加成功!');" & "history.back()" & "</script>"

      1. 发送站内信息

注册的个人用户和企业用户对满意的职位和人才可以通过发送站内信息来进行交流,部分代码如下:

if session("id")="" or session("ac")="" or session("user")="" then

response.write "<script language=JavaScript>" & "alert('您不具备此权限!');" & "history.back()" & "</script>"

Response.End

end if

上诉代码通过session对象返回的值判断用户是否为注册用户,未注册的用户不具备发送站内信息的权限。

if trim(request("title"))="" then

response.write "<script language=JavaScript>" &"alert('主题不能为空!');" & "history.back()" & "</script>"

Response.End

end if

if trim(request("content"))="" then

response.write "<script language=JavaScript>" & "alert('信息内容不能为空!');" & "history.back()" & "</script>"

Response.End

end if

sql="insert into message(ttype,tid,ftype,fid,content,title) values ('"&ttype&"', "&request("tid")&",'"&session("user")&"',"&session("id")&",'"&request("content")&"','"&request("title")&"')"

rs.open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('发送成功!');" & "window.close()""</script>"

上面代码通过Request 对象读取从数据表单传递来的数据,针对不同的情况为用户给出提示,帮助用户完成站内信息的正确发送。

    1.  管理员功能

系统管理员进入后显示的是控制台和所有员工的基本信息,此页面是采用框架来实现的,框架分为左右两部分,左边是操作控制台,右边是显示操作的结果。当管理员在控制台选择了某个操作,就去调用相对应的页面来处理并把结果显示在框架的右边。

管理员登录后默认页面显示内容为:在框架的左边显示的是控制台信息。控制台信息包括:管理首页、职位信息设置、个人用户管理、企业用户管理以及管理员密码的修改。框架的右边显示的内容为:管理首页。代码片段如下:

if session("login")<>"yes" then

response.write "<script language=JavaScript>" & "alert('您还未登陆或者超时,请重登陆!');"&"window.location.href = '../'"&" </script>"

response.end

end if

上诉代码判断管理员是否登陆。

<tr>    <td height="26"  align="center" width="0">

    <b><a href="admin_index.asp">管理首页</a></b></td>  </tr>

<tr>    <td height="25"  align="center" width="0">

     <b><a href="admin_list.asp">职位信息设置</a></b></td>  </tr>

     <tr>  <td height="25" align="center" width="0">

      <b><a href="admin_inuser.asp">个人用户管理</a></b></td>   </tr>

     <tr>   <td height="25"  align="center" width="0">

<b><a href="admin_enuser.asp">企业用户管理</a></b></td>   </tr>

<tr>  <td height="25"  align="center" width="0">

<a href="admin_user.asp"><b>我的密码修改</b></a></td> </tr>

(1)用户管理:

管理员可以对所有用户的信息进行查看,修改,删除以及发送站内信息。下面是管理员删除企业用户信息的代码片断:

if request("ttype")="2" then

sql="DELETE FROM en_user where id="&clng(request("id"))

rs.Open sql,conn,1,1

sql="DELETE FROM endepot where enid="&clng(request("id"))

rs.Open sql,conn,1,1

set rs1=server.createobject("adodb.recordset")

sql1="select id from job where enid="&clng(request("id"))

rs1.Open sql1,conn,1,1

if rs1.recordcount<>0 then

rs1.movefirst

for i=1 to rs1.recordcount

sql="DELETE FROM indepot WHERE jobid="&rs1("id")

rs.Open sql,conn,1,1

rs1.movenext

next

end if

sql="DELETE FROM job WHERE enid="&clng(request("id"))

rs.Open sql,conn,1,1

sql="DELETE FROM message WHERE tid="&clng(request("id"))&" and ttype='2'"

rs.Open sql,conn,1,1

sql="DELETE FROM message WHERE fid="&clng(request("id"))&" and ftype='2'"

rs.Open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('删除成功,即将返回!');"&"window.location.href = 'admin_enuser.asp'"&" </script>"

end if

(2)职位信息设置

管理员可以对招聘职位、企业类别、工作地区等相关信息进行添加,修改和删除。下面代码为管理员对职位信息的添加:

if trim(request("what"))="" then

response.write "<script language=JavaScript>" & "alert('项目不能为空!');" & "history.back()" & "</script>"

Response.End

end if

sql="select id from "&request("how")&"list where "&request("how")&"class='"&request("what")&"'"

rs.open sql,conn,1,1

if rs.recordcount<>0 then

rs.close

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('此项目已经存在!');" & "history.back()" & "</script>"

Response.End

else

rs.close

sql="insert into "&request("how")&"list("&request("how")&"class) values('"&request("what")&"')"

rs.open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('项目添加成功!');"&"window.location.href = 'admin_list.asp'"&" </script>"

end if

下面代码片断为管理员删除职位信息:

sql="delete from"&request("how")&"list where id="&clng(request("id"))

rs.Open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('删除成功,即将返回!');"&"window.location.href = 'admin_list.asp'"&" </script>"

(3)管理员信息的修改

管理员登陆后可以对自己的用户名和密码进行修改,代码片断如下:

if psw="" then

sql="update admin set name='"&name&"' where id=1"

else

sql="update admin set name='"&name&"',pwd='"& psw"' where id=1"

end if

rs.open sql,conn,1,1

response.write "<script language=JavaScript>" & "alert('修改成功,即将返回!');"&"window.location.href = 'admin_user.asp'"&" </script>"

set rs=nothing

  1. 开发难点与解决办法

网络求职招聘系统中常见的问题是如何给企业和个人提供相应需求信息,如何增强企业和个人的在线联系和信息的方便查询。本系统采用会员管理中的我的收藏夹和站内信箱满足了以上的需求。以下是本系统在开发时所用到的技巧和实现方法。

(1)用服务器端包含技术实现对文件的引用

系统中有许多页面都会引用相同的代码文件,所以使用include语句和script脚本将文件包含进来,就可以简化代码的编写。如果需要更改,只需要更改被包含的页面就可以达到所有调用的此页面也更改的目的。例如在regdata.asp页面中包含数据库连接文件conn.asp:

<!--#include file="conn.asp"-->

<%

if request("name")="" or request("pwd")="" or (request("user")<>"1" and request("user")<>"2") or request("question")="" or request("answer")=""or request("email")="" then

response.write "<script language=JavaScript>" & "alert('请确认所有信息已经填写!');" & "history.back()" & "</script>"

Response.End

end if

………

%>

(2)用信箱和收藏夹加强企业和个人的联系

当用户对看到的个人或者企业信息满意的时候,可以通过站内信箱发给对方信件来取得联系,还可以通过收藏夹收藏需要的求职和招聘信息,方便了个人用户和企业用户之间的交流。

例如企业用户在看到满意的人才时,便可将此人才加入到自己的人才库保存,以进行以后的逐个处理。

sql="insert into endepot(enid,inid) values ("&session("id")&","&request("inid")&")"

rs.open sql,conn,1,1

set rs=nothing

set conn=nothing

response.write "<script language=JavaScript>" & "alert('添加成功!');" & "history.back()" & "</script>"

 网络求职招聘系统是采用Windows XP+ASP+ACCESS 的技术方案,实现了求职人员的工作求职和招聘企业的人才招聘,管理员可以直接在页面上进行后台数据库的相关操作。

 

ASP网络多功能办公系统设计与实现

       互联网的出现与迅速发展,信息技术步伐的加快,使得企业面临着众多的挑战与竞争,在竞争过程中,对于一个集团企业而言,对信息的掌握程度、信息获取是否及时、信息能否得到充分的利用、对信息的反应是否敏感准确,也越来越成为衡量一个企业市场竞争能力的重要因素。随着中国加入WTO,各行各业都在努力提高自身的竞争力,各企业根据自身发展的多方需要,进行有关的改革,企业信息化管理进程的加快都在说明一个趋势:传统以红头文件为主的、强调公文处理的办公自动化将从主导地位逐渐减弱,以强调信息服务、知识管理为主的企业信息服务系统将逐渐代替原有的办公自动化。商场如战场,新一代的战争是信息化战争,如何通过互联网这一利器,使企业信息化建设完善起来,这就需要一种高效、稳定的办公自动化系统!

      人们普遍使用计算机来提高个人工作效率,但是在需要许多人一起协同工作的现代工作环境中,我们更需要提高我们的整体工作效率。利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的信息网络和办公自动化、信息管理电子化系统,为管理部门提供现代化的日常办公条件及丰富的综合信息服务,实现档案管理自动化和办公事务处理自动化,以提高办公效率和管理水平,实现企业各部门日常业务工作的规范化、电子化、标准化,增强档案部门文书档案、人事档案、 财务档案等档案的可管理性,实现信息的在线查询、借阅。最终实现“无纸”办公。在网络应用日益普及的今天,无纸化网络办公是目前企事业单位提高办公效率和机构精简改革趋势的一个重要要求。采用无纸化网络办公不仅可以实现资源的共享、提高办公效率,而且也可以使工作人员的办公更加轻松自如,同时也节减了许多不必要的开支。无纸化网络办公系统具有众多优点,已经越来越多地进入到各级单位的日常工作中。系统开发主要包括前台界面的设计和后台数据库的设计。

本次的任务是,构建一个网络多功能办公系统,采用的主要技术是基于IIS服务器端的ASP、IIS的组件、网页编程语言HTML、数据库以Microsoft Office 的Access为平台以及链接数据库ODBC。

1.1   HTML

HTML是用来表示Web文档的规范,它使用标记来确定网页显示的格式静态网页是标准的HTML文件,动态网页经过应用程序服务器的处理后也将生成标准的HTML文件。

1.1.1  HTML的工作原理

HTML是一种规范,是用于Web文档的格式语言。HTML通过标记(Tag)来标记要显示的网页中的各个部分。以告诉Web浏览器应该如何显示网页,既确定网页内容的格式。浏览器按照顺序阅读HTML文件,然后根据内容附近的HTML标记来解释和显示各种内容,这个过程称为语法分析。

1.1.2  HTML文档的基本结构

HTML文档的基本结构可以表示如下:

          <HTML>

             <HEAD>

                <TITLE>标题文字</TITLE>

             </HEAD>

             <BODY>

                     文本、图像、动画、HTML指令等

             </BODY>

         </HTML>

1.1.3  HTML标记

 1.HTML文档标记

 格式:<HTML>…</HTML>标志文件开始和结尾的标记。

 2.HTML文件头标记

 格式:<HEAD>…</HEAD>用于包含文件的基本信息。

 3.HTML文件主体标记

 格式:<BODY>…</BODY>文件主体标记。 

 注意:<HEAD>与<BODY>为独立的两个部分,不能互相嵌套。

1.1.4设置<BODY>的属性

格式:<BODY>----</BODY>

功能:文件主体标记,其中包含了Web文档的内容。

属性:

BACKGROUD:设置网页背景。

BGCOLOR: 设置网页的背景颜色。

TEXT: 设置网页文本颜色。

LINK: 设置网页链接的颜色。

VLINK: 设置网页已被访问过的链接的颜色。

ALINK: 设置网页正被选中的链接的颜色。

BGPROPERTIES: 设置背景是否随滚动条滚动。

LEFTMARGIN: 设置网页左右边的空白。

TOPMARGIN设置网页上下方的空白。

ONLOAD: 设置网页首次加载时调用的事件处理程序。

ONUNLOAD: 设置网页卸载时调用的事件处理程序。

1.1.5  段落格式化

1.标题标记

格式:<H1>…</H1>,<H2>…</H2>…<H6>…</H6>设置各种大小不同标题的标记。

2.段落标记

格式:<P>…</P>设置段落标记。

3.预定格式标记

格式:<PRE>…</PRE>在浏览器中浏览时,按照文档中预先排好的形式显示内容。

4.分区显示标记

格式:<DIV>…</DIV>分区显示标记。

5.词标记

<BR>           

格式:<BR>强制进行换行标记。  

<NOBR>

6.注释标记

格式:<!--注释内容-->注释标记。

1.1.6插入图像

图像在网页设计中是必不可少的,所以用户应掌握在网页中操作图像的方法。

 格式:<IMG>…</IMG>

 功能:在网页中加入图像。

1.1.7 超连接

超连接是由源端点到目的端点的一种跳转。

按照目标端点的不同。可以分为以下几种:

文件连接:这种连接的目标是一个文件,它可以位于当前网页的服务器,也可以位于其他服务器。

锚连接:这种连接的目标是网页的一个位置,通过这种连接可以从当前网页跳转本网页或其他网页的某个位置。

E-mail连接:通过这种连接可以启动电子邮件客户端程序,并允许访问者向指定的地点发邮件。

 格式:<a href>…</a>

创建锚点

<a name=锚名></a>

创建锚点连接:

<a href=”URL#锚名”>…</a>

1.1.8表单

 HTML表单(Form)是HTML的一个重要部分,主要用于采集和提交用户输入的信息。

学习HTML表单(Form)关键要掌握的有三个要点:

表单控件(Form Controls)

Action

 Method

先说表单控件(Form Controls),通过HTML表单的各种控件,用户可以输入文字信息,或者从选项中选择,以及做提交的操作。

用户填入表单的信息总是需要程序来进行处理,表单里的action就指明了处理表单信息的文件。

至于method,表示了发送表单信息的方式。method有两个值:get和post。get的方式是将表单控件的name/value信息经过编码之后,通过URL发送(你可以在地址栏里看到)。而post则将表单的内容通过http发送,你在地址栏看不到表单的提交信息。那什么时候用get,什么时候用post呢?一般是这样来判断的,如果只是为取得和显示数据,用get;一旦涉及数据的保存和更新,那么建议用post。

1.1.9表格

HTML表格用<table>表示。一个表格可以分成很多行(row),用<try>表示;每行又可以分成很多单元格(cell),用<td>表示。<TABLE>…</TD>创建表格,可用于数据表或控制你网页的布局,<TD>…</TD >定义单元格,<TR>…</TR>设计表内的一行。

1.2  VBscript

VBScript是程序开发语言Visual Basic家族的最新成员,可以将灵活的脚本应用于更广泛的领域,包括Microsoft Internet Explorer中的Web客户端脚本和Microsoft Internet Information Server中的Web服务器端脚本。

1.2.1   VBScript代码的基本格式

一般ASP程序都是将VBScript代码放在服务器端执行的,此时有两种方法。

方法一:<%VBScript%>

方法二:<Script Language=”VBScript”Runat=”Server”>

            VBScript代码内容

       </Script>

1.2.2   数据类型 

在VBScript语言中只有一种数据类型,即Variant,这种数据类型可以包含不同类别的信息,它也是VBScript中所有函数的返回值的数据类型。Variant是一种特殊的数据类型,根据不同的使用方式,它可以包含不同的数据类别信息,这些不同的数据类别称为数据子类型。具体如下表

子类型

说明

String

其值是变长字符串类型,最大长度可谓20亿个字符

Byte

其值是0到255之间的无符号整数

Integer

其值是-32768到32767之间的带符号的整数

Long

取值范围是-2147483648到2147483647之间的长整型整数

Single

其值是单精度浮点数。

Double

其值是单精度浮点数。

Date

其值是代表某个日期和时间的数字。

Boolean

其值是True和False的布尔型

Currence

取值范围是-922337203685477.5808到922337203685477.5807

Empty

未初始化变量

Null

不包含任何有效数据的变量

Object

包含一个对象

(1)常量

常量时在程序执行期间其值不发生变化的数据。在VBScript中,常量分为普通常量和符号常量。常量的命名规则和一般的程序设计语言一样,可以使用字母、数字、下划线等字符,但每一个字母必须是英文字母,中间不能有标点符号和运算符号,长度不能超过255个字符。

1)普通常量

普通常量分为字符串常量和数值常量两种。

字符串常量简称字符串,它由一对双引号括起来的字符序列所组成,其中可以包含字母、汉字、数字,空格以及标点符号等,长度不超过20亿个字符。

  数值常量分为整型数、长整型数和浮点数。

  整型数和长整型数都可以用十进制、十六进制和八进制三种形式来表示。使用十六进制数时,应在数字前面加上&H前缀;使用八进制数时,应在数字前面加上&O前缀。对于长整型数,使用十六进制或八进制形式表示时,还要在数字后面加上后缀&。

   浮点数也称为实型数,分为单精度浮点数和双精度浮点数。浮点数可以用小数形式表示,也可以用科学记数法表示。

2)符号常量

符号常量是用一个标识符表示的常量,用于代替数字或字符串,其值从发生不改变。在VBScript中,符号常量分为预定义符号常量和用户自定义常量。

  VBScript提供了许多预定义符号常量,在编写脚本代码时无须声明即可直接使用。例如,vbCrLf表示回车符和换行符的组合,vbGreen表示绿色的数值。

3)用户自定义常量。

可以使用 const 语句在 vbscript 中创建用户自定义常数。(const修饰符可以把对象转变成常数对象,意思就就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用)

注意:不能使用的VBScript的关键字,就是Dim、Sub、End、Request等VBScript使用的一些特殊字符串。

(2)变量

变量时一种使用方便的占位符,用于引用计算机的内存地址,该地址可以存储脚本运行时可更改的数据。

1)声明变量

变量的声明包括显式声明、隐式声明和强制显式声明。

在VBScript中,通常使用Dim语句显式声明变量并分配存储空间,语法格式如下:

   Dim 变量名[, 变量名]

此外,也可以通过直接在脚本中使用变量名这种方式隐式声明变量。但这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚本时出现意外的结果。

若要强制显式声明所有变量,可以在脚本程序的开头处使用下面的语句:

   Option Explicit

(3)VBSript数组

  所谓数组,存储在内存中的用来包含数据的一组地址的名字。

1)声明数组

a.静态数组

  静态数组可以分为一维数组、二维数组或多维数组。数组的数维和大小由数组名之后紧跟的括号中的数字的个数和数值的大小来决定的。

b动态数组

  动态数组是在程序运行时数组大小发生变化的数组,对动态数组的最初声名可以使用Dim语句或ReDim语句来实现,但括号中不能包含任何数字。

(4)vbscript 运算符

vbscript 有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。

当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。但是,在括号中仍遵循标准运算符优先级。

当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。算术运算符和逻辑运算符的优先级如下所示:

算术运算符   比较运算符   逻辑运算符   

各种运算符及说明:

描述     符号     描述       符号      描述           符号

求幂       ^      等于        =       逻辑非          not

负号      -      不等于       <>      逻辑与         and

乘        *      小于         <       逻辑或         or

除        /     大于          >      逻辑异或        xor

整除      /    小于等于      <=      逻辑等价        eqv

求余     mod   大于等于      >=      逻辑隐含        imp

加       +                        对象引用比较        is       

减        -                        字符串连接           &            

(5)Vbscript函数

所谓函数,类似于过去所学的三角函数,就是别人将一些复杂的功能编成了一个函数,你不需要知道函数内部是怎么计算的,只要会使用就行。恰当的使用已有的函数可以节省大量的时间。下面介绍常用的几种VBScript中的函数。

1.转换函数

通过转换函数将子数据类型转换成需要的数据类型。

2.字符串函数

在VBScript中,包含很多处理字符串的函数,主要功能是:删除字符串前后的空格符、比较两个字符串、转换字符串的大小写字母等。

3.日期和时间函数

在VBScript中,可以使用日期和时间函数来得到各种样式的日期和时间。

(6)Vbscript过程

VBScript中,过程有两种,一种是Sub 过程,一种是Function函数。Sub 过程只执行程序而不返回值,而Function函数可以将执行代码的结果返回给请求程序。

1.Sub 过程

Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。

语法如下:

Sub 过程名 (参数1,参数2,…)

End Sub

说明:

其中参数是指由调用过程传递的常数、变量或表达式。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ( )。

Sub 过程名 ( )

End Sub

2.Function 函数

Function函数,是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function函数与 Sub 过程类似,但是 Function函数可以返回值。Function 函数可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Function 函数无任何参数,则 Function 语句必须包含空括号 ( )。Function函数通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。

语法如下:

Function 函数名 (参数1,参数2...)

End Function

1.3 Asp内置对象

ASP的内置对象是嵌入在系统中的一组共享代码,他是由系统开发商根据Web应用程序的需要,将一些常用的操作代码经过优化得来的。

1.3.1  Request对象

接收客户端在请求一个页面或传送一个表单时提供的所有信息,包括能够标识浏览器和用户的HTTP变量、Cookie信息以及附在URL后面的值(查询字符串或表单数据)。

(1)Request对象的获取方法

(2)Request对象的属性

Request对象唯一的属性,它提供关于用户请求的字节数量的信息,它很少用于ASP页,我们通常关注指定值而不是整个请求字符串。

TotalBytes

只读,返回由客户端发出的请求的整个字节数量。

(3)Request对象的方法

Request对象只有一个方法:即BinaryRead。该方法以二进制方式来读取客户端使用POST传送方法所传递的数据。

1.3.1  Response对象介绍

用于向客户端浏览器发送信息,或者将访问者转移到另一个网址,并可以设置和控制Cookie信息等。

(1)Response对象的集合

Response对象只有一个集合,即Cookies集合。

(2)Response对象的方法

方法

说明

Write

Response对象中最常见的方法,用来送出信息给客户端

Redirect

引导客户端浏览器至新的Web页面,前面已经作国星系介绍

Binary Wrtie

输出二进制信息

End

终止处理ASP并返回当时的状况

Flush

立刻送出缓冲区的HTML数据

Buffer

设置为缓冲信息。取值为True或False

contenttype

控制送出的文件类型

Clear

清除在缓冲区的所有HTML页面

(3)Response对象的属性

属性

说明

Buffer

设置为缓冲信息,取值为Tue或Flse,默认为Flse

CntenType

控制送出的文件类型

1.3.5  Session对象:

存储一个会话内的信息。Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束或者通过脚本设置中止的期限。

   (1)Session工作作原理

在一个应用程序中,当客户端启动一个Session时,ASP会自动产生一个长整数SessionID,并且把这个SessionID送回给客户端浏览器,浏览器会把这个SessionID存放在Cookies内。当客户端再次向服务器送出HTTP请求时,ASP会去检查申请表头的SessionID,并返回该SessionID对应的Session信息。

   (2)Session对象的集合

Session.contents 集合包括所有未使用 <OBJECT> 标记而为该会话建立的项目。此集合可用于确定指定会话项的值或遍历集合并检索出会话中所有项的列表。

 StaticObjects 集合包含 Session 对象范围中用 <OBJECT> 标记创建的所有对象。该集合可用于确定对象特定属性的值,或用于遍历集合并获取所有对象的全部属性。

   (3)Session对象的属性

CodePage

读/写。整型。定义用于在浏览器中显示页面内容的代码页(Code Page)。

LCID

读/写。整型。定义发送给浏览器的页面地区标识(LCID)。

Abandon

Abandon 方法删除所有存储在 Session 对象中的对象并释放这些对象的源。如果您未明确地调用 Abandon 方法,一旦会话超时,服务器将删除这些对象 。

   (4)Session对象的方法

Abandon:破坏Session对象并释放其资源

Contents.Remove:从Contents集合中删除一个项目

Contents.RemoveAll:从Contents集合中删除所有项目

1.3.6  Application对象:

在一个ASP应用中让不同客户端共享信息。Application对象是在为响应一个ASP页的首次请求而载入Asp.dll时创建的,它提供了存储空间用来存放变量和对象的引用,可以用于所有的页面,任何访问者都可以打开这些页面。

   (1)Application对象的获取方法

Contents:含所有通过脚本命令添加到应用程序中的项目

Staticobjects:含通过OBJECT标记创建的并给了应用程序作用域的对象

   (2)Application对象的方法

Lock:禁止其他客户修改Application对象的属性

Unlock:允许其他客户修改Application对象的属性 

   (3)Application对象的作用

●存储应用程序级全局变量

●锁定与解锁全局变更

●网站计数器

1.3.7  Server对象:

提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许在当前页的环境或会话中在服务器上实例化其他COM对象。

   (1)Server对象的集合

Server对象仅支持ScriptTimeout属性,用于指定超时值,在脚本运行超过这一时间之后即作超时处理。

   (2)Server对象的方法

CreateObject:Server对象中最重要的方法,用语创建已注册到服务器的ActionX组建、应用程序或脚本对象。

Execute:停止执行当前页,转到新的页上执行,执行完毕后返回原页,继续执行Execute方法后面的语句。

MapPath:将路径转化为物理路径

Transfer:停止执行当前网页,转到新的网页执行,执行完毕后不返回原网页,而是停止执行过程

HTMLExecute:将字符串转换成HTML格式输出

URL Execute:将字符串转换成URL格式输出

  (3)Server对象的作用

●创建组件实例

●获取服务器的物理路径

●对字符串进行HTML编码

●转向执行其他ASP文件

1.4 ADO组件

ADO是ActiveX Data Object的缩写,称为ActiveX数据对象,是为OLE DB设计的应用编程接口,使用ADO对象实现在ASP页面中对数据库的访问。在ASP页面中,OLE DB及ODBC无法直接使用,但是ADO却是一种可以在ASP中使用的标准对象,通过ADO就可以调用OLE DB提供者或者ODBC驱动程序来访问数据库。

1.4.1ADO的对象

  ADO组件又称为数据库访问组件,用于访问存储在数据库或其他数据表结构中的信息。ADO设计了许多环环相扣的继承对象,让Web数据库开发人员可以轻易地操纵数据库,在ADO运行时继承子对象之间是相互影响的。

ADO组件提供了7中对象

1)Connection对象:提供对数据库的连接服务。

2)Command对象:定义对数据源操作的命令。

3)Recordset对象:由数据库服务器所返回的记录集。

4)Fields对象:由数据库服务器所返回的单一数据字段。

5)Parameters对象:表示Command对象的参数。

6)Proerty对象:单独的一个Proerty对象,提供属性功能。

7)Error对象:提供处理错误的功能。

  使用ADO对象可以建立和管理数据库的连接,按数据库服务器的要求获得数据,执行更新、删除、填加数据,获取ODBC的错误信息等。

1.4.2 ADO的操作流程

1)连接到数据源

2)指定访问数据源的命令,可以同时指定变量参数,通过涉及Command对象。

3)执行命令。

4)如果命令使数据按表中的行的形式返回,则将这些存储在易于检查、操作或更改的缓存中。

5)在适当情况下,可以通过修改缓存行的内容来更新数据源。

6)提供常规方法检测错误,涉及Error对象。

1.5数据库

1.5.1数据库基础知识

  数据:泛指一切可以输入到计算机并能被计算机处理符号。

  数据库:是存储在计算机内、有组织、可共享的数据集合。

数据库管理系统:是位于用户与操作系统之间的一层数据管理软件。

数据库系统:是指在计算机系统中引入数据库后的系统。

1.5.2 Access2000数据库系统简介

Access2000是微软公司的Microsoft Office 2000系统软件中的一个重要组成部分。

它是一个运行于Windows平台上的关系数据库管理系统,通过各种数据库对象对数据进行控制和管理。

  它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务

  Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。

Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能,同时对于小型的数据交换来说使用非常方便。

1.5.3 Access2000数据库对象

表是一种特定实体据集合,表以行、列格式组织数据。表中的字段用来描述一个试题的完整信息。通常,一个数据库保存的主要信息,都是以表的形式来表示和存储的。

查询是对数据库中数据的直接访问。利用查询可以通过不同的方法来查看、更改、分析以及操纵数据库中的数据,可以为其他查询、窗体和报表提供数据,还可以为一个数据访问页提供数据源。

窗体是用户交互式访问数据库的界面,是数据库与用户之间的主要接口。使用窗体可以想表中输入数据,查看或更新表中的数据,以及根据用户的输入信息执行响应的操作。

报表是输出数据库最有效的方法。因为在报表中可以控制每个数据的显示方式,可以对数据进行排序和分组,并给出每个的各种统计数据。

数据访问页是一种特殊的Web访问页,提供可以在Internet或Intranet上浏览的数据。这些数据保存在Microsoft Access数据库或microsoft SQL Server数据库中。数据访问页与一般Web页的最大区别在于它的数据是个更新的。

宏是指一个或多个操作的集合,其中每个操作可实现特定的功能。数据库的很多地方要用的到宏,尤其是在窗体设计中。使用宏可以让用户非常方便第处理一些重复性操作。

模块是将Visual Basic for Applications声明和过程作为一个单元进行保存的集合,专门用来存放VBA数据代码。模块有2个基本类型,既类模块和标准模块一个模块一般包含多个过程或函数。

1.5.4 SQL语句

Access 2000中查询是以SQL语句为基础来实现查询功能的。因此,Access 2000中所有的查询都可以认为是一个SQL查询。

SQL的数据定义功能

SQL的数据定义功能包括定义基本表和定义索引。

1.定义基本表的语句是CREATE,语法格式为:

CREATE TABLE<表名>(<列名1><数据类型>[列级完整性约束条件]

[,<列名2><数据类型>[列级完整性约束条件]]…..

[,<表级完整性约束条件>])

2.修改基本信息

修改基本表的语句是ALTER,语法格式为:

ALTER TABLE<表名>[ADD<新列名><数据类型>[列级完整性约束条件]];

其中,ADD字句用于增加新列和新的完整性约束条件。

3.删除表

删除一个表是将表结构和表中记录一起删除,如果这个表上建有索引,则索引一起删除。

删除基本表的语句是DPOP,语法格式为:DRPO TABLE<表名>

4.建立索引

建立索引是加快查询速度的有效手段。用户可根据需要在基本表上建立有索引,则将索引一起删除。

删除基本表的语句是DRPO,语法格式为:DROP TABLE<表名>.

SQL的数据查询功能

SQL语言的核心是查询操作,擦黑寻操作由SELECT命令实现。SELECT命令的语法如下。

SELECT [ALLIDISTINCT]<目标表达式>[,<目标列表达式>]

FORM <表名>[, <表名>]

[WHERE<条件表达式>]

[GROUP  BY <列名1>[HAVINGI<条件表达式>]

[OPDER  BY<列名2>[ASCIDESC]

SELECT语句的含义是:根据WHERE子句中的表达式,从表中找出满足条件的记录,按SELECT子句中的目标列,选出记录中的字段结果表。

在SELECT命令中各个字句的含义如下。

1.SELECT子句

SELECT子句指出所要查找的列。其中,ALL表示检索符合条件的所有记录,为缺省值;DISTINCT表示曲调重复记录;目标列表达式是指定要查询的列,可以是列名、表达式或函数。SELECT后如果没有指定目标列表达式,而是“*“表示,则表示要指定表中的所有列。

2.FORM子句

FORM子句指定要查询的数据出自哪张表,可以是一个表,也可以是多个表。

3.WHERE子句

WHERE子句指定查询所需的条件。如果没有WHERE子句,表示选择全部记录。

4.GROUP BY子句用语对查询结果按指定的列进行分组,并且可以利用函数进行统计,如求平均值、最大值、最小值和计数等。

5.HAVING子句

HAVING子句必须跟随GROUP  BY子句使用,用来限定分组必须满足的条件,并将满足HAVING子句指定调教的组放到结果集中。

6.OPDER BY子句

OPDER BY子句用来对查询结果按指定的列进行排序。

(2)SQL的数据更新功能

SQL的数据更新包括对表中记录的添加、删除和修改。

插入数据

插入数据分为两种格式,一种是插入单个记录,另一种是插入一个子查询的结果。

<1>插入单个记录

语法格式:INSERT

INTO <表名>[(属性列1>[,属性列2>])

VALUES(<常量1>[,<常量2>]);

<2> 插入子查询结果

语法格式:INSERT

INTO<表名>[(属性列1>[,属性列2>])子查询;

更新(修改)数据

语法格式:UODATE<表名>

SET<列名>=<表达式>[,<列名>=<表达式>]  WHERE<条件>

删除数据

语法格式:DELETE

FORM<表名>

[WHERE<条件>]

1.5.5 ACCESS数据库表

在数据库中表不是孤单存在的,相互之间有一定的联系。不同的表中可以有相同的字段,两张表通过表中相同的字段进行关联,建立表之间的关系。表中注意的是字段名和字段属性。

  在ACCESS2000数据库中字段的名称最多可以有64个字符,可以包含数字、字母和空格,以及除句号、惊叹号、重音符号和方括号外的所有字符,但不能使用前导空格或控制字符。

  数据类型如下表。

数据类型

用法

存储空间

文本(text)

文本或文本与数字的组合,如地址。也可以是不需要计算的数字。

最多用255个字符。

备注(Memo)

长文本及数字。

最多为65535个字符

数字(Number)

用于数字计算的数值数据

1、2、4、8或16个字符仅用于“同步复制ID”

日期/时间(time)

从100~9999年的日期和时间值

8个字节

货币(currency)

货币值或用数学计算的数值数据。使用货币数据类型可以精确到小数左边15位和小数点右4位

8个字节

自动编号(Auto Number)

在填加记录时自动插入一个顺序号或随即数

4个字节。16个字节仅用于“同步复制ID”

是/否(Yes/No)

字段只包含2个值中的一个

1个字节

OEL(OEL Object)

Microsoft Access表中连接或嵌入对象,如Microsoft word问档

最大可为1GB

超级连接(Hyperlink)

文本或文本和数字的组合,以及文本形式存储并用做超级连接地址。

超级连接地址中的每一部分最多只能包含2048个字符

查阅向导(lookup Wizard)

创建字段。该字段可以使用列表框或组合框从另一个表或取值。在数据类型列表中选择此选项,将启动查阅向导进行定义

用于执行查阅的主键字段大小相同,通常为4个字节

  表与表之间的关系

   在数据库中,表的内部和表之间均存在联系。表内部的联系是指组成的各表字段之间的关系。两个表之间的关系有3种关系:一对一、一对多、多对多。

  设有A、B两表。在一对一的关系中A表中的每一条记录仅能与B表中的一条匹配,并且B 表中的每一条记录仅能与A表中的一条记录匹配。

  一对多关系是关系中最常见的类型。在一对多联系中A表中的一条记录能与B表中的多条记录匹配,但B 表中的每一条记录仅能与A表中的一条记录匹配。

  多对多关系中,A表中的一条记录能与B表中的多条记录匹配,并且B表中的一条记录也能与A表中的多条记录匹配。

第二章 系统分析

2.1  需求分析

    通过调查,要求系统需要有以下功能

  1. 由于操作人员的计算机知识普遍较差,要求有良好的人机界面。
  2. 管理系统用户,由于该系统的使用对象多,要求有较好的权限管理。
  3. 管理企业的工作计划,通告信息,公文信息,人力资源,通讯资料,资源预约。
  4. 提供个人办公服务。
  5. 以上是关于ASP网络求职招聘系统的设计与实现的主要内容,如果未能解决你的问题,请参考以下文章

    java计算机毕业设计ssm前途招聘求职网站的设计与实现

    java基于ssm的求职招聘管理系统校园求职招聘管理系统,附源码+数据库,适合毕业设计课程设计

    基于SSM框架的校园招聘人才系统的设计与实现(附源码论文)

    基于SSM框架的校园招聘人才系统的设计与实现(附源码论文)

    毕业设计:基于Springboot实现求职招聘,校园招聘系统

    毕业设计:基于Springboot实现求职招聘,校园招聘系统