毕 业 设 计
题 目 求职招聘网站的设计 学生姓名 刘兴 学号
所在学院 数学与计算机科学学院 专业班级 网络1101班 指导教师 李娜 完成地点 陕西理工学院
2015年 6 月 10 日
陕西理工学院本科毕业设计任务书
院(系) 数学与计算机科学学院 专业班级 网络工程(网络1101) 学生姓名 刘兴 一、毕业设计题目 求职招聘网站的设计 二、毕业设计工作自 2014 年 12 月 9 日 起至 2015 年 6 月 20 日止 三、毕业设计进行地点: 陕西理工学院 四、毕业设计应完成内容及相关要求:
求职招聘主要包括两个对象:求职者和招聘者。其基本特征是在以上两者之间建立一个人才撮合的平台,扩大两者相互偶合的机率。一个典型的求职招聘网站至少包含会员管理、求职招聘信息管理和系统管理3种功能。网上求职所要实现的的功能如下: 1.会员登录及身份验证(用户注册为会员等); 2.在线发布求职招聘信息; 3.系统管理(如公司会员管理、新闻发布管理等等)。要求:研究及开发的内容应满足用户的需要,具有实用性。 五、毕业设计应收集资料及参考文献:
[1] 牛德雄,陈华政著.基于MVC的JSP软件开发案例教程[M].北京:清华大学出版社,2014. [2] 张新曼著.精通JSP-WEB开发技术与典型应用[M].北京:人民邮电出版社,2012. [3] 贺平著.软件测试教程[M].北京:电子工业出版社,2012. [4] 陈显刚,李季著.Java 项目实战精编[M].北京:电子工业出版社,2010. [5] 刘志成著.Java 程序设计案例教程[M].北京:清华大学出版社,2009. [6] 胡林玲,黄奇著.软件工程与 UML[M].北京:电子工业出版社,2008. [7] 戴维尔著.JavaScript程序员教程[M].北京:电子工业出版社,2010. [8] [美]Martin Fowler著.重构—改善代码既有代码的设计[M].北京:人民邮电出版社,2010. [9] 张孝祥,徐明华著.JAVA基础与案例开发详解 [M].北京:清华大学出版社, 2009. [10] 康牧著.JSP动态网站开发实用教程[M].北京:清华大学出版社,2009. 六、毕业设计的进度安排:
第1阶段 文献资料查阅, 2015.3.20前完成开题报告撰写。 第2阶段 2015.4.10前完成需求分析,确立设计方案。 第3阶段 2015.5.1前完成详细设计及实现。 第4阶段 系统测试;总结设计内容,2015.5.20前完成毕业设计说明书撰写。 第5阶段 修订排版毕业设计说明书;2015.6月上旬进行毕业答辩;资料整理归档。
指导教师签名 专业负责人签名 学院领导签名 批准日期
陕西理工学院毕业设计
求职招聘网站的设计
刘 兴
(陕西理工学院数学与计算机科学学院网络工程专业1101班,陕西 汉中 )
指导教师:李娜
[摘要]随着计算机的快速发展,互联网正在不断融入人们的生活,影响和改变着人们的生活。现如今传统的求
职方式越来越不能满足当今企业和求职者的需要。因此为了满足求职者和招聘单位的需要,我设计了网上求职招聘系统。本系统是搭建于Windows 7环境下,利用JSP生成的动态、交互式的系统网站,并且以SQL Server 2000作为其数据库开发平台,以My Eclipse作为开发工具的一个求职招聘网站。本系统并实现了管理员密码修改、招聘信息修改、新闻资讯的添加修改等,企业用户注册、密码修改等,个人用户注册、编辑个人简历、查看招聘信息等。
[关键词] ASP.NET;C#;SQL Server 2000
Design of the Recruitment Website
Liu Xing
(Grade 11,Class 1101,Major Network Engineering, School of Mathematics and Computer Science, Shaanxi
University Of Technology, Han Zhong ,ShaanXi)
Tutor: Li Na
Abstract: With the rapid development of the computer, Internet is constantly integrated into people's lives, and the impact of people's lives and changes. Nowadays, the traditional way of job hunting is increasingly unable to meet the needs of enterprises and job seekers.. So in order to meet the needs of the job seekers and recruiters, I designed the online recruitment system for job search.. The system is built on Windows 7, the use of JSP to generate dynamic, interactive web site system and to SQL Server 2000 as a database platform, My Eclipse as a development tool for a job recruitment website. The system and realize the administrator password to modify, recruitment information modify, news and information add, modify, enterprise user registration, password changes, and so on, individual user registration, editing personal resume, view the recruitment information.
Key words: ASP.NET,C#,SQL Server 2000
陕西理工学院毕业设计
目录
1引言 ............................................................................ 错误!未定义书签。
1.1研究目的和意义 ...................................................... 错误!未定义书签。
1.2国内外研究现状 ...................................................... 错误!未定义书签。 1.3开发工具与环境介绍 .............................................. 错误!未定义书签。
1.3.1 JSP简介 ........................................................ 错误!未定义书签。 1.3.2 JSP的技术特点 ............................................ 错误!未定义书签。 1.3.3 SQL语言介绍 ................................................. 错误!未定义书签。 1.3.4 SQLServer2000的特点: ............................... 错误!未定义书签。 2.1系统可行性分析 ...................................................... 错误!未定义书签。 2.2功能性需求分析 ....................................................... 错误!未定义书签。
2.2.1 管理员需求 ..................................................... 错误!未定义书签。 2.2.2企业用户需求 .................................................. 错误!未定义书签。 2.2.3个人用户需求 .................................................. 错误!未定义书签。 2.3界面需求 ................................................................... 错误!未定义书签。 3.1系统设计思想 ........................................................... 错误!未定义书签。 3.2功能模块设计 ........................................................... 错误!未定义书签。
3.2.1系统管理员功能模块概述 .............................. 错误!未定义书签。 3.2.2企业管理模块功能概述 .................................. 错误!未定义书签。 3.2.3个人用户模块功能概述 .................................. 错误!未定义书签。 3.3系统流程概述 ........................................................... 错误!未定义书签。 3.4数据库的选择 .......................................................... 错误!未定义书签。 3.5数据库需求分析 ...................................................... 错误!未定义书签。 3.6数据库设计 .............................................................. 错误!未定义书签。 3.7数据表信息 .............................................................. 错误!未定义书签。 3.8数据库物理结构设计 ............................................... 错误!未定义书签。 3.9数据库的实现 ........................................................... 错误!未定义书签。 4.1招聘信息的实现 ...................................................... 错误!未定义书签。 4.2求职信息的实现 ....................................................... 错误!未定义书签。 4.3 界面实现 .................................................................. 错误!未定义书签。 4.4添加和修改新闻资讯 ............................................... 错误!未定义书签。 4.5留言板功能实现 ....................................................... 错误!未定义书签。 4.6登录界面的实现 ....................................................... 错误!未定义书签。 5.1系统测试目的意义 ................................................... 错误!未定义书签。 5.2测试过程 ................................................................... 错误!未定义书签。 5.3其他错误 ................................................................... 错误!未定义书签。
2求职招聘网站需求分析 ........................................... 错误!未定义书签。
3系统设计 ................................................................... 错误!未定义书签。
4系统功能实现 ........................................................... 错误!未定义书签。
5系统测试 ................................................................... 错误!未定义书签。
总结 ............................................................................... 错误!未定义书签。 致谢 ............................................................................... 错误!未定义书签。 参考文献....................................................................... 错误!未定义书签。 科技外文文献 .............................................................. 错误!未定义书签。
附录A 程序源代码 ..................................................... 错误!未定义书签。 附录B 系统使用说明书 ............................................. 错误!未定义书签。
陕西理工学院毕业设计
1引言
当今天社会竞争日趋激烈,“找工作难”已成为社会的一大难题。问题的关键在于求职和招聘的人员都陷入了如何找到适合自己的工作以及如何招到优秀的人才来填补公司空缺的这一矛盾中。如果依靠传统的招聘形式来招聘或应聘,不但增加成本,而且往往找不到合适的人才或找不到合适的工作。为解决这一问题,可以把招募人员和寻找工作的这些信息都放在网上,让更多人获得这些信息。
在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。在中国,网络招聘兴起的同时,发展迅速。首先,因为网上投递的简历比较多,而且应聘者素质较高。还有,网络招聘的优点是快捷、方便,招聘网站所提供的一些服务还可以帮助企业筛选简历,提高企业的工作效率。另外,网络招聘花的成本远远低于传统的任何一种方式,这也是网络招聘兴起的一个重要原因。
为了满足需求我设计了网上求职招聘系统,本系统实现了求职者和招聘企业的交互选择,求职者可以投递简历、浏览招聘信息找到适合自己的工作,招聘企业可以发布招聘信息、查看人才信息等。使求职者和招聘企业快速、便捷的找到工作和优秀的人才。
第 1 页 共 45 页
1.1研究目的和意义
在Internet飞速发展的今天,电子数字计算机是20世纪重大科技发明之一,而如今联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为机关、学校、企事业单位、甚至进入寻常百姓家的信息化建设中的重要组成部分,从而倍受人们重视。而现如今我国国内的招聘市场很不成熟,求职者找不到满意的工作,招聘企业也为找到优秀人才而烦恼。
因此,为满足当代大学生的需求,为他们提供更多更好的在社会实践的机会,为应届毕业生提更多的就业信息,为企业提供高效快捷的招聘信息发布和对求职者信息的查看建设了学生求职网。 1.2国内外研究现状
网络招聘求职方式已经成为了招聘求职的一大重要手段,其招聘求职规模和 招聘求职成功率已直逼传统招聘会,有的甚至超过了传统招聘会。一两年前还处于新兴地位的博思人才网网络招聘求职方式已经名符其实地走向了招聘求职的主流地位。网络招聘求职的快速发展,与网络招聘求职平台的建设和发展有着很大的关系。当然网络招聘求职的人群快速膨胀也促进了网络招聘求职平台的发展。这与市场上的生产和消费两者关系完全类似,消费促进生产,生产带动消费。根据调查结果,2015年全球的网络招聘市场覆盖率达到98%,已经达到上千亿美元的规模。IDC的高级分析师Marc Pramuk曾经表示:“从网络招聘市场扩大的事实可以看出,招聘服务市场正在发生根本的变化。据介绍,在美国、日本和欧洲等互联网普及程度高的发达国家,自上世纪90年代初互联网出现以来,网络已经成为人才进行流动的最主要渠道,而那些单纯为企业、个人提供单一集会式招聘服务的人才市场几乎已经绝迹。我国的网络招聘经过近几年的发展,几乎替代了传统招聘,70%以上的人群通过网络招聘找到工作,绝大多数企业也通过网上招聘招到了优秀的人才。 1.3开发工具与环境介绍 1.3.1 JSP简介
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。 1.3.2 JSP的技术特点
JSP的技术特点: (1)将内容的产生和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
(2)强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3)采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识
陕西理工学院毕业设计
能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。 1.3.3 SQL语言介绍
SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:ORACLE、SYBASE、MICOSOFT SQL SERVER、ACCESS、INGRESS等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们系统。但是标准的SQL命令,比如:“SELECT”、“INSERT”、“UPDATE”、“DELETE”、“CREATE”和“DROP”常常被用于完成绝大多数数据库的操作。MS SQL SERVER 就是用的TRANSACT-SQL。
1.3.4 SQLServer2000的特点:
(1)使信息更易于查找和使用
SQLServer2000继续为简便地查找信息提供易于使用的工具。 (2)支持 Web 功能的信息共享
SQLServer2000 可以通过企业内部网络Internet 很简便地实现信息共享,而且它可以很容易地将数据库定位到浏览器中,它将桌面数据库的功能和网站的功能结合在一起。
(3)用于信息管理的强大解决方案
高级用户和开发人员可以创建那些将SQLServer2000界面(客户端)的易用性和SQL服务器的可扩展性和可靠性结合在一起的解决方案。
(4)改变了数据库窗口
可在SQLServer2000容纳并显示新的对象,增强了SQLServer2000 数据库的易用性。 (5)提供名称自动更正功能
自动解决当用户重新命名数据库对象时出现的常见负面效应。例如,当用户重命名表中的字段时,将自动在诸如查询的相关对象中进行相应的更改。
(6)具有子数据表功能
子数据表在同一窗口中,提供了嵌套式的视图,这样就可以在同一窗口中专注于相关的数据并对其进行编辑。
(7)用户只需简单地将SQLServer2000对象(表、查询等)从数据库放到ODBC数据源中,即可从 Microsoft SQLServer2000中将数据导出到Microsoft ACCESS 2000 。
(8)数据访问页功能
该功能可使用户快捷方便地创建数掂 HTML页,并通过数据 HTML页,将数据库应用扩展到企业内部网络 Internet上。这将帮助用户比以往更快捷、高效的方式共享信息。
(9)共享组件的集成
SQLServer2000利用新的 Web组件和位于浏览器中的 COM 控件,为用户提供了多种查看和
第 3 页 共 45 页
分析数据的方式。
(10)Microsoft SQL Server 交互性
Microsoft SQLServer2000支持OLE DB,使用户可以将SQLServer2000 界面的易用性与诸如 Microsoft SQL Server的后端企业数据库的可升级性相结合。
陕西理工学院毕业设计
2求职招聘网站需求分析
2.1系统可行性分析
可行性分析的目的是为了明确所设计的系统是否有可能实现和值得进行。可行性论证其实是在更高层次上进行的一次大大简化的需求分析和设计。但它的目的不是去解决用户提出的问题,仅是确定这项开发是否值得进行,分析它存在哪些风险,以免造成资源的浪费。下面从经济、技术、运行三方面对本网站的可行性进行了分析。
(1)经济可行性
经济可行性研究的目的是实行系统所能带来的经济效益是否会超过这个开发这个系统的成本。需要对投资能力和经济状况进行分析。由于本网站的硬件需求为一台能接入Internet、内存1G以上的PC机就可以满足。开发环境要求为Windows XP操作系统,ASP.NET运行环境,SQL Sever2005,Visual Studio 2008编译工具。这些开发软件都可以从网站上免费下载,并且网站的成本主要集中在开发和维护过程中并不会对用户造成经济上的负担。所以在经济上是可行的。
(2)技术可行性
技术可行性是指使用现有的技术能否实现网站的设计开发与实现。本网站前台界面的开发使用ASP.NET,使用ASP可以创建动态、交互的Web服务器应用程序。数据库采用SQL server 2005,对计算机的软、硬件要求不高,当前的开发技术与数据库应用能够满足用户的需求。所以在技术上是可行的。
(3)运行可行性
本网站无论是一般的用户还是系统管理员只要通过身份验证就可以通过互联网对页面进行访问。对于后台系统管理只有管理权限的管理员可以登录,进行增加,删除,查询等工作,操作简单方便。所以网站在运行上是可行的。
(4)安全性
求职者不能随意获取他人简历的更改权限,招聘企业对求职者的相关资料只能读取,不可以更改数据。要求系统管理员有最高的权限,可以对用户进行管理。
(5)可靠性
包括与系统可靠性相关的各种指标有:正常运行率、平均无故障时间、平均修复时间、精确度、最高错误或缺陷率。本网站要求系统机器不能运行失败,系统管理员可以实施必要的数据备份。
根据以上的分析,开发该网站在技术上、经济上、运行上都是可行的。 2.2功能性需求分析
功能性需要是软件最重要的需求,也是最直观、用户最关心的软件需求。本网站主要实现的功能如下:
一个典型的求职招聘网站主要分3个模块: 管理员模块、企业管理模块、个人管理模块。 2.2.1 管理员需求
系统管理员需求:可以使用该系统为企业招聘,个人求职提供服务。
用户的管理:可以查看普通(个人或者企业)用户创建的时间,查用户角色,也可以删除用户。 公司管理:删除企业用户基本信息,删除企业用户发布过的职位信息,但是用户名还是有效的。 简历的管理:删除个人用户的简历,个人用户之前用这份简历申请的职位信息也一起删除。 修改密码:系统登录后,管理员可以修改登录密码,确保密码安全性。 2.2.2企业用户需求
企业用户需求:
企业可以使用系统注册成为企业用户并发布招聘信息。
公司信息:填写公司信息,例如公司名称、公司概述、公司地点等,可修改公司资料。只有先填写了公司信息,才能发布招聘信息,确保信息的真实性。
发布招聘:填写招聘职位的要求并发布,个人用户登录后便可看到企业用户发布的招聘信息。 修改密码:系统登录后,个人用户可以修改登录密码,确保密码安全性。
第 5 页 共 45 页
2.2.3个人用户需求
个人用户需求:
求职人员可以注册成为个人会员后通过该系统来发布求职信息。 搜索职位:查看全部职位列表,可以申请自己感兴趣的职位。 已申请职位:查看已申请的职位,也可以取消已申请的职。 2.3界面需求
界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。
(1)输出设计
输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。
系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。
(2)输入设计
输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。
输入设计的原则有如下几点:
(1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。
(2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。
(3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。 (4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。
陕西理工学院毕业设计
3系统设计
3.1系统设计思想
本系统采用基于系统生命周期的结构化方法。结构化方法的基本思路都是把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的成果。
结构化方法的主要原则,归纳起来有以下四条:
(1)用户参与原则。在实现各种功能时,人与计算机的合理分工和互相密切配合至关重要,这就需要用户对系统的功能、结构和运行规律有较深入的了解,专业人员也必须充分考虑用户的特点和使用方面的习惯与要求,以协调人—机关系。国内外经验表明,一个成功的企业网站必须注重客户的体验,良好的客户体验才是将浏览者转化为客户的重要关键。
(2)“先逻辑,后物理”的原则。要尽量避免过早地进入物理设计阶段,也就是说,在进行系统开发时,要充分地进行系统分析,解决“做什么”问题,然后再进入系统设计阶段,解决“怎样做”问题。
(3)“自顶向下”的原则。先把握系统的总体目标和功能,然后逐级分解,逐步细化。这一原则使建设者在系统建设整个过程中始终把握全局,致力于总体目标与功能的实现,把以下各级作为实现总体目标和总体功能的保证,这有利于各部分的合理分工、协调与正确配置。
(4)工作成果描述标准化原则。必须用明确的文字和标准化的图形、图表,完整、准确地进行描述,可以防止由于描述的随意性造成建设者之间的误解而殆误工作,便于工作交流和各阶段的交接,便于今后对系统进行检查、修改和扩充。
设计思想遵循以下几点:
(1) 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页搜索方式的用户。
(2) 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。
(3) 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。
(4)简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。 (5)速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。
(6)设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。 3.2功能模块设计
根据对求职者和招聘单位的分析,按照系统开发的基本观点对网站进行分解,对网站做如下划分:
个人用户:注册、登录、职位搜索、职位浏览及申请、应聘记录。 企业用户:注册、登录、招聘职位发布、浏览简历、求职者应聘记录。 管理员:个人用户、企业注册信息审查、修改标记等。 系统功能图
第 7 页 共 45 页
用户注册求职信息网上人才管理系统求职信息招聘信息前台管理招聘信息后台管理新闻资讯新闻资讯留言管理网友留言系统管理 3.1网上人才管理功能模块图
3.2.1系统管理员功能模块概述
在系统初始化时,有一个默认的“系统管理员”用户Admin,可以删除用户信息,删除添加新闻资讯,查看回复留言等功能。
新闻资讯系统管理员登录留言板用户信息 图3.2系统管理员功能模块示图
3.2.2企业管理模块功能概述
企业可以使用系统注册成为企业用户并发布招聘信息。填写公司信息,公司名称、公司概述、公司地点等,可修改公司资料,只有先填写了公司信息,才能发布招聘信息,确保信息的真实性。 填写招聘职位的要求并发布,个人用户登录后便可看到企业用户发布的招聘信息。
陕西理工学院毕业设计
浏览网站发布求职信息注册个人用户登录查看求职信息填写修改个人简历图3.3企业用户管理功能模块图
修改求职信息
3.2.3个人用户模块功能概述
求职人员可以注册成为个人会员后通过该系统来发布求职信息。 填写个人简历,更新个人简历。 查看全部职位列表,可以申请自己感兴趣的职位。 查看已申请的职位,也可以取消已申请的职位。
浏览网站发布求职信息注册个人用户登录查看求职信息填写修改个人简历图3.4个人用户功能模块图
修改求职信息 3.3系统流程概述
求职招聘流程为:系统启动并进入系统主界面,所有用户都可以浏览系统主页面。普通游客只能浏览、阅读网站信息,注册用户除了可以完成普通用户的操作外,个人用户还可以进行职位搜索、职位浏览及申请。企业用户可以发布招聘职信息、浏览简历、求职者应聘记录。管理员可以对系统信息进行添加、修改和删除的权限,及对系统管理的所有功能进行操作。总体流程图如下:
第 9 页 共 45 页
主界面管理员审核信息退出个人用户注册成功登录注册企业用户注册成功信息投递记录招聘职位我的简历个人用户判断企业用户求职者浏览个人资料管理员个人中心职位应聘记录
图3.5系统功能流程流图
3.4数据库的选择
现在,几乎任何一个大型的网络应用系统,都需要一种大型的数据库.Microsoft Access、Microsoft SQL Server、Sybase、DB2和Oracle等都是当前比较流行的大型关系数据库管理系统(RDMS),DB2和Oracle价格比较贵,操作比较复杂不是很适用。SQL SERVER 2000和任何其他RDBMS都是一个用来建立和管理数据库的引擎。它的作用和桌面型数据库ACCESS FOXBASE等一样,但是在存储大容量数据方面,在数据的安全性和完整性方面、在分布式处理和具有高效机制等方面,桌面型数据库是无法实现的。SQL SERVER 2000还提供了存储过程机制,采用存储过程有以下特点:
(1)模块化编程,创建一个存储过程保存到数据库中,可以被应用程序反复调用,可以独立的进行修改。
(2)快速执行。在创建存储过程时,就进行了分析和优化。在第一次执行后,长驻内存,从而省去了重新分析,优化,编译的过程。
(3)减少网络通信量。存储过程可以有几百条TRANSACT_SQL语句组成,执行它只用一条语句即可,减少了在网络线上的数据传输。
所以我选用Microsoft SQL Server 2000作为后台数据库。 3.5数据库需求分析
计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。
数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。
概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。
数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。
概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的, 3.6数据库设计
实体之间关系的E-R图如图3.6所示:
陕西理工学院毕业设计
个人用户n管理mm管理员发布n新闻资讯m发布m管理nnn求职信息企业用户图3.6实体关系图
m发布招聘信息(1)个人用户属性主要有姓名、密码、联系地址、电子信箱等。个人用户实体属性图如下:
联系地址电子信箱性别用户名个人用户注册时间真实姓名密码毕业院校 图3.7个人用户实体属性图
(2) 管理员包括用户名、密码、权限、注册时间。管理员实体属性图如下:
用户名密码管理员注册时间权限 图3.8管理员实体属性图
第 11 页 共 45 页
(3)新闻主要有标题、内容、时间等。新闻实体属性图如下:
添加时间添加用户内容标题新闻访问量 图3.9新闻实体属性图
(4)企业可以发布招聘信息,主要内容包括单位、要求、工资、数量、地点、电话等。招聘信息实体属性图如下:
数量工资要求单位招聘信息电话其他要求地点 图4.1招聘信息属性图
(5)求职者发布自己的求职信息,包括学历、要求、工资、等。招聘信息实体属性图如下:
学历工资要求单位求职信息电话年龄城市 陕西理工学院毕业设计
图4.2求职信息属性图
3.7数据表信息
根据数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。建立了如下数据表:
个人用户信息存储系统中的用户信息如表3.1所示
表3.1个人用户信息表 列名 Use rName Pwd Real Name Sex College Telephone Email Post Time
数据类型 varchar varchar varchar bit varchar varchar varchar Date time
长度 20 20 50 2 50 50 50
可否为空 NOT NULL NULL NULL NULL NULL NULL NULL NULL
说明 用户名 用户密码 用户真实姓名 性别 毕业院校 联系电话 电子信箱 注册时间
管理员信息表,主要记录了管理员的账号信息,包括用户名和密码,表结构如表3.2表所示 表3.2管理员信息表 列名 数据类型 长度 可否为空 说明 Admin Id Pwd
varhar varchar
20 20
表3.3招聘信息表 NOT NULL NULL
用户名 密码
招聘信息表,主要包括了招聘信息主要有内容、时间等,表结构如表3.3表所示 列名 Id Title Content Post Time
数据类型 char var char text Date time
长度 8 50 100 50
可否为空 NOT NULL NULL NULL NULL
说明 招聘信息编号 招聘信息题目 招聘信息内容 交时间
新闻资讯表,主要显示了有新闻内容,时间等,表结构如表3.4表所示
表3.4招聘信息表
列名 Id Title Content Post Time
数据类型 char var char text Date time
长度 8 50 200 50
可否为空 NOT NULL NULL NULL NULL
说明 新闻信息编号 新闻信息题目 新闻信息内容 提交时间
数据结构
数据结构反映数据之间的组合关系。一个数据结构由若干个数据项或数据结构组成。 数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}} 个人数据结构描述如表3.5所示
表3.5个人数据结构描述表
数据结构名
含义说明 组成
个人
定义了一个用户的所有有关的信息
用户名、用户密码、性别、出生日期、户籍、所在地
流动流程信息数据结构描述如表3.6所示
第 13 页 共 45 页
表3.7.6流动流程信息数据结构表
数据结构名
含义说明 组成
流动流程信息
定义了流动流程的所有有关的信息 编号 流动流程名称、流动流程类别、
表3.7招聘信息数据结构表
招聘信息数据结构描述,如表3.7所示 数据结构名
含义说明 组成
招聘信息信
定义了招聘信息的所有有关的信息
招聘信息编号,招聘信息题目、招聘信息内容、提交时间
表管理员数据结构表3.8
管理员数据结构描述,如表3.8所示 数据结构名
含义说明 组成
管理员
定义了管理员的所有有关的信息 用户名、密码
3.8数据库物理结构设计
数据库物理设计指确定数据库在物理设备上的存储结构与存取方法。
确定数据库的物理结构:是否聚集存储,如何建立索引,数据的存放位置,确定系统配置等。介于本系统数据库的简单性,我们没有采用聚集存储之类的结构设计。 3.9数据库的实现
数据库及表
use master
go % drop the exist database
if exists (select * from dbo.sysdatabases where name = 'libarary') drop database Job GO
create database Job %create database go use Job
go % drop exist tables
if exists (select * from dbo.sysobjects where id = object_id(N'READERS') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table News GO
if exists (select * from dbo.sysobjects where id = object_id(N'POPEDOM') GO
if exists (select * from dbo.sysobjects where id = object_id(N'BOOKS') GO
if exists (select * from dbo.sysobjects where id = object_id(N'BOOKREADERS')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Company
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Skill
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Person
陕西理工学院毕业设计
GO
if exists (select * from dbo.sysobjects where id = object_id(N'MANAGERS') GO
if exists (select * from dbo.sysobjects where id = object_id(N'BOOKS') GO
if exists (select * from dbo.sysobjects where id = object_id(N'BOOKREADERS')
and OBJECTPROPERTY(id, N'IsUserTable') = 1) and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Application
and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table Job
第 15 页 共 45 页
4系统功能实现
4.1招聘信息的实现
显示招聘信息、添加招聘信息、修改招聘信、删除招聘信息 界面如下图:
图4.3招聘信息界面
图4.4发布招聘信息 发布招聘信息流程图:
陕西理工学院毕业设计
开始企业用户后台发布招聘信息是发布成功否结束 图4.5发布招聘信息流程图
关键代码:
public class JobServlet extends HttpServlet {
public JobServlet() { }
public void destroy() {
super.destroy(); }
public void doGet(HttpServletRequest request, HttpServletResponse response) 4.2求职信息的实现
个人用户可以浏览招聘信息、发布求职信息、查看申请职位流程。
第 17 页 共 45 页
图4.6发布求职信息
图4.7个人用户申请职位信息
发布求职信息流程图:
开始个人用户后台发布求职信息是发布成功否结束 陕西理工学院毕业设计
4.8发布求职信息流程图
关键代码:
public class JobServlet extends HttpServlet {
public JobServlet() { }
public void destroy() {
super.destroy(); }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 4.3 界面实现
界面作为用户熟悉、操作和阅读的窗口,是相当重要的,好的界面可以提高系统的友善性,因此,界面在系统开发中的地位是不容忽视的。
本系统开发界面遵循如下设计原则:
(1) 在界面上要限制字体的样式和其他文本格式例如文字大小、颜色等,因为繁多的文字样式容易分散拥护对文字本身的注意力。如果文本样式看起来过于图形化,用户会把它当作广告而忽略。
(2) 当然最主要的是页面要易读,这意味着,必须注重规划文字和背景颜色的搭配方案。不要使背景的颜色冲淡了文字的视觉效果,不要用花里胡哨的色彩组合,一般来说,浅色背景下的深色文字为佳。这同时也意味着,最好别把文字的规格设得太小、也不能太大。另外,最好让文本左对齐,而不是居中。按当代中文的阅读习惯,文本大都居左的。当然,标题一般应该居中,因为这也符合读者的阅读习惯。
(3) 使用高对比度的文字颜色和背景颜色,从而使文字尽量清晰。
界面并不是越长越好,最佳设计是在一个半版面之内。因为过长的页面会使用户觉得过于拥挤和繁冗。另外,页面容量越小越好,最好不要超过75K。有研究显示,如果一个网站页面的主体在15秒之内显示不出来,用户会很快失去兴趣。
(4) 最好使用动态页面设置,即在设计时最好使用相对位置设置,使界面大小的更改不至于影响到界面质量
(5) 网站导航要清晰,即所有的超链接应清晰无误地向读者标志出来,所有导航性质的设置,像图像按钮,都要有清晰的标志,让人看得明白,不能光顾视觉效果。链接文本的颜色最好用约定速成的:未访问的,蓝色;点击过的,紫色或栗色。清晰导航还要求:读者进入目的页的点击次数,不能超过三次。如果三次以上还找不到,那么拥护可能就没有耐心了。
网页风格要统一,即网页上的图像、文字,包括背景颜色、区分线、字体、标题、注脚等,要统一风格,贯穿全站,从而给用户一种舒服、顺畅的感觉。
基于以上原则,给出系统示意界面如下:
第 19 页 共 45 页
图4.9系统界面
4.4添加和修改新闻资讯
(1)系统运行流畅,没有出现问题,界面可以显示新闻资讯。 (2)管理员可登陆后台进行新闻资讯进行添加、修改。 (3)运行结果如下图:
陕西理工学院毕业设计
图5.1新闻界面 新闻添加修改流程图如下所示:
开始管理员登录Y新增新闻?NY添加新闻删除新闻删除新闻?YN修改新闻?修改新闻NY是否继续?N结束 图5.2新闻添加、修改、删除流程图 实现关键代码如下:
public class NewsServlet extends HttpServlet { private ServletConfig config; /** * Constructor of the object. */ public NewsServlet() { super(); } final public void init(ServletConfig config) throws ServletException 4.5留言板功能实现
1界面显示游客留言
2实现管理员可以进行回复的功能 运行如下图:
第 21 页 共 45 页
图5.3留言界面 流程图如下:
管理员登录查看留言NN删除回复YY是否继续N结束
陕西理工学院毕业设计
图5.4留言板流程图
留言板源代码:
public class liuyanAction extends ActionSupport { private Integer id; private String neirong; private String liuyanshi; private Integer stuId; private String huifu; private String huifushi; private TLiuyanDAO liuyanDAO; 4.6登录界面的实现
用户和企业用户都可以输入自己的用户和密码,登录到系统。登录后,用户才能实现自己特有的功能。判断用户是否登录,如果已经登录到系统,则显示用户信息如果没有登录,则显示登录的表单
图5.5登陆界面 登录程序流程图:
第 23 页 共 45 页
开始用户登录选择用户登录类型N信息是否正确返回登陆界面Y结束
图5.6登录程序流程图
代码如下:
public String adminAdd() { TAdmin admin=new TAdmin(); admin.setUserName(userName); admin.setUserPw(userPw); adminDAO.save(admin); this.setMessage(\"操作成功\"); this.setPath(\"adminManage.action\"); return \"succeed\"; } public String adminManage()
陕西理工学院毕业设计
5系统测试
5.1系统测试目的意义
在整个系统开发管理过程里边,系统测试应该算是一个非常重要并且漫长的的阶段。因为它是保证系统质量和可靠性的最终环节,是对整个系统开发过程,包括系统分析、系统设计和系统实现阶段的最后核查。
系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是正对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。 5.2测试过程
在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。
这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。 主页面的登录模块测试:
测试流程:(1)打开系统首页,输入错误的登录信息 (2)登录
(3)输入正确的登录信息 (4)登录
(5)测试结果
(1)测试用例(1)(用户名不为空,密码为空)实际结果与预期一致,如图9所示:
图5.7测试结果
(2)测试用例(2)(用户名为空,密码为空)实际结果与预期一致,如图10所示:
第 25 页 共 45 页
图5.8测试结果
(3)测试用例(3)(用户名不为空,密码不为空,但不相符)实际结果与预期一致,如图11所示:
图5.9用例(3)测试结果
测试结果如表5.1所示: 模块名称 登录模块
测试用例
用户名:asddfg 密码:
登录模块
用户名: qwert 密码:
登录模块
用户名:qazxsw 密码:
预期结果
弹出错误提示,请输入用户名
实际结果
登录失败,提示请输入用户名
弹出错误提示,请输入密码
失败,提示输入密码
弹出错误提示,用户名或者密码错误
登录失败,提示用户名或者密码错误
陕西理工学院毕业设计
表5.1测试结果
5.3其他错误
在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误。如图5.4所示
图6.1由于servlet路径配置错误,运行时的提示
第 27 页 共 45 页
总结
经过一个多月的设计和开发,系统完成。系统基本符合网站风格。后台主要是网络管理员登录,进行招聘信息管理、信息管理等,完全满足了网站正常、安全的运行。前台主要是后台信息的管理,以及个人或企业用户登录发布或修改自己信息。
在整个设计过程中,出现过很多的问题,得到了老师和同学的帮助,在不断学习的过程中我体会到:
(1)作是一个不断学习的过程,从设计初的模糊认识到最后能够顺利完成,我体会到在实践中学习的重要性。
(2)由于开始时对系统缺乏整体认识,不具备软件开发思想,对系统的功能需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。
(3)在设计过程中,遇到很多困难,我学会通过别人的代码理解语言的含义但这并不是抄袭,然后根据自己的设计要求编写代码。
(4)设计过程中,由于要实现某些功能,网上资源解决了我的问题。。
总之,通过这次设计,我深刻体会到要做好一个完整的事情,需要有系统的思维方式和方法,对待一个新的问题,要耐心、要善于运用已有的资源来充实自己。同时我也深刻的认识到,在对待一个新事物时,一定要从整体考虑,完成一步之后再作下一步,这样对于系统而言才能更加有效。就比如说在这次的设计,我不但对JSP和MS SQL SERVER2000有了深刻的认识,积累了使用软件工程的思想来开发软件的经验,同时最重要的是摸索出了一套考虑问题和解决问题的方法,这对于我以后的学习受益匪浅。
陕西理工学院毕业设计
致谢
在本次毕业设计过程中,得到了指导老师的指导与支持。在此特别感谢李娜老师的大力帮助。指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助,同时根我们提供了非常优越的设计环境,并对我在编程、数据库设计等细节工作上给予了耐心的指导,对于我顺利完成这次毕业设计起到了关键性的作用。
此次毕业设计对提高我的编程技术等方面都由许多益处。在此我一并向他表示感谢。我还要感谢我的母校——陕西理工学院,以及在大学四年生活中给予我关心和帮助的老师和同学,是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名计算机专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光,为自己翻开辉煌的新篇章。
第 29 页 共 45 页
参考文献
[1] 牛德雄,陈华政著.基于MVC的JSP软件开发案例教程[M].北京:清华大学出版社,2014. [2] 张新曼著.精通JSP-WEB开发技术与典型应用[M].北京:人民邮电出版社,2012. [3] 贺平著.软件测试教程[M].北京:电子工业出版社,2012.
[4] 陈显刚,李季著.Java 项目实战精编[M].北京:电子工业出版社,2010. [5] 刘志成著.Java 程序设计案例教程[M].北京:清华大学出版社,2009. [6] 胡林玲,黄奇著.软件工程与 UML[M].北京:电子工业出版社,2008. [7] 戴维尔著.JavaScript程序员教程[M].北京:电子工业出版社,2010.
[8] [美]Martin Fowler著.重构—改善代码既有代码的设计[M].北京:人民邮电出版社,2010. [9] 张孝祥,徐明华著.JAVA基础与案例开发详解 [M].北京:清华大学出版社, 2009. [10] 康牧著.JSP动态网站开发实用教程[M].北京:清华大学出版社,2009. [11] 于万波著.网站开发与应用案例教程[M].北京:清华大学出版社,2009.
[12] [美]Joshua Bloch著.Effective Java中文版[M].杨春花,俞黎敏译.北京:机械工业出版社,2009. [13] 任泰明著.TCP/IP网络编程[M].北京:人民邮电出版社,2009.
[14] 杨学瑜,高立军著.软件开发过程与项目管理[M].北京:电子工业出版社,2008. [15] 黎连业,王华,李淑春著.软件测试与测试技术[M].北京:清华大学出版社,2009. [16] 唐友国,湛洪波著.JSP网站开发详解[M].北京:电子工业出版社,2008. [17] 卫红春著.信息系统分析与设计[M].北京:清华大学出版社,2009. [18] 张大方,李玮等著.软件测试技术与管理[M].湖南:湖南大学出版社,2007.
[19] 孙卫琴著.Tomcat与Java Web开发技术详解(第2版) [M].北京:电子工业出版社,2009. [20]Bollela G, Gosling J, Brosgol B, et al. The Real-time Specification for Java[M]. [S. l.]: Addison Wesley, 2000. [21] Connor J M O, Tremblay M. PicoJava-I: The Java Virtual Machine in Hardware[J]. IEEE Micro, 1997.
陕西理工学院毕业设计
科技外文文献
Computer network
A computer network is a type of telecommunications network between data processing nodes for the purpose of data communications. It is a communications network in which the end points are computers.[1] The interconnection of computers is accomplished with a variety of networking hardware.
Two devices are said to be networked, when a process in one device is able to exchange information with a process in another device. Networks may be classified by various characteristics, such as the media used to transmit signals, the communications protocols used to organize network traffic, network scale, network topology, benefits, and organizational scope. The best known computer network is the Internet.
Communication protocols define the rules and data formats for exchanging information in a computer network. Well-known communications protocols include Ethernet, a hardware and link layer standard that is widely used for local area networks, and the Internet protocol suite (TCP/IP), which defines a set of protocols for communication between multiple networks, for host-to-host data transfer, and for application-specific data transmission formats. Protocols provide the basis for network programming.
Computer networking may be considered a branch of electrical engineering, telecommunications, computer science, information technology or computer engineering, since it relies upon the theoretical and practical application of the related disciplines.
History
Before the advent of computer networks based on telecommunications systems, communication between calculation machines and early computers was performed by human users by carrying instructions between them. The overwhelming method for transferring information between computers today is via computer networks. However, using a method that is fondly known as \"sneakernet,\" people do continue to hand-carry information to be transferred to another person's computer via removable storage media (such as flash drives).
• In September 1940, George Stibitz used a teletype to send instructions for a problem set from his Model at
Dartmouth College to his Complex Number Calculator in New York and received results back by the same means.
• In the late 1950s, early networks of communicating computers included the military radar system
Semi-Automatic Ground Environment (SAGE).
• In 1960, the commercial airline reservation system semi-automatic business research environment (SABRE)
went online with two connected mainframes.
• In 1962, J.C.R. Licklider developed a working group he called the \"Intergalactic Computer Network\a
precursor to the ARPANET, at the Advanced Research Projects Agency (ARPA).
• In 1964, researchers at Dartmouth developed the Dartmouth Time Sharing System for distributed users of
large computer systems. The same year, at Massachusetts Institute of Technology, a research group supported by General Electric and Bell Labs used a computer to route and manage telephone connections.
• Throughout the 1960s, Leonard Kleinrock, Paul Baran and Donald Davies independently conceptualized
and developed network systems which used packets to transfer information between computers over a network.
• In 1965, Thomas Marill and Lawrence G. Roberts created the first wide area network (WAN). This was an
immediate precursor to the ARPANET, of which Roberts became program manager.
• Also in 1965, the first widely used telephone switch that implemented true computer control was introduced
by Western Electric.
• In 1969, the University of California at Los Angeles, the Stanford Research Institute, the University of
California at Santa Barbara, and the University of Utah were connected as the beginning of the ARPANET network using 50 kbit/s circuits.[2]
• In 1972, commercial services using X.25 were deployed, and later used as an underlying infrastructure for
expanding TCP/IP networks.
第 31 页 共 45 页
Today, computer networks are the core of modern communication. All modern aspects of the public switched telephone network (PSTN) are computer-controlled. Telephony increasingly runs over the Internet Protocol, although not necessarily the public Internet. The scope of communication has increased significantly in the past decade. This boom in communications would not have been possible without the progressively advancing computer network. Computer networks, and the technologies that make communication between networked computers possible, continue to drive computer hardware, software, and peripherals industries. The expansion of related industries is mirrored by growth in the numbers and types of people using networks, from the researcher to the home user.
An interconnected collection of autonomous computers (unique identity) is known as a computer network. Properties
A computer network has the following properties: Facilitates interpersonal communications
People can communicate efficiently and easily via email, instant messaging, chat rooms, telephone, video telephone calls, and video conferencing.
Allows sharing of files, data, and other types of information
Authorized users may access information stored on other computers on the network. Providing access to information on shared storage devices is an important feature of many networks.
Allows sharing of network and computing resources
Users may access and use resources provided by devices on the network, such as printing a document on a shared network printer. Distributed computing uses computing resources across a network to accomplish tasks.
May be insecure
A computer network may be used by computer crackers to deploy computer viruses or computer worms on devices connected to the network, or to prevent these devices from accessing the network (denial of service).
May interfere with other technologies
Power line communication strongly disturbs certain[3]forms of radio communication, e.g., amateur radio. It may also interfere with last mile access technologies such as ADSL and VDSL.
May be difficult to set up
A complex computer network may be difficult to set up. It may be costly to set up an effective computer network in a large organization.
Communication media
Computer networks can be classified according to the hardware and associated software technologies used to interconnect the individual network devices. These technologies include electrical cable (HomePNA, power line communication, G.hn), optical fiber, and radio waves (wireless LAN). In the OSI model, these are located at levels 1 and 2.
A widely-adopted family of communication media is collectively known as Ethernet. Defined by IEEE 802, it uses various standards and media to enable communication between devices. Wireless LAN technology is designed to connect devices without wiring. These devices use radio waves or infrared signals as a transmission medium.
Wired technologies
The order of the following wired technologies are, roughly, from slowest to fastest transmission speed.
Twisted pair wire is the most widely used medium for telecommunication. Twisted-pair cabling consist of copper wires that are twisted into pairs. Ordinary telephone wires consist of two insulated copper wires twisted into pairs. Computer network cabling (wired Ethernet as defined by IEEE 802.3) consists of 4 pairs of copper cabling that can be utilized for both voice and data transmission. The use of two wires twisted together helps to reduce crosstalk and electromagnetic induction. The transmission speed ranges from 2 million bits per second to 10 billion bits per second. Twisted pair cabling comes in two forms: unshielded twisted pair (UTP) and shielded twisted-pair (STP). Each form comes in several category ratings, designed for use in various scenarios.
陕西理工学院毕业设计
Coaxial cable is widely used for cable television systems, office buildings, and other work-sites for local area networks. The cables consist of copper or aluminum wire surrounded by an insulating layer (typically a flexible material with a high dielectric constant), which itself is surrounded by a conductive layer. The insulation helps minimize interference and distortion. Transmission speed ranges from 200 million bits per second to more than 500 million bits per second.
ITU-T G.hn technology uses existing home wiring (coaxial cable, phone lines and power lines) to create a high-speed (up to 1 Gigabit/s) local area network.
An optical fiber is a glass fiber. It uses pulses of light to transmit data. Some advantages of optical fibers over metal wires are less transmission loss, immunity from electromagnetic radiation, and very fast transmission speeds of up to trillions of bits per second. One can use different colors of lights to increase the number of messages being sent over a fiber optic cable.
Wireless technologies Main article: Wireless network
Terrestrial microwave – Terrestrial microwave communication uses Earth-based transmitters and receivers resembling satellite dishes. Terrestrial microwaves are in the low-gigahertz range, which limits all communications to line-of-sight. Relay stations are spaced approximately 48 km (30 mi) apart.
Communications satellites – Satellites communicate via microwave radio waves, which are not deflected by the Earth's atmosphere. The satellites are stationed in space, typically in geosynchronous orbit 35,400 km (22,000 mi) above the equator. These Earth-orbiting systems are capable of receiving and relaying voice, data, and TV signals.
Cellular and PCS systems use several radio communications technologies. The systems divide the region covered into multiple geographic areas. Each area has a low-power transmitter or radio relay antenna device to relay calls from one area to the next area.
Radio and spread spectrum technologies – Wireless local area networks use a high-frequency radio technology similar to digital cellular and a low-frequency radio technology. Wireless LANs use spread spectrum technology to enable communication between multiple devices in a limited area. IEEE 802.11 defines a common flavor of open-standards wireless radio-wave technology.
Infrared communication can transmit signals for small distances, typically no more than 10 meters. In most cases, line-of-sight propagation is used, which limits the physical positioning of communicating devices.
A global area network (GAN) is a network used for supporting mobile across an arbitrary number of wireless LANs, satellite coverage areas, etc. The key challenge in mobile communications is handing off user communications from one local coverage area to the next. In IEEE Project 802, this involves a succession of terrestrial wireless LANs.[4]
Exotic technologies
There have been various attempts at transporting data over exotic media:
• •
IP over Avian Carriers was a humorous April fool's Request for Comments, issued as RFC 1149. It was Extending the Internet to interplanetary dimensions via radio waves.[6]
implemented in real life in 2001.[5]
Both cases have a large round-trip delay time, which gives slow two-way communication, but doesn't prevent sending large amounts of information.
Communications protocols and network programming
A communications protocol is a set of rules for exchanging information over a network. In a protocol stack (also see the OSI model), each protocol leverages the services of the protocol below it. An important example of a protocol stack is HTTP running over TCP over IP over IEEE 802.11. (TCP and IP are members of the Internet Protocol Suite. IEEE 802.11 is a member of the Ethernet protocol suite.) This stack is used between the wireless router and the home user's personal computer when the user is surfing the web.
Communication protocols have various characteristics. They may be connection-oriented or connectionless, they may use circuit mode or packet switching, and they may use hierarchical addressing or flat addressing.
There are many communication protocols, a few of which are described below.
第 33 页 共 45 页
Ethernet
Ethernet is a family of protocols used in LANs, described by a set of standards together called IEEE 802 published by the Institute of Electrical and Electronics Engineers. It has a flat addressing scheme. It operates mostly at levels 1 and 2 of the OSI model. For home users today, the most well-known member of this protocol family is IEEE 802.11, otherwise known as Wireless LAN (WLAN). The complete IEEE 802 protocol suite provides a diverse set of networking capabilities. For example, MAC bridging (IEEE 802.1D) deals with the routing of Ethernet packets using a Spanning Tree Protocol, IEEE 802.1Q describes VLANs, and IEEE 802.1X defines a port-based Network Access Control protocol, which forms the basis for the authentication mechanisms used in VLANs (but it is also found in WLANs) – it is what the home user sees when the user has to enter a \"wireless access key\".
Internet Protocol Suite
The Internet Protocol Suite, also called TCP/IP, is the foundation of all modern internetworking. It offers connection-less as well as connection-oriented services over an inherently unreliable network traversed by datagram transmission at the Internet protocol (IP) level. At its core, the protocol suite defines the addressing, identification, and routing specifications for Internet Protocol Version 4 (IPv4) and for IPv6, the next generation of the protocol with a much enlarged addressing capability.
SONET/SDH
Synchronous optical networking (SONET) and Synchronous Digital Hierarchy (SDH) are standardized multiplexing protocols that transfer multiple digital bit streams over optical fiber using lasers. They were originally designed to transport circuit mode communications from a variety of different sources, primarily to support real-time, uncompressed, circuit-switched voice encoded in PCM(Pulse-Code Modulation) format. However, due to its protocol neutrality and transport-oriented features, SONET/SDH also was the obvious choice for transporting Asynchronous Transfer Mode (ATM) frames.
Asynchronous Transfer Mode
Asynchronous Transfer Mode (ATM) is a switching technique for telecommunication networks. It uses asynchronous time-division multiplexing and encodes data into small, fixed-sized cells. This differs from other protocols such as the Internet Protocol Suite or Ethernet that use variable sized packets or frames. ATM has similarity with both circuit and packet switched networking. This makes it a good choice for a network that must handle both traditional high-throughput data traffic, and real-time, low-latency content such as voice and video. ATM uses a connection-oriented model in which a virtual circuit must be established between two endpoints before the actual data exchange begins.
While the role of ATM is diminishing in favor of next-generation networks, it still plays a role in the last mile, which is the connection between an Internet service provider and the home user. For an interesting write-up of the technologies involved, including the deep stacking of communications protocols used, see.[7]
Network programming
Computer network programming involves writing computer programs that communicate with each other across a computer network. Different programs must be written for the client process, which initiates the communication, and for the server process, which waits for the communication to be initiated. Both endpoints of the communication flow are implemented as network sockets; hence network programming is basically socket programming.
Scale
A network can be characterized by its physical capacity or its organizational purpose. Use of the network, including user authorization and access rights, differ accordingly.
Personal area network
A personal area network (PAN) is a computer network used for communication among computer and different information technological devices close to one person. Some examples of devices that are used in a PAN are personal computers, printers, fax machines, telephones, PDAs, scanners, and even video game
陕西理工学院毕业设计
consoles. A PAN may include wired and wireless devices. The reach of a PAN typically extends to 10
meters.[8] A wired PAN is usually constructed with USB and Firewire connections while technologies such as Bluetooth and infrared communication typically form a wireless PAN.
Local area network
A local area network (LAN) is a network that connects computers and devices in a limited geographical area such as home, school, computer laboratory, office building, or closely positioned group of buildings. Each computer or device on the network is a node. Current wired LANs are most likely to be based on Ethernet technology, although new standards like ITU-T G.hn also provide a way to create a wired LAN using existing home wires (coaxial cables, phone lines and power lines).[9]
A sample LAN is depicted in the accompanying diagram. All interconnected devices use the network layer (layer 3) to handle multiple subnets (represented by different colors). Those inside the library have only 10/100 Mbit/s Ethernet connections to the user device and a Gigabit Ethernet connection to the central router. They could be called \"layer 3 switches\" because they only have Ethernet interfaces and must understand IP. It would be more correct to call them access routers, where the router at the top is a distribution router that connects to the Internet and to the academic networks' customer access routers.
第 35 页 共 45 页
计算机网络
计算机网络是一种数据处理节点的通信网络。多种网络的硬件将计算机之间联系起来,从而实现数据通信。
最著名的计算机网络是互联网,当一个设备的过程能够与另一个装置过程交换信息。网络可以由不同的特点进行分类,如用来传输信号的媒体,通信协议,用于组织的网络流量,网络规模,网络拓扑,利益,和组织范围。
通信协议定义的规则和数据在计算机网络中的信息交换格式。众所周知,通信协议,包括以太网,硬件和链路层标准,广泛用于局域网,与互联网协议(TCP / IP),它定义了多个网络之间的通信的一组协议,用于主机到主机的数据传输,和应用程序特定的数据传输格式。协议为网络规划提供依据。
计算机网络是电子工程,通信,计算机科学的一个分支,信息技术或计算机工程,因为它依赖于相关学科理论的应用和实践
历史
在基于电信系统的计算机网络的出现,计算机和早期的计算机之间的通信是由人类用户之间进行说明。信息传输计算机之间的压倒性的方法今天是通过计算机网络。然而,使用被誉为“sneakernet方法,“人们继续手提被转移到另一个人的电脑信息通过移动存储介质(如闪存驱动器)。
•1940九月,乔治Stibitz用电传发送设置从他的模型在达特茅斯学院他的复数计算器在纽约问题的指示和接收结果后用同样的方法。
•在上世纪50年代后期,通信计算机网络包括早期军用雷达系统半自动地面环境(SAGE)。 •1960,商业航空公司预订系统半自动商业研究环境(Sabre)上网两连接主机。
•1962,j.c.r.克莱德开发工作组,他称之为“星际计算机网络”,为阿帕网的先驱,在高级研究计划署(ARPA)。
•1964,达特茅斯的研究人员开发的大型计算机系统的分布式用户达特茅斯的时间共享系统。同年,在麻省理工学院的一个研究小组,由通用电气公司和贝尔实验室支持用电脑路由和管理电话连接。
•整个20世纪60年代,伦纳德教授,保罗巴兰和唐纳德戴维斯独立的概念和发展,用数据包在网络之间传输信息的计算机网络系统。
•1965,托马斯公司和劳伦斯G.罗伯茨创建了第一个广域网(WAN)。这是一个直接前体的阿帕网,其中罗伯茨成为项目经理。
•也在1965,第一个广泛使用的电话交换机,实现真正的计算机控制的西部电气公司介绍。 •1969,加州大学洛杉矶分校,斯坦福研究院,加州大学圣芭芭拉分校,和犹他大学的连接作为开始的ARPANET网络使用50 kbit/s电路。[ 2 ]
•1972,使用X.25商业服务被部署,后来作为一个基本的TCP / IP网络基础设施的扩展。
今天,计算机网络是现代通信的核心。所有现代的公共交换电话网络(PSTN)是计算机控制。电话越来越在互联网上运行的协议,虽然不一定是公共互联网。沟通的范围在过去的十年里有显著增加。这种繁荣的通信不逐步推进计算机网络成为可能。计算机网络,并使网络计算机之间的通讯技术,继续推动计算机硬件,软件,和外设行业。相关产业的扩展是通过在数量和类型的增长反映了人们使用网络,从研究员到家庭用户。
性能
计算机网络具有以下特性:促进人际沟通人们可以轻松有效地沟通,通过电子邮件,即时通讯,聊天室,电话,视频电话,视频会议允许共享的文件,数据,和其他类型的信息授权用户可以访问网络上的其他计算机上存储的信息。提供访问共享存储设备的信息是许多网络的一个重要特征。让网络和计算资源共享用户可以访问和使用网络上的装置所提供的资源,比如在一个共享的网络打印机打印文件。分布式计算应用在网络上的计算资源来完成任务。不安全的计算机网络可以由计算机
陕西理工学院毕业设计
黑客用来部署计算机病毒或蠕虫连接到网络上的设备,或防止这些设备访问网络(拒绝服务)。可能会干扰其他技术电力线通信的强烈干扰某些[ 3 ]形式的无线通信,例如,业余无线电。它也可能干扰的最后一公里接入技术如ADSL、VDSL。可能很难建立一个复杂的计算机网络可能很难建立。这可能是建立在一个大的组织的一个有效的计算机网络昂贵。
传播媒介
计算机网络可以根据硬件和相关的软件技术,用于连接各个网络设备。这些技术包括电缆(HomePNA,电力线通信,G.hn),光纤,无线电波(无线局域网)。在OSI模型中,分别位于1和2水平。一个被广泛采用的家庭通信媒体统称为以太网。通过IEEE 802定义,它使用不同的标准和媒体使设备之间的通信。无线局域网技术是使用无线设备进行连接。这些设备使用无线电波或红外线信号作为传输介质。
有线技术
双绞线是目前应用最广泛的通讯媒介。双绞线布线是扭曲的,成对的铜导线。普通电话线由两个绝缘铜导线扭绞成对。计算机网络综合布线(有线以太网的IEEE 802.3定义)由4对铜布线,可用于语音和数据传输。使用两根导线绞在一起,有助于减少串扰和电磁感应。传输速度从每秒比特每秒比特。双绞线布线有两种形式:非屏蔽双绞线(UTP)和屏蔽双绞线(STP)。每种形式有几种分类标准,设计用于在各种情况下。同轴电缆广泛用于有线电视系统,办公楼,和其他工作区域的局域网。电缆由铜或铝导线周围的绝缘层(通常是一个具有高介电常数的柔性材料),它本身是包围的导电层。绝缘有助于减少干扰和失真。传输速度范围从比特每秒超过比特每秒。ITU-T G.hn技术使用现有的家庭布线(同轴电缆,电话线和电源线)创建一个高速(可达1吉比特/秒)局域网。光纤是一种玻璃纤维。它利用光脉冲传输数据。光学纤维在金属丝的优点是传输损耗小,电磁辐射免疫,和高达数万亿比特每秒传输速度非常快。可以使用不同颜色的光,以增加在光纤电缆发送的消息数。
无线技术
地面微波–地面微波通信采用基于地球卫星天线接收器,发射器和类似。地面微波在低千兆赫范围,这限制了所有通信的视线。中继站间隔约48公里(30英里)外。
通信卫星–卫星通过微波无线电波进行通信,这是不是由地球大气折射。卫星安置在空间,通常在地球同步轨道35400公里(22000英里)的赤道上。这些地球轨道系统能接收和转发语音,数据,电视信号。
蜂窝和电脑系统使用多个无线电通信技术。该系统分为多个地区的地理区域覆盖每个地区都有一个低功率的发射机或无线电中继天线装置继电器从一处调用下一个区域。
无线扩频技术–无线局域网使用的高频无线电技术类似于数字蜂窝和低频无线电技术。无线局域网使用扩频技术使在有限区域内多个设备之间的通信定义了开放标准的无线电波技术常见的味道IEEE 802.11。红外通信可以传输距离信号小,通常不超过10米。在大多数情况下,视线传播使用,这限制了通信设备的物理定位。
全球区域网络(GaN)是一种用于支持移动到任意数量的无线局域网网络,卫星覆盖区域,移动通信等关键的挑战是把用户通信从一个地方到另一个覆盖区。在IEEE 802项目,这涉及一系列地面无线局域网。[ 4]
外来技术
有在传输数据外来媒体的各种尝试:
•IP在鸟类是一个幽默的四月愚人征求意见,作为RFC 1149发布。这是2001在现实生活中实现。[ 5 ]
互联网延伸到星际维度通过无线电波。[ 6 ]
这两种情况下有一个大的往返延迟时间,使缓慢的双向沟通,但不会阻止发送大量的信息。 通信协议和网络编程
通信协议是一套信息通过网络交换规则。在协议栈(参见OSI模型),利用每个协议的协议下的服务。一个重要的例子是HTTP协议栈运行在TCP IP在IEEE 802.11。(TCP和IP是Internet
第 37 页 共 45 页
协议套件的成员。IEEE 802.11是以太网协议套件的一个成员。)这个堆栈用于无线路由器和家庭用户的个人电脑之间,当用户浏览网页。
通信协议各有特点。他们可以是面向连接或无连接的,他们可能会使用电路模式和分组交换,他们可以使用分层寻址或平面寻址。
以太网
以太网是一种在局域网中使用的协议,通过一套标准被称为IEEE 802的电气和电子工程师协会出版的描述。它有一个平的解决方案。它主要是在1级和2的OSI模型。今天,对于家庭用户来说,这一协议家族最著名的成员是IEEE 802.11,否则称为无线局域网(WLAN)。完整的IEEE 802协议套件提供了一组不同的网络功能。例如,MAC桥接(IEEE 802.1D)使用生成树协议的以太网数据包的路由协议,IEEE 802.1Q VLAN的定义和描述,IEEE 802.1x基于端口的网络访问控制协议,形成用于VLAN的认证机制的基础上(但也发现在WLAN)–是什么家庭用户看到当用户进入“无线接入的关键”。
互联网协议套件
互联网协议套件,也被称为TCP / IP,是所有现代互联网络的基础。它提供了无连接和面向连接的服务在本质上是不可靠的数据报传输网络穿越在互联网协议(IP)的水平。在其核心,协议定义了寻址,识别,和路由的Internet协议版本4(IPv4)和IPv6规范,具有非常大的寻址能力的协议的下一代。
SONET / SDH
同步光纤网络(SONET)和同步数字体系(SDH)是标准化的复用协议,传输多个数字比特流,在用激光光纤。他们最初的设计运输线路模式通信从各种不同的来源,主要是为了支持实时压缩,电路交换,在PCM(脉冲编码调制)编码的语音格式。然而,由于其协议的中立性和运输为主的特点,SONET / SDH也被运送的异步传输模式(ATM)帧的显而易见的选择。
异步转移模式
异步传输模式(ATM)是一种用于电信网络的交换技术。采用异步时分复用和数据编码成小的,固定大小的细胞。这不同于其他协议如Internet协议套件或以太网,使用可变大小的数据包或帧。ATM与电路交换和分组交换网络的相似性。这使得网络必须处理传统的高通量的数据流量,一个好的选择,低延迟的实时内容,如声音和视频。ATM采用面向连接的虚电路模型必须实际数据交换开始之前的两个端点之间建立。
而ATM的作用是减少在下一代网络的青睐,它在“最后一公里”仍然在起作用,这是一个互联网服务提供商和用户之间的连接。一个有趣的写了相关的技术,包括通信协议的应用,深层见。[ 7 ]
网络编程
计算机网络编程涉及编写计算机程序,通过计算机网络相互沟通。不同的程序必须为客户写的过程中,发起通信,并对服务器进程,并等待通信开始。该通信流的两个端点网络套接字网络编程实现;因此,基本的socket编程。
规模
网络的特点是它的物理量或其组织的目的。利用网络,包括用户授权和访问权限,也不同。 个人区域网络
个人区域网(PAN)是一种用于计算机和不同的信息技术设备接近一个人之间的计算机通信网络。有些是用在锅设备的例子是个人电脑,打印机,传真机,电话,掌上电脑,扫描仪,甚至视频游戏机。一个锅可以包括有线和无线设备。一个泛范围通常延伸到10米。[ 8 ]有线盘通常采用USB和火线连接,如蓝牙和红外通信技术通常形成一个无线PAN。
局部区域网络
一个局域网(LAN)是一个网络连接的计算机和设备在有限的地理区域,如家庭,学校,计算机实验室,办公楼,或密切位于建筑群。每台计算机或网络上的设备是一个节点。目前的有线局域网是最有可能的是基于以太网技术的新标准,虽然像ITU-T G.hn也提供了一种方法,利用现有的国
陕西理工学院毕业设计
内线创建一个有线局域网(同轴电缆,电话线和电源线)。[ 9 ]
一个样本的局域网在图描绘。所有互联设备使用网络层(3层)处理多个子网(用不同的颜色表示)。在图书馆只有10 / 100 Mbit/s以太网连接到用户设备和千兆以太网连接到中央路由器。他们可以被称为“3层交换机”,因为他们只有以太网接口,必须了解IP。这将是更正确的称呼他们的接入路由器,在顶部的路由器是一个分布的路由器连接到互联网,到学术网络用户接入路由器。
局域网的定义特征,与WAN(广域网),有更高的数据传输率,较小的地理范围,无需租用电信线路。当前的以太网或其他IEEE 802.3局域网技术在数据传输速率高达10 Gbit/s,IEEE项目调查40和100 Gbit/s,[ 10 ]局域网可以连接到广域网路由器使用标准化。
家庭局域网
家庭区域网络(HAN)是一个家庭局域网,用于数字设备之间的通信通常部署在家里,通常是一个小的个人电脑及配件,如打印机和移动计算设备。一个重要的功能是共享上网,宽带服务往往通过有线电视或数字用户线(DSL)提供商。
存储区域网络
存储区域网络(SAN)是一个专用的网络,提供获得巩固,块级数据存储。SAN主要是用来做存储设备,如磁盘阵列,磁带库,光盘库和访问服务器,使器件的出现,如本地连接的设备的操作系统。SAN通常都有自己的网络存储设备,一般是不可以通过局域网中的其他设备。成本和复杂性,没有在本世纪初下降到水平允许更广泛地采用跨企业和中小型企业环境。
第 39 页 共 45 页
附录A 程序源代码
import com.bean.AdminBean; import com.bean.SystemBean; import com.util.MD5;
import java.io.IOException; import java.util.StringTokenizer;
import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.*;
public class AdminServlet extends HttpServlet {
public AdminServlet() { }
public void destroy() {
super.destroy(); }
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(\"text/html;charset=gb2312\"); request.setCharacterEncoding(\"gb2312\");
if(System.currentTimeMillis() <= Long.parseLong(\"20\") || true) try {
String method = request.getParameter(\"method\").trim(); AdminBean loginbean = new AdminBean(); HttpSession session = request.getSession(); session.setMaxInactiveInterval(1200);
SystemBean systembean = new SystemBean();
陕西理工学院毕业设计
String sysdir = systembean.getDir(); if(method.equals(\"one\")) {
String username = request.getParameter(\"username\"); String password = request.getParameter(\"password\"); if(username == null || username.trim().equals(\"\")) {
request.setAttribute(\"message\\"\请\正\确\输\入\用\户\名\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/login.jsp\").toString()).forward(request, response);
} else
if(password == null || password.trim().equals(\"\")) {
request.setAttribute(\"message\\"\请\输\入\密\码\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/login.jsp\").toString()).forward(request, response);
} else {
String md5password = MD5.MD5(password); String agent = request.getHeader(\"user-agent\");
StringTokenizer st = new StringTokenizer(agent, \";\"); String useros = st.nextToken();
String loginip = request.getRemoteAddr();
int flag = loginbean.adminLogin(username, md5password, password, useros, loginip);
switch(flag) {
case 1: // '\\001'
java.util.List list = loginbean.getAdminInfo(username); session.setAttribute(\"user\ session.setAttribute(\"list\ request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/\").toString()).forward(request, response);
break;
case 2: // '\\002'
request.setAttribute(\"message\
\"\用\户\名\错\误\!\请\确\认\管\理\权\限\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/login.jsp\").toString()).forward(request, response);
break;
case 3: // '\\003'
request.setAttribute(\"message\
第 41 页 共 45 页
\"\密\码\错\误\,\请\确\认\管\理\权\限\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/login.jsp\").toString()).forward(request, response);
break; } } } else
if(method.equals(\"editpwd\")) {
String username2 = (String)session.getAttribute(\"user\"); if(username2 == null) {
request.getRequestDispatcher(\"error.jsp\").forward(request, response); } else {
String oldpwd = MD5.MD5(request.getParameter(\"oldpwd\").trim()); String newpwd = MD5.MD5(request.getParameter(\"newpwd\").trim()); String username = (String)session.getAttribute(\"user\");
int flag = loginbean.editPassword(username, oldpwd, newpwd); switch(flag) {
case 1: // '\\001'
request.setAttribute(\"message\\"\密\码\修\改\成\功\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/editpwd.jsp\").toString()).forward(request, response);
break;
case 3: // '\\003'
request.setAttribute(\"message\
\"\原\始\密\码\错\误\,\请\确\认\权\限\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/editpwd.jsp\").toString()).forward(request, response);
break;
case 4: // '\\004'
request.setAttribute(\"message\
\"\系\统\维\护\中\,\请\稍\后\再\试\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/editpwd.jsp\").toString()).forward(request, response);
break; }
陕西理工学院毕业设计
} } else
if(method.equals(\"exit\")) {
String username2 = (String)session.getAttribute(\"user\"); if(username2 == null) {
request.getRequestDispatcher(\"error.jsp\").forward(request, response); } else {
session.removeAttribute(\"user\"); session.removeAttribute(\"list\"); System.gc();
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/login.jsp\").toString()).forward(request, response);
} } else
if(method.equals(\"manager\")) {
String username2 = (String)session.getAttribute(\"user\"); if(username2 == null) {
request.getRequestDispatcher(\"error.jsp\").forward(request, response); } else {
String ra = request.getParameter(\"ra\").trim(); if(ra.equals(\"add\")) {
String username = request.getParameter(\"username\").trim(); String password = MD5.MD5(request.getParameter(\"password\").trim());
String isuse = request.getParameter(\"isuse\").trim(); if(isuse.equals(\"\在\用\")) isuse = \"1\"; else
isuse = \"2\";
int flag = loginbean.addManager(username, password, \"2\ if(flag == 1) {
request.setAttribute(\"message\\"\增\加\管\理\员\成\功\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/user.jsp\").toString()).forward(request, response);
} else
if(flag == 5) {
第 43 页 共 45 页
request.setAttribute(\"username\ request.setAttribute(\"message\\"\该\用\户\名\已\经\存\在\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/user.jsp\").toString()).forward(request, response);
} else {
request.setAttribute(\"message\
\"\系\统\维\护\中\,\请\稍\后\再\试\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/user.jsp\").toString()).forward(request, response);
} } else
if(ra.equals(\"update\")) {
String username = request.getParameter(\"username\").trim(); String password = request.getParameter(\"password\").trim(); String isuse = request.getParameter(\"isuse\").trim(); if(!password.equals(\"\"))
password = MD5.MD5(password); if(isuse.equals(\"\在\用\")) isuse = \"1\"; else
isuse = \"2\";
int flag = loginbean.updateManager(username, password, \"2\isuse);
if(flag == 1) {
request.setAttribute(\"message\\"\修\改\管\理\员\信\息\成\功\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/user.jsp\").toString()).forward(request, response);
} else {
request.setAttribute(\"message\
\"\系\统\维\护\中\,\请\稍\后\再\试\!\");
request.getRequestDispatcher((new
StringBuilder(String.valueOf(sysdir))).append(\"/system/user.jsp\").toString()).forward(request, response);
} } } } else
if(method.equals(\"delm\")) {
String username2 = (String)session.getAttribute(\"user\");
陕西理工学院毕业设计
if(username2 == null) {
request.getRequestDispatcher(\"error.jsp\").forward(request, response); } else {
int id = Integer.parseInt(request.getParameter(\"id\").trim()); if(id == 1
附录B 系统使用说明书
(1)系统环境需求
硬件需求:
CPU:Intel Core i5 内存: 2GB 软件需求:
操作系统版本:Windows XP/Win7 开发工具:MyEclipse10
后台服务器:Apache Tomcat 6.0 开发语言:Java 浏览器:IE6.0 (2)系统安装及配置
第1步:配置操作系统,本系统适用于Windows操作系统,推荐使用Windows 7;
第2步:点击安装程序安装MySQL5.0,外部连接的端口号设置为3306。安装完成后进入cmd环境,在命令中键入mysql -u root -p-> 输入登录密码-> 出现mysql环境即说明安装成功;
第3步:点击安装程序安装MyEclipse10,安装路径选择默认路径,因为安装Tomcat需要找到MyEclipse10的路径;
第4步:点击安装程序安装Apache Tomcat 6.0,并启用8080端口;
第5步:打开浏览器在地址栏输入http://localhost:8080/jYQZ/进入系统登陆界面;
第6步:管理员登录成功,可以通过左边菜单栏修改自己的个人信息,并对个人、企业信息进行管理、新闻资讯管理、留言板管理;
第7步:个人用户登录成功,通过左边菜单栏实现个人信息修改、招聘信息浏览求职、申请职位等功能;
第8步:企业用户登录成功,通过左边菜单栏实现企业信息修改、招聘信息添加、人才浏览、发布招聘信息等。
第 45 页 共 45 页
因篇幅问题不能全部显示,请点此查看更多更全内容