1、基于JSP的求职网站的设计与实现分类号:TP311.1 U D C:D10621-408-(2007) 6060-0密 级:公 开 编 号:2003215057成都信息工程学院学位论文速达求职网的设计与实现论文作者姓名:陈 敏申请学位专业:网络工程申请学位类别:工学学士指导教师姓名(职称):刘宁(副教授)论文提交日期:2007年06月10日速达求职网的设计与实现摘 要现如今传统的求职方式越来越不能满足当今企业和求职者的需要。随着Internet的发展,网络上兴起了很多求职网站。求职网站的出现,给求职者和招聘单位带来了很大的方便,但目前针对我们在校大学生、应聘毕业的求职网站很少,并且现有的这些针
2、对在校大学生的求职网都是以营利为目的,很多得不到大学生的信任。为了给在校大学生和招聘单位提供一个良好的求职、招聘的平台,本课题拟实现一个速达求职网。本系统有利于企业利用网站快速的发布招聘信息,浏览更多求职者的信息找到自己所需要的人才;求职者能够在求职网上创建个人简历、职位浏览、申请、职位搜索;为保证招聘企业的合法性,企业相关证件要通过管理员的检查后才能成为合法的企业用户,本系统采用jsp+SQL server2000实现。关键词:求职网;jsp;SQL server2000Design And implementation of online job websiteAbstractNow, t
3、he traditional way of job hunting couldnt meet the needs of company and applicants .With the development of Internet , the online job websites have been appeared. The online job websites take convenience for applicants and companies. But current websites have disadvantages. In special, few websites
4、are opened to the university students and the present graduating students. And almost of them only want to get more benefits than services. The system is a good platform for company to promulgate the information of employ, to hunt what they need, and for applicants to create personal resume , to bro
5、wse position , to apply position ,to search position and so on .1 Key words: Online Job Website; Jsp; SQL server2000如果需要论文请联系QQ;632926059 56384373或者登陆我们的网站 或者 查看详情目 录论文总页数:26页1 引言 11.1 课题背景 11.2 国内外研究现状 11.3 本课题研究意义 12 相关知识介绍 12.1 JSP的优势 12.2 JSP的特点 12.3 SQL语言介绍 22.4 Dreamweaver简介 43 系统设计 43.1 系统需求
6、43.2 功能模块划分 53.3 主要流程 53.4 数据库设计 54 系统实现 84.1 用户登录 84.2 个人用户功能实现 104.3 企业用户功能实现 144.4 管理员功能实现 155 系统使用环境配置说明 175.1 开发环境 175.2 环境变量设置 17结论 18参考文献 18附 录 19致 谢 25声 明 262 引言2.1 课题背景在Internet飞速发展的今天,电子数字计算机是20世纪重大科技发明之一,而如今联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在
7、Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为机关、学校、企事业单位、甚至进入寻常百姓家的信息化建设中的重要组成部分,从而倍受人们重视。而现如今我国国内的招聘市场很不成熟,在校大学生找兼职都得花钱,甚至更多的是上当受骗,而现有的几大招聘网站很少为在校大学生提供免费的找兼职服务。因此,为满足当代大学生的需求,为他们提供更多更好的在社会实践的机会,为应届毕业生提更多的就业信息,为企业提供高效快捷的招聘信息发布和对求职者信息的查看建设了速达求职网。2.2 国内外研究现状国外最大WEB2.0网站把自己原有的赢利模
8、式互联网广告拓展到针对青年人群的招聘服务。而我国现目前也有很多求职招聘网站建立起来了如:51job、英才网等。我国现有的这些招聘网站主要是以赢利为目的,没有怎么为在校大学生、应届毕业生提供更多更好更全面的兼职、实习信息。因此,在国内外都以赢利为目的时,我们要推出以服务为目的的求职网站。2.3 本课题研究意义 为在校大学生特别是贫困生提供更多的免费兼职,给他们提供更多机会进入社会体验生活,减轻父母的压力。为更多的应届毕业生提供就业实习的机会,让自己的价值得到充分的体现。为所有的求职者和企业单位搭建一个桥梁。解决现在大学生上当受骗的社会问题,解决公司找人难的问题。3 相关知识介绍3.1 JSP的优
9、势JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。3.2 JSP的特点JSP的技术特点:(1)将内容的产生和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果
10、核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。(2)强调可重用的群组件绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的
11、组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。(3)采用标识简化页面开发Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的
12、标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将
13、JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。3.3 SQL语言介绍SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:ORACLE、SYBASE、MICOSOFT SQL SERVER、ACCESS、INGRESS等等。虽然绝大多数的数据库系统使用SQL,但是它
14、们同样有它们自立另外的专有扩展功能用于它们系统。但是标准的SQL命令,比如:“SELECT”、“INSERT”、“UPDATE”、“DELETE”、“CREATE”和“DROP”常常被用于完成绝大多数数据库的操作。MS SQL SERVER 就是用的TRANSACT-SQL。SQL语言有着非常突出的优点,主要是:非过程化语言、统一的语言、是所有关系数据库的公共语言非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一
15、条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部份,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从来不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,其中包括:(1)查询数据(2)在表中插入、修改和删除记录(3)建立、修改和删除数据对象(4)控制对数据和数据对象的存取
16、(5)保证数据一致性和完整性以前的数据管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。SQL功能强大,是一种完备的数据处理语言,不仅用于数库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(DATA MANIPULATION LANGUAGE,数据操作语言):用于检索或者修改数据;DDL(DATA DEFINITION LANGUAGE,数据定义语言):用
17、于定义数据的结构,比如创建、修改或者删除数据库对象;DCL(DATA CONTROL LANGUAGE,数据控制语言):用于定义数据库用户的权限;DML组可以分为以下的几个语名:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库删除数据。DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX注意:MICROSOFT SQL SERVER 2000(以下简写为SERVER 2000)是功能
18、强大的关系型数据库管理系统(RELATIONAL DATABASE MANAGEMENT SYSTEM简称RDBMS)之一,越来越多的专业人士选择SERVER2000开发数据库管理程序。SERVER2000是用来建立和管理数据库的引擎。它的作用和我们熟悉的桌面型数据库管理系统FOXBASE、VISUAL FOXPRO一样,但在存储大容量数据方面、在数据的安全性和完整性方面、在分布式处理和具有高效的机制等方面,像FOXPRO等桌面型数据库管理系统是不能实现的。也就是说,SQLSERVER不仅可以实现个人数据库的管理,更适合企业级的数据库应用。3.4 Dreamweaver简介Dreamweave
19、r是由美国著名的软件开发商Macromedia公司推出的一个“所见即所得”的可视化网站开发工具。无论在国外还是在国内,它都是倍受专业Web开发人士推崇的软件。在国内,它被大家称为网页“织梦者”,众多的专业网站和个人主页都把它列为建站的首选工具。在最新的MX版本中,对Dreamweaver的代码控制和后台功能作了进一步增强,整合了UltraDev,ColdFusion Studio,Homesite等优秀软件,使得新版本的Dreamweaver比起原有的版本,功能得到了一个飞跃的发展。4 系统设计4.1 系统需求互联网的发展给人们的日常生活带来了很大的变化,越来越多了人通过互联网在足不出户的情况
20、下方便、快捷的获取到自己所需要的信息;通过互联网我们的商家、企业、政府可以很方便的、及时的发布自己的信息。利用互联网我们可以为求职者、招聘企业单位提供一个双向选择的平台,大大简化过去传统的求职方式,提高企业单位的工作效率,给求职者提供一个更大更好的求职环境。速达求职网就是在互联网的发展下、求职者和企业单位的需求下建立起来的。4.2 功能模块划分根据对求职者和招聘单位的分析,按照系统开发的基本观点对网站进行分解,对网站做如下划分:个人用户:注册、登录、简历创建、职位搜索、职位浏览及申请、应聘记录、注销企业用户:注册、营业执照上传、登录、招聘职位发布、浏览简历、求职者应聘记录管理员:企业注册信息审
21、查、传信息审查、修改标记。4.3 主要流程根据软件工程的思想,以传统的瀑布模型为基础,确定以下的流程。如下图:图1流程图4.4 数据库设计 采用的数据库是SQLSERVER2000,建立candylau数据库,其中几个重要的表如下: puser存放个人用户注册信息表:表1 puser表的字段字段名字段说明Pusername个人用户名称Ppassword密码Realname真实姓名Phone电话号码Email电子邮件地址Regtime注册时间cid身份证号 cuser存放企业用户注册信息表:表2 cuser表字段说明字段名字段说明Num自动增加的序号Cusername企业用户的用户名Cpassw
22、ord密码Company公司名称Phone联系电话Lxman联系人Email公司邮件地址Detail公司介绍Judge判断公司是否通过了验证,默认值是false 当个人用户创建起自己的简历名称时就把简历名和身份证号同时存入表presname、presume1、peducation、phope、pstrong、pstrain、pword、pecertification、planguage其中 presume1简历基本信息存放表,peducation教育经历存放表,phope个人意愿,pstrong个人特长,pstrain培训经历, pwork工作经历,pcertification证书,plang
23、uage语言。这样做的主要目的是使每个用户的简历名不能重复,在对数据进行查找时同时把简历名和身份证号作为条件,使数据和用户之间实现一一对应。其中主要的presname、presume1的字段定义及说明如下表3、表4:表3 presnaeme表字段说明字段名字段说明cid身份证号Resumename简历名称表4 presume1表字段说明字段名字段说明Num自动编号Realname真实姓名Sex性别Diploma学历Resumename简历明称cid身份证号Hkadr户口所在地地址Rphone手机号吗Email邮箱地址Datatime出生日期Lxadr联系地址Ybnum邮政编码当个人用户申请了某
24、个公司所发布的职位后会向表record、crecord表存入相同的信息,record名为“个人应聘记录”crecord名为“企业所查看求职记录”表的字段定义如下表5:表5 record、crecord表字段说明字段名字段说明Num自动编号Pusername个人用户名cid身份证号Company公司名称Ypzw应聘的职位名称Jlname所投放简历的名称zpxx招聘信息,用于存放公司所发布的招聘信息:字段名字段说明Num自动编号Cusername企业用户名Company公司名称zwm招聘职位名称zprs招聘人数gzjy工作经验要求Gzadr工作地址yqs应聘要求fbtime发布时间zptime招聘
25、时间gxxz职位类型表6 zpxx表字段说明以上是几个重要表的介绍方便读者对后面的更易理解。5 系统实现5.1 用户登录速达求职网设置了三种类型用户:个人用户、企业用户、管理员。不同的用户有不同的权限。这些判断都是在后台里进行判断的没有相应的界面。1. 用户从首页index.jsp的登录框登录,用户提交登录后进入index1.jsp界页进行用户类型判断如果是个人用户进入login.jsp界页进行用户名和密码的判断,如果为企业用户则进入login1.jsp界页进行相应的判断,如果登录名是admin,密码是admin1234就直接进入管理员页面。个人用户登录成功进入person/pindex.js
26、p页面,企业用户进入company/cindex1.jsp页面。2. 核心代码如下:StringstrRadiobutton=request.getParameter(radiobutton).trim();String username = request.getParameter(username);String password = request.getParameter(password);Request.getParameter(“name”)获得属性为name的值。username.equals(admin)&password.equals(admin1234)判断管理员用户,s
27、trRadiobutton.equals(2)判断企业用户,如果不是管理员又不是企业用户,else则为个人用户。用户名和密码判断:ResultSet res=stmt.executeQuery(select * from puser(cuser) where pusermane=+username+ and ppassword=+password+);在puser(cuser)表里查找出一行用户名为username并且密码为password,如果res.next()存在说明用户名和密码是对的,就进入相应的界面。session.putValue(regid,id);session.putValu
28、e(logname,username);session.putValue(loginSign,OK);其中regid,logname,loginSign都是传递变量的名称,id,username是变量名,用双引号括起来的OK是值。Session是一次会话只要浏览器不关闭就不会关闭会话一般默认保存30分钟,在别一个页面获得session对话所传递的值的方法:(String)session.getValue(“”)(括号里为前面所传递的变量名)如要获得session.putValue(“regid”,id)所传递的id的值的方法:String id=(String)session.getValue
29、(“regid”)。本页面中运用session是为了在以后的业面里判断用户的用户名和是否登录等。数据库连接语句Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance(); Stringurl=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=candylau;String user=sa; String password=sa; Connection conn= DriverManager.getConnection(url,user,passwor
30、d); Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);Class.forName(“”)是显示加载com.microsoft.jdbc.sqlserver.SQLServerDriver类,调用newInstance()产生这个类的实例。url数据源的名称,user用户名,password密码,Connection是建立数据库的连接。Conn.createStatement 用Connection接口创建一个Statement实例执行需要的查询。Res
31、ultSet.TYPE_SCROLL_SENSITIVE:该常数的作用是指定数据库游标可以在记录集中前后移动,并且当数据库用户获取的记录集对其他用户的操作敏感,就是说,当前用户正在浏览记录集中,但是其他用户的操作使数据库中的数据发生了变化,当前用户所获取的记录集中的数据也会同步发生变化(这样有可能会导致非常严重的错误发生,建议慎重使用该常数)。ResultSet.CONCUR_UPDATABLE:该常数的作用是指定当前记录集的操作方式(concurrency mode)为可能更新,一旦使用了这个常数,那么用户就可以使用updateXXX()等方法更新记录集中的数据。数据库的连接至关重要,在网站的建设中很多页面的数据都要和数据
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1