毕业生信息查询系统的设计与实现

更新时间:2024-05-30 07:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计说明书

毕业生信息查询系统的 设计与实现

专业 计算机科学与技术

孔 鹏 飞 B计算机082 0810704209 唐 拥 政 2012年6月2日

学生姓名 班学

级 号

指导教师 完成日期

毕业生信息查询系统的设计与实现

毕业生信息查询系统的设计与实现 摘 要:随着高校连年扩招,每年的毕业人数也在持续增加,给高校的就业办公室带

来了很大的压力,毕业生找工作难已成为各高校所面临的突出问题,为了帮助毕业生与用人单位之间更好的联系,高校就业办公室需起到良好的桥梁作用,这时必须开发一个合理、方便、高校的毕业生就业管理平台。

本系统是将现代化的计算机技术、毕业生信息管理以及招聘工作相结合,按照学校提供真实信息、毕业生查询和招聘单位需求设计完成的。系统主要通过不同的用户身份对系统的不同需求来设计其功能。用户身份主要分为系统管理员、学校老师、毕业生和招聘单位四类。本系统性能力求易于使用,具体有较高的扩展性和可维护性。

系统采用B/S开发模式,以MyEclipse作为开发工具,Java作为开发平台,结合JSP、JavaScript、Html等语言,运用jsp+servlet模式,以Tomcat为服务器和 MySQL为后台数据库。整个系统层次结构简单,操作容易,并具备一定的安全性。毕业生借助此系统,可以随时随地查询自己信息和进行职位查询、发布等操作;学校老师可以通过该系统对学生进行评价等;同样,招聘单位使用该系统能针对特定高校更便捷的找到自己所需要的人才。

关键词:毕业生信息;B/S模式;MySQL数据库;招聘

毕业生信息查询系统的设计与实现

Design and Implementation of Graduates

Information Query System

Abstract:With years of college enrollment,the graduates of the year in increasing

Numbers,for the employment office with a lot of pressure,graduates find jobs are already became the universities with the problems,in order to help graduates and unit of choose and employ persons better contact between,the university employment office should be a good bridge,Then must develop a reasonable and convenient, college graduates employment management platform.

This system is the modern computer technology, graduates information management, and recruitment combined,according to the school provide true information, graduates inquires demand for employers and design work.System mainly through the different user identity to the different needs of system to design its function.User identity are divided into the system administrator, school teachers and graduates and recruitment unit four categories.This system performance to easy to use, specific have high expansibility and maintainability.

System adopts B/S development pattern, Java as a development platform, combining the JSP, JavaScript, Html, etc, use the modle of jsp + servlet,with Tomcat language for servers and MySQL for backend database. The whole system structure is simple, easy operation, and has certain safety. Candidate with the system, can at any time and place for position query etc operation. Similarly, recruitment unit using the system can be more efficient, more convenient to find yourself needed talents.

Key words:Graduates Infornation; B/S pattern; MySQL Database;Recruitment

毕业生信息查询系统的设计与实现

目 录

1 概述 .................................................................1 1.1 课题开发背景 .......................................................1 1.2 课题开发意义 .......................................................1 2 开发工具与环境 .......................................................2 2.1 课题开发工具与环境 .................................................2 2.2 MYSQL 服务器 ........................................................2 2.3 TOMCAT6.0.18 服务器架构 .............................................3 2.4 总体开发 ...........................................................4 3 系统分析 .............................................................4 3.1 需求分析 ...........................................................4 3.2 可行性研究 .........................................................4 3.3 系统目标 ...........................................................5 3.4 系统功能结构 .......................................................5 3.5 业务流程图 .........................................................6 3.6 开发环境 ...........................................................7 4 数据库设计 ...........................................................8 4.1 数据库分析 .........................................................8 4.2 数据库概念设计 .....................................................8 4.3 数据库逻辑结构 ....................................................10 5 详细设计 ............................................................13 5.1 前台首页模块设计 ..................................................13 5.2 个人中心模块设计 ..................................................15 5.3 管理员管理中心模块设计 ............................................18 6 软件开发与测试 ......................................................25 6.1 软件开发技术概述 ..................................................25 6.2 通过JAVABEAN实现和数据库的交互 ...................................26 6.3 软件的测试 ........................................................26 7 结束语 ..............................................................28 参考文献 ..............................................................29 致 谢 ...............................................................30 附 录 ...............................................................31 附录1 源程序清单 ......................................................31

毕业生信息查询系统的设计与实现

毕业生信息查询系统的设计与实现 1 概述

1.1 课题开发背景

近年来随着学校规模的不断扩大,毕业生数量的不断增加,有关毕业生的各种信息也成倍增长,以前一直用手工操作的方式来管理和查询毕业生的信息,这种管理方式存在着许多缺点,如效率低、保密性差等,且时间一长就会产生大量的文档和数据等,这对于查询、更新和维护都带来了不少的困难。传统的方法既浪费人力又浪费物力。

同时,随着高校连年扩招,每年的毕业人数也在持续增加,给高校的就业办公室带来了很大的压力,毕业生找工作难已成为各高校所面临的突出问题。而传统招聘会在求职者的心里已经彻底沦为“鸡肋”。根据中华英才网发布的最新调查显示,65%的受访者对招聘会表示不满意。三月份是大学生求职高峰期,大大小小招聘会一个接一个。但这种“赶场”式的招聘会却出现了弊端:人数众多,拥挤不堪,投放的简历如石沉大海,没有任何音信。调查数据显示,认为招聘会“比较有用”的人只有23%,认为“作用不大”和“没什么用”的分别占到了57%和20%。而对于招聘会的效果,65%的受访者表示不满意,33%的受访者认为一般,只有2%的人认为满意。为了帮助毕业生与用人单位之间更好的联系,高校就业办公室需起到良好的桥梁作用,这时必须开发一个合理、方便、高校的毕业生就业管理平台。

现在随着计算机技术和网络技术的快速发展,计算机的应用领域不断扩大,计算机已成为各行各业的一个重要工具。所以,既为了提高学校管理毕业生信息的效率,也为了减轻高校就业压力,我们有必要建立毕业生信息查询系统。

本系统采用jsp+mysql开发了一个基于B/S架构的毕业生信息查询系统,本系统对传统的工作流程、组织结构进行了必要的调整,使毕业生就业管理工作更加科学、规范,达到了提高管理效能、促进就业的目的。 1.2 课题开发意义

互联网的覆盖是以往任何媒介都无法比拟的,它的触角可以轻易地延伸到世界的每一个角落。

传统毕业生信息查询系统只对毕业生提供一个基本的信息查询,是一个属于高校内部的信息分享,这对高校来说有些资源浪费了。而对于高校来说,提高高校的就业率是件重要的事;对毕业生来说,多一条求职路无疑是更好的,并且经过学校分辨过的用人单位总要靠谱些;对于用人单位而言,就像招聘网站上用人单位参差不齐一样,其上应聘者也是各种各样的,总要花费大量时间去分辨。所以这个系统更像网络版的校园招聘,使很多较远的用人单位也能方便到学校招聘。

这种只针对毕业生招聘对毕业生和企业来说是很方便的一种方式,填补了以往信息查询系统必须有、但作用仅限于内部的鸡肋和解决了目前招聘网站面向所有人导致的毕业生应聘、单位招聘毕业生的困难局面。

1

毕业生信息查询系统的设计与实现

2 开发工具与环境

2.1 课题开发工具与环境

a) 将内容的生成和显示进行分离

用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。

b) 可重用组件

大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

c) 采用标识 Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

d) 适应平台

几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

e) 数据库连接 Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。

2.2 MySQL 服务器

2.2.1 MySQL 概述

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成

2

毕业生信息查询系统的设计与实现

本而选择了MySQL作为网站数据库。

2.2.2 MySQL 的主要功能

a) 数据库管理功能

作为数据库管理系统,MySQL自然应该具有数据库管理功能。它的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。

b) 数据仓库功能

MySQL提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势。MySQL针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet对多维数据集进行访问和链接分析提供新的数据仓库功能。

c) 电子商务

MySQL不仅提供电子商务所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。MySQL不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。

d) 完备的Web功能 MySQL允许通过HTTP协议,在Web上进行高性能、基于标准的安全访问。基于Web的客户端拥有访问关系型数据存储和访问分析服务的能力。

e) 分布式数据复制功能

它可以将一个数据库中的数据复制到通过局域网、广域网或Internet网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。 2.3 Tomcat 6.0.18 服务器架构

Tomcat 6.0.18 由Apache组织开发的一种常用Web服务器,提供Web服务。一种JSP引擎,本身具有Web功能,可以作为独立的Web服务器使用。但是,在作为Web服务器方面,Tomcat处理静态HTML页面时不如Apache迅速,也没有Apache健壮,一般选用Tomcat与Apache结合的方式,让后者对网站的静态页面的请求提供服务,而Tomcat作为专用的JSP引擎,提供JSP 解析,得以更好的性能。

2.3.1 JDK的安装与配置

a) 找到path变量后单击[编辑]按钮;弹出[编辑系统变量]对话框。在[变量值]文本框中输入“c:\\jdk\\bin”,然后单击[确定]按钮。同时新建classpath变量。

b) 在[系统变量]选项组中单击[新建]按钮,在[变量名]文本框中输入“classpath”,在[变量值]文本框中输入“c:\\jdk\\lib\\tools.jar; c:\\jdk\\lib\\dt.jar;” 然后单击[确定]按钮。

c) 用同样的方法把c:\\jdk添加到JAVA_HOME环境变量中。

3

毕业生信息查询系统的设计与实现

2.3.2 Tomcat的安装与配置

在这里我们设默认安装目录为c:\\Tomcat安装完毕,更改环境变量,用同样的方法把c:\\Tomcat添加到TOMCAT_HOME环境变量中。启动Tomcat,在浏览器的[地址]下拉列表框中输入“http://localhost:8080/”,如果看到的是在左上方有一只可爱的小猫,则表示Tomcat安装成功。 2.4 总体开发

毕业生信息查询系统采用了三层的模式架构:JSP-JavaBean-MySQL开发,即前端由JSP网页实现表现逻辑,中间使用JavaBean的组件实现系统内部复杂的业务逻辑,后端使用MySQL数据库实现数据逻辑。

系统采用的开发工具是:Myeclipse;采用的数据库是:MySQL;采用的服务器是:Apache Tomcat 6.0.18 。 其中Java中连接数据库的技术是JDBC。

3 系统分析

3.1 需求分析

针对不同的用户群体,毕业生信息查询系统实现不同的功能。

a) 系统管理员需要实现修改密码、创建学生账号、创建学校教师账号、创建公司账号、发布各种文章如就业政策、就业法规、就业新闻等、发布公告、审核公司账号申请等功能。

b) 用户即学生需要实现浏览网上发布的各种文章、浏览网站发布的各种招聘信息、各种求职信息、修改密码、查看个人信息、查询个人成绩、发布求职信息等功能。

c) 招聘单位即公司用户需要实现浏览网上发布的各种文章、浏览网站发布的各种招聘信息、各种求职信息、修改密码、查看公司信息、发布招聘信息、维护招聘信息等功能。

d) 学校(教师用户)需要实现浏览网上发布的各种文章、浏览网站发布的各种招聘信息、各种求职信息、修改密码、填写学生成绩和查看学生成绩等功能。

以上即为毕业生信息查询系统的基本需求,并在此基础上对系统进行进一步扩展。

3.2 可行性研究

可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解决方法的利弊,来判定系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。毕业生查询系统系统的可行性可从以下几个方面考虑。

a) 经济可行性

随着高校连年扩招,每年的毕业人数也在持续增加,给高校的就业办公室带来了很大的压力,毕业生找工作难已成为各高校所面临的突出问题,为了帮助毕业生

4

毕业生信息查询系统的设计与实现

与用人单位之间更好的联系,高校就业办公室需起到良好的桥梁作用,这时必须开发一个合理、方便、高校的毕业生就业管理平台。所有该系统是有其应用价值的。

b) 技术可行性

开发一个毕业生信息查询系统,涉及到技术问题并不复杂,通过Web的相关技术都能得到很好的实现,并不具备技术难题要攻克。所以基于B/S模式的Web系统是毕业生信息查询系统的技术蓝本。 3.3 系统目标

根据前面所做的需求分析可知,毕业生信息查询系统属于中小型的软件,在系统实施后,应达到以下目标:

a) 具有空间性。用户可以在任意地方登录进行各项操作。 b) 操作简单方便、界面简洁美观。

c)人才与职位的查询功能,方便用户找到符合自己需求的岗位和人才。

d) 实现各种新闻及文章的发布功能。管理员可以在网上发布各种新闻、政策、技巧、法规和公告信息,用户可以在网页上浏览到这些相关。

e) 实现毕业生对自己看重的职位的申请。 f)实现公司对看重的毕业生招募。 3.4 系统功能结构

根据毕业生信息查询系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于满足毕业生用户、学校教师用户和企业用户的各种需求;后台主要用于系统管理员对各种信息进行管理。

毕业生信息查询系统的后台功能如图3-1所示:

毕业生信息查询系统

修改密码 创建学生账号 创建教师账号 创建公 发布各种文章 创建课程信息 审核公司账号申请 司 账 号 图3-2 毕业生信息查询系统的后台功能结构

毕业生信息查询系统的前台功能结构如图3-2所示:

5

毕业生信息查询系统的设计与实现

毕业生信息查询系统前台 用户登录 显示新闻动态 显示网站公告 学生用户 教师用 修改密码 查看 修改个人信息 查看个人成绩 评价 发布求职信息 申请工作岗位 密码 修改填 填写学生评价 密码 修改查看修改公司发布招聘信息 联系求职学生 户 公司用户 个 显示招聘信息 显示求职信息 联系我们 人 中 心 写 学 生 成 绩 图3-1 毕业生信息查询系统的前台功能结构

3.5 业务流程图

毕业生信息查询系统流程如图3-3至图3-6所示:

否 管理员 登陆 是 浏览新闻 浏览招聘信息 浏览求职信息 图3-3系统管理员系统流程

6

修改密码 个人中心 创建学生账号 创建教师账号 创建公司账号 发布新闻 查看账号申请 课程选择

毕业生信息查询系统的设计与实现

教师 否 登陆 浏览新闻 浏览招聘信息 浏览求职信息 是 个人中心 修改密码 填写学生成绩 查看学生成绩 图3-4 教师用户系统流程图 否 毕业生 登陆 是 浏览新闻 浏览招聘信息 浏览求职信息 图3-5 毕业生用户系统流程图 公司 否 登陆 浏览新闻 浏览招聘信息 浏览求职信息 申请注册账号 是 发布招聘信息 个人中心 查看公司信息 修改密码 发布求职信息 查询成绩 修改密码 个人中心 查看个人信息 图3-6 公司用户系统流程图

3.6 开发环境

在开发毕业生信息查询系统时,需要具备下面的软件环境: 服务器端:

a) 操作系统:Windows7。

b) Web服务器:Tomcat6.0.18。 c) Java开发包:JDK1.6以上。 d) 数据库:MySQL。

7

毕业生信息查询系统的设计与实现

e) 浏览器:IE 8.0。

4 数据库设计

4.1 数据库分析

由于网上招聘系统规模较小且对于数据的安全性及完整性要求比较高,并且为了增加程序的适用范围,还要保证系统可以拥有存储足够多数据的能力故此选用MySQL数据库。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。对于小型系统来说MySQL是管理内容最好的选择。综上所述,本系统采用MySQL数据库。 4.2 数据库概念设计

根据对系统所做的需求分析和系统设计,规划出了本系统中使用的数据库实体,它们分别是系统管理员用户实体、公司用户实体、毕业生用户实体、教师用户实体、新闻实体、招聘信息实体、求职信息实体、学生成绩实体和公司申请注册实体。

下面对各个实体分别进行说明: a) 系统管理员用户实体

系统管理员用户实体主要用于对系统管理员信息的保存它只包括用户名、密码和最近登录时间三个属性,其中用户名是主键具有唯一性。系统管理员用户实体的E-R图如图4-1所示: 最后登录时间 用户名 系统管理员用户 图4-1 系统管理员用户实体E-R图

密码 b) 公司用户实体

公司用户实体主要用于保存公司用户用户名、密码、地址、组织代码、公司规模、所属行业、单位性质、联系电话和电子邮箱属性,其中用户名是主键具有唯一性。公司用户实体的E-R图如图4-2所示:

所属行业 组织代码

公司用户 用户名 地址 规模 电话 单位性质 密码 邮箱 图4-2 公司用户实体E-R图

8

毕业生信息查询系统的设计与实现

c) 毕业生用户实体

毕业生用户实体主要用于保存毕业生用户用户名、密码、姓名、班级和籍贯属性,其中用户名是主键具有唯一性。毕业生用户实体的E-R图如图4-3所示:

姓名 用户名 毕业生用户

班级 籍贯 密码 图4-3 毕业生用户实体E-R图

d) 教师用户实体

教师用户实体主要用于保存教师用户用户名、密码属性,其中用户名是主键具有唯一性。教师用户实体的E-R图如图4-4所示:

用户名 教师用户图4-4 教师用户实体E-R图

密码 e) 新闻实体

新闻实体主要用于保存新闻的标题、作者、发布时间和内容属性,其中发布时间是主键具有唯一性。新闻实体的E-R图如图4-5所示:

标题 发布时间 新闻 内容 图4-5新闻实体E-R图

作者 f) 招聘信息实体

招聘信息实体主要用于保存公司发布的招聘信息的标题、作者、发布时间和内

容属性,其中发布时间是主键具有唯一性。招聘信息实体的E-R图如图4-6所示:

标题 发布时间 招聘 内容 图4-6招聘信息实体的E-R图

9

作者 毕业生信息查询系统的设计与实现

g) 求职信息实体

求职信息实体主要用于保存公司发布的求职信息的标题、作者、发布时间和内容属性,其中发布时间是主键具有唯一性。求职信息实体的E-R图如图4-7所示:

标题 发布时间 求职

内容 图4-7求职信息实体的E-R图

作者 h)公司申请注册实体

公司申请注册实体主要用于保存公司申请注册的申请时间、公司名、公司地址、组织代码、公司规模、所属行业、单位性质、联系电话和电子邮件属性,其中发布时间是主键具有唯一性。公司申请注册实体的E-R图如图4-8所示:

组织代码 所属行业 发布时间 公司申请注册 地址 行业 电话 公司名称 单位性质 邮箱 图4-8公司申请注册实体的E-R图

i)毕业生用户与老师用户之间的联系

毕业生用户与老师用户之间的联系是课程联系。

课程联系用于保存毕业生的成绩信息。它除了包括毕业生用户和老师用户的主键两个属性外还包括课程名、学分和成绩。

毕业生用户与老师用户之间的联系E-R图如图4-9所示: 课程名 m 毕业生 课程 学分 n 老师 用户名 成绩 图4-9毕业生用户与老师用户之间的联系E-R图

10

用户名 毕业生信息查询系统的设计与实现

4.3 数据库逻辑结构

a) super (系统管理员用户信息表)

系统管理员用户表用来保存系统管理员信息,其中用户名是主键具有唯一性,该表的结构如表4-1所示:

字段名 id password lasttime 数据类型 varchar varchar datetime 表4-1 super表的结构 长度 是否为空 是否主键 20 no yes 20 0 no yes no no 默认值 描述 无 用户名 无 无 用户密码 最近登录时间 b) company (公司用户信息表)

公司用户信息表用来保存公司用户信息,其中公司用户名是主键具有唯一性,该表的结构如表4-2所示:

字段名 id password address Company_id scale industry companytype tel email 数据类型 varchar varchar varchar varchar varchar varchar varchar varchar varchar 表4-2 company表的结构 长度 是否为空 是否主键 50 20 50 20 20 20 20 20 30 no no yes yes yes yes yes yes yes yes no no no no no no no no 默认值 无 无 无 无 无 无 无 无 无 密码 公司地址 公司组织代码 公司规模 所属行业 单位性质 联系电话 电子邮箱 描述 公司用户用户名 c) user (毕业生用户信息表)

毕业生用户信息表主要用于保存毕业生用户用户名、密码、姓名、班级和籍贯属性,其中用户名是主键具有唯一性。该表的结构如表4-3所示:

字段名 id password name class nativeplace 数据类型 varchar varchar varchar varchar varchar 表4-3 user表的结构 长度 是否为空 是否主键 20 no yes 20 no no 20 no no 20 no no 20 yes no 默认值 无 无 无 无 无 描述 用户用户名 密码 姓名 班级 籍贯 d)school(教师用户信息表)

教师用户信息表主要用于保存教师用户用户名、密码属性,其中用户名是主键

11

毕业生信息查询系统的设计与实现

具有唯一性。该表的结构如表4-4所示:

字段名 id password 数据类型 varchar varchar 表4-4school表的结构 长度 是否为空 是否主键 20 no yes 20 no no 默认值 无 无 描述 用户名 密码 e)news( 新闻信息表)

新闻信息表主要用于保存新闻的标题、作者、发布时间和内容属性,其中发布时间是主键具有唯一性。该表的结构如表4-5所示:

字段名 createtime title auther content 数据类型 datetime varchar varchar varchar 表4-5 news表的结构 长度 是否为空 是否主键 0 no yes 50 no no 20 no no 10000 no no 默认值 无 无 无 无 描述 发布时间 标题 作者 内容 f) recruitment(招聘信息表)

招聘信息表主要用于保存公司发布的招聘信息的标题、作者、发布时间和内容属性,其中发布时间是主键具有唯一性。招聘信息表的结构如表4-6所示:

字段名 createtime title auther content 数据类型 datetime varchar varchar varchar 表4-6 recruitment表的结构 长度 是否为空 是否主键 默认值 0 no yes 无 50 no no 无 20 no no 无 10000 no no 无 描述 发布时间 标题 作者 内容 g) jobwanted(求职信息表)

求职信息表主要用于保存公司发布的求职信息的标题、作者、发布时间和内容属性,其中发布时间是主键具有唯一性。该表结构如表4-7所示:

字段名 createtime title auther content 数据类型 datetime varchar varchar varchar 表4-7 jobwanted表的结构 长度 是否为空 是否主键 默认值 0 no yes 无 50 no no 无 20 no no 无 10000 no no 无 描述 发布时间 标题 作者 内容 h) score(学生成绩关系表)

学生成绩关系表主要用于保存学生用户名、教师用户名、课程、学分和成绩属性,无主键。学生成绩表的结构如表4-8所示:

字段名 user_id school_id course nature 数据类型 varchar varchar varchar varchar 长度 20 20 20 20 表4-8 score表的结构 是否为空 是否主键 no no no no no no yes no 12

默认值 无 无 无 无 描述 毕业生用户名 教师用户名 课程 学分 毕业生信息查询系统的设计与实现

字段名 score 数据类型 varchar 长度 20 是否为空 yes 是否主键 no 默认值 无 续表4-8 描述 成绩 i) connection (公司申请注册信息表)

公司申请注册信息表主要用于保存公司申请注册的申请时间、公司名、公司地址、组织代码、公司规模、所属行业、单位性质、联系电话和电子邮件属性,其中发布时间是主键具有唯一性。公司申请注册信息表的结构如表4-9所示:

字段名 createtime name address id scale industry companytype tel email 数据类型 datetime varchar varchar varchar varchar varchar varchar varchar varchar 表4-9 connection表的结构 长度 是否为空 是否主键 0 no yes 50 no no 50 yes no 20 no no 20 yes no 20 yes no 20 yes no 20 no no 30 yes no 默认值 无 无 无 无 无 无 无 无 无 描述 申请时间 公司名称 公司地址 组织代码 公司规模 所属行业 单位性质 联系电话 电子邮箱 5 详细设计

5.1 前台首页模块设计

5.1.1 前台首页概述

用户打开毕业生信息查询系统的主页后可以看到如下页面,他主要包括功能导航部分、用户登录部分、网站公告部分、新闻动态部分和招聘信息部分组成。

图5-1 前台首页的运行效果

13

毕业生信息查询系统的设计与实现

在用户登录部分用户可以根据已有的账号登录系统进入会员中心进行相应的操作;在招聘信息部分可以浏览到最新招聘信息;在网站公告部分和新闻动态部分可以浏览当最新的网站公告和各种新闻。

a) 用户登录模块的系统流程如图5-2所示:

开始 输入登录信息 查询数据库 结束 验证 正确 个人中心 错误 登陆界面 图5-2 用户登录模块的系统流程图

5.1.2 前台首页技术分析

前台招聘信息和新闻动态等采用相似的技术来实现,直接用jsp中的代码段取得信息,同时显示信息时对某些信息创建超链接。 <%!

String handleString(String s) { try{ byte bb[]=s.getBytes(\); s=new String(bb); } catch(Exception ee){} return s; } %> <%

Connection con;

PreparedStatement sql; ......

String condition=\limit 0,5\;

sql=con.prepareStatement(condition); ResultSet rs=sql.executeQuery(); while(rs.next()){

Date createtime=rs.getDate(1);

String title=handleString(rs.getString(2)); String auther=handleString(rs.getString(3));

String content=handleString(rs.getString(4));

14

毕业生信息查询系统的设计与实现

out.print(\

href='../news/news_display_main.jsp?createtime=\+createtime+\+title+\=\+content+\ target='_parent'>\+title+\+rs.getDate(1)+\); }

}catch(Exception e){} %>

上面是首页新闻模块的实现代码,其中createtime、title、auther和content分别保存发布时间、标题、作者和内容。关于招聘中心的实现代码与之相似,不再说明。 5.2 个人中心模块设计

5.2.1 毕业生个人中心概述

用户以毕业生身份登录后进入如下的公司会员中心页面,他主要包括功能导航头部分、公司功能菜单部分和显示窗口组成。

图5-3 毕业生个人中心的发布求职信息页面

毕业生功能菜单部分主要包括修改密码、查看个人信息、查询成绩和发布求职信息。

a) 修改密码模块

修改密码模块的主要功能是修改用户密码,系统流程如图5-4所示:

15

毕业生信息查询系统的设计与实现

开始 输入原密码 输入新密码两次 创建SQL语句更新数据库 显示更新成功 比对原始密码 错误 正确 结束 图5-4 修改密码模块的系统流程图

对于修改密码功能,其他三个类型用户同样实现,不再重复说明。 b) 查看个人信息模块

查看个人信息模块的主要功能是查看个人信息,系统流程如图5-5所示:

开始 创建SQL语句查询数据库 是否成功 是 否

显示查询结果 结束 图5-5查看个人信息模块的系统流程图 对于查看个人信息功能,其他三个类型用户同样实现,不再重复说明。

查询成绩模块也是采用与上相似的思路。 c) 发布求职信息模块

发布求职信息的主要功能是查看已发布的求职信息和发布求职信息,公司个人中心和管理员的发布新闻的方法接近,所以不再重复。系统流程如图5-6所示:

16

毕业生信息查询系统的设计与实现

开始 创建SQL语句查询数据库 显示查询结果 输入求职信息

创建SQL语句查询数据库 显示新的查询结果 结束 图5-6 发布求职信息模块的系统流程图

5.2.2 毕业生个人中心技术分析

个人中心使用了target超链接实现不同功能的切换,部分代码如下所示:

src=https://www.bwwdw.com/plus/\上面这是框架主体部分的jsp页面链接。

<% if(handleLogin.getName()!=null){

if(handleLogin.getCategory().equals(https://www.bwwdw.com/plus/\)){%>

href=https://www.bwwdw.com/plus/\

target=https://www.bwwdw.com/plus/\>

href=https://www.bwwdw.com/plus/\ target=https://www.bwwdw.com/plus/\>

src=https://www.bwwdw.com/plus/\ />

...... <%}

这是导航条的部分代码,具体是当用户是毕业生时,将显示图5-5中导航栏的四个功能。

17

毕业生信息查询系统的设计与实现

<%if(id.equals(https://www.bwwdw.com/plus/\)){ %> <%......%>

这部分是当主显示区的部分实现代码,这里是当用户是毕业生,同时点击了修改密码按钮时的代码。当填写完信息,点“修改”按钮时,该页面向servlet页面HandleUserPassword提交信息,由此servlet实现用户信息修改。 5.3 公司个人中心模块设计

5.3.1 公司个人中心概述

公司以公司身份登录后进入如下的个人中心页面,它主要包括功能导航头部分、公司功能菜单部分和显示窗口组成。

图5-7公司个人中心的发布招聘信息页面

18

毕业生信息查询系统的设计与实现

公司功能菜单部分主要包括修改密码、查看公司信息和发布招聘信息的功能。 a)发布招聘信息模块

发布招聘信息模块作用是查看已发布信息和发布新的招聘信息,其系统流程如图5-8所示:

开始 创建SQL语句查询数据库 显示查询结果 输入招聘信息

结束 创建SQL语句查询数据库 显示新的查询结果

图5-8发布招聘信息模块的系统流程图

b)查看公司信息

查看公司信息模块作用是查看公司信息,其系统流程如图5-9所示:

开始 创建SQL语句查询数据库 显示查询结果

图5-9查看公司信息的系统流程图

结束

19

毕业生信息查询系统的设计与实现

5.3.2 公司个人中心技术分析

以下是构成查询sql和插入sql语句的部分代码:

招聘信息发布

<%

String name=handleLogin.getName(); name=handleString(name); Connection con;

PreparedStatement sql; ......

String condition=https://www.bwwdw.com/plus/\by createtime desc limit 0,5 https://www.bwwdw.com/plus/\;

sql=con.prepareStatement(condition); sql.setString(1,name);

ResultSet rs=sql.executeQuery();

out.print(https://www.bwwdw.com/plus/\);

out.print(https://www.bwwdw.com/plus/\发布时间标题作者内容https://www.bwwdw.com/plus/\);

while( rs.next()){out.print(https://www.bwwdw.com/plus/\+rs.getString(1)+https://www.bwwdw.com/plus/\+rs.getString(2)+https://www.bwwdw.com/plus/\>https://www.bwwdw.com/plus/\+rs.getString(3)+https://www.bwwdw.com/plus/\+rs.getString(4)+https://www.bwwdw.com/plus/\); }

out.print(https://www.bwwdw.com/plus/\); rs.close(); con.close(); ...... %>

上面部分是对某公司已有的招聘信息进行检索,并显示出来。

上面这部分是发布新招聘信息的部分代码实现,这里是将表单信息提交到一个servlet:HandleReleaseMessage,由这个servlet执行对数据库信息的插入。 5.4 教师个人中心模块设计

5.4.1 教师个人中心概述

用户以教师身份登录后进入如下的教师个人中心页面,他主要包括导航栏、功能菜单部分和显示窗口组成。

20

毕业生信息查询系统的设计与实现

图5-10 后台首页的运行效果

功能菜单部分主要包括修改密码、填写学生成绩和查看学生成绩的功能。 a) 填写学生成绩

填写学生成绩的功能是用于填写学生成绩,其系统流程图为例如图5-11所示:

开始 填写学生信息 使用SQL语句插入数据库 是否成功 是 显示插入成功 结束 图5-11 填写学生信息的系统流程图

21

毕业生信息查询系统的设计与实现

b) 查看学生成绩

查看学生成绩的功能是用于查看学生成绩,其系统流程图为例如图5-12所示:

开始

使用SQL语句查询表score

显示查找结果

结束 图5-12 查看学生成绩模块的系统流程图

5.4.2 教师个人中心技术分析

教师个人中心对不同部分采取了不同处理,部分代码如下: <%}else if(id.equals(\)){ %>

这里是通过提交表单给控制器HandleSchoolPassword,由其进行数据库操作。 <%}else if(id.equals(\)){ / ...... <%}else if(id.equals(\)){ %>

page=\/> <%}

22

毕业生信息查询系统的设计与实现

%>

这一部分采取的是forward重定向,指向新的页面,由新页面完成功能。 5.5 管理员管理中心模块设计

5.5.1 管理中心概述

用户以管理员身份登录后进入如下的管理员中心页面,它主要包括组成修改密码、创建账号、发布新闻、查看账号申请和课程选择部分组成。

图5-13 管理中心页面

a) 创建学生账号

创建学生账号模块的能是创建学生账号,其系统流程如图5-14所示:

开始 填写账号信息 错误 检验 正确 创建SQL语句更新数据库 结束 图5-14 创建学生账号模块的系统流程图

23

毕业生信息查询系统的设计与实现

创建教师和公司账号实现基本和它一样,所以不再重复。 b) 查看账号申请模块

查看账号申请模块的功能是查看最新账号申请,其系统流程如图5-15所示:

开始 获取登陆信息中的 lasttime作为搜索条件 创建SQL语句查询数据库 显示查询结果 结束 图5-15 查看账号申请模块的系统流程图

c) 课程选择模块

课程选择模块的功能是将学生与对应的课程和教课的老师联系起来。起系统流程图如图5-16所示: 开始

输入需要的数据

使用SQL语句进行插入操作

返回操作成功 结束 图5-16 课程选择模块的系统流程图

5.5.2 管理中心技术分析

管理中心除了使用上面个人中心中的target判断功能外,还是用了多表操作,使之关联,以下是部分代码。 ......

String condition=\;

24

毕业生信息查询系统的设计与实现

sql1=con.prepareStatement(condition); sql1.setString(1,name);

ResultSet rs=sql1.executeQuery(); boolean m=rs.next(); if(m==true)

{ company_address=rs.getString(3); company_id=rs.getString(4); company_scale=rs.getString(5); industry=rs.getString(6);

company_type=rs.getString(7); tel=rs.getString(8); email=rs.getString(9); } ......

上面这部分是从新的申请中获得的信息。

String condition=\; sql=con.prepareStatement(condition); sql.setString(1,name); sql.setString(2,password);

sql.setString(3,company_address); sql.setString(4,company_id); sql.setString(5,company_scale); sql.setString(6,industry);

sql.setString(7,company_type); sql.setString(8,tel); sql.setString(9,email);

int m=sql.executeUpdate();

......

上面这部分是利用从connection表中取得的信息和管理员提供的一些信息一起插入新表company中。

6 软件开发与测试

6.1 软件开发技术概述

JSP作为很好的动态网站开发语言得到了广泛的应用。在各类JSP应用中,JSP结合JavaBean成为了一种事实上最常见的JSP程序标准。

a) JavaBean:包含了Web应用中程序功能的核心,负责存储与Web应用相关的数据,集中体现了应用程序的状态。JavaBean在JSP-JavaBean模式中,主要用来处理事务逻辑和数据结构,能够与数据库或文件系统进行交互,承担维护应用程序的责任。

b) JSP:JSP在JSP-JavaBean模式中有两种主要作用:实现视图,通过视图用户可以访问JavaBean中的数据;实现控制,JSP除了负责Web页面视图,还负责整个Web应用程序的流程控制,根据用户的请求类型来决定应用程序的操作,如数据的更新、维护,页面的显示与转发。

通过使用JSP-JavaBean开发模式,可以实现页面的显示和页面内容分离。但是大

25

毕业生信息查询系统的设计与实现

量使用这种模式开发Web应用时,就会导致在JSP页面中嵌入大量的Java控制代码,当页面中处理的业务逻辑复杂时,这些代码使得页面变得很大,因此这种开发模式只适合小型的应用,所以本系统在JSP- JavaBean开发模式的基础上添加了部分Servlet来进一步完善系统。

6.2 通过JavaBean实现和数据库的交互

在通过JavaBean实现和数据库的交互是,首先要创建一个必须实现的功能的对象JavaBean,并将其代码保存为AdminDaoImpl.java(以和数据库中管理员信息表交互的JavaBean为例)然后便可在相应页面中使用。

JSP页面中访问JavaBean主要包含三个步骤:

a) JSP页面中导入JavaBean类:通过JSP指令导入JavaBean类

b) JSP页面中声明JavaBean对象:在JSP页面中,使用JavaBean前首先要声明JavaBean。JavaBean的声明通过指令来实现,具体语法定义如下所示:

class属性用于指定需要的JavaBean类。

id属性是使用的JavaBean实例的名字,JSP页面的代码中都通过id定义的名字来使用JavaBean实例。

scope属性指定了JavaBean的作用范围。

c) JSP页面中访问JavaBean属性:JSP提供了访问JavaBean的属性的标签,给JavaBean属性赋值采用动作,访问JavaBean的属性采用动作。

如: List all = adminDao.Login(admin);即调用了JavaBean中的方法public List Login(Admin admin)来交互数据库系统。 6.3 软件的测试

软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 测试方法主要有黑盒测试和白盒测试。

黑盒测试Black-box Testing,又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。被测程序被当作一个黑盒,不考虑程序内容结构和内容特性,测试着只知道该程序输入和输出之间的关系或程序的功能,依靠能够反映这一关系的程序功能的需求规格说明书考虑确定测试用例盒推断测试结果的正确性。软件的黑盒测试被用来证明软件功能的正确性盒可操作性。

白盒测试White-box Testing,又称结构测试、逻辑驱动测试或基于程序的测试。白盒测试依赖于对程序细节的严密检查,针对特定条件和循环集设计测试用例,对软件的逻辑路径进行测试。在程序的不同点检验“程序状态”,一盘定期实际情况

26

毕业生信息查询系统的设计与实现

是否和预期的状态相一致。软件的白盒测试用来分析程序的内部结构。白盒测试要求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖的测试”。

本系统采用黑盒测试,测试用例如表6-1所示:

表6-1 测试用例表 功能A描述 用例目的 前提条件 输入/动作 管理员创建用户 发现本功能中可能存在的问题 数据库中存在用户信息 期望的输出/相应 实际情况 显示“连接数据库失败” 显示“用户名可用” 显示“密码不能为空” 显示“两次密码不匹配” 显示“密码不能为空” 显示“创建成功” 登录用户 发现本功能中可能存在的问题 数据库中存在用户信息 期望的输出/相应 返回登陆界面 返回登陆界面 返回登陆界面 进入欢迎界面 实际情况 返回登陆界面 返回登陆界面 返回登陆界面 进入欢迎界面 修改密码 发现本功能中可能存在的问题 数据库中存在用户信息 期望的输出/相应 显示“密码不能为空” 显示“密码不能为空” 显示“确认密码不能为空” 显示“两次密码不匹配” 显示“密码错误” 显示“密码修改成功。” 实际情况 显示“密码不能为空” 显示“密码不能为空” 显示“确认密码不能为空” 显示“两次密码不匹配” 显示“密码错误” 显示“密码修改成功。” 发布求职信息 发现本功能中可能存在的问题 数据库中存在招聘信息 期望的输出/相应 在温馨提示处显示红色提示语 27

输入账号“geren001”/创建 显示“连接数据库失败” 输入账号“geren01”/创建 显示“用户名可用” 输入密码为空/创建 输入确认密码不同 输入确认密码为空 输入正确注册信息 功能B描述 用例目的 前提条件 输入/动作 未输入信息/登录 输入不存在用户名/登录 输入错误密码/登录 输入正确登录信息 功能C描述 用例目的 前提条件 输入/动作 输入旧密码为空 输入新密码为空 输入确认新密码为空 新密码与确认密码不同 输入错误密码 输入正确信息 功能D描述 用例目的 前提条件 输入/动作 输入不符合规约的信息

显示“密码不能为空” 显示“两次密码不匹配” 显示“密码不能为空” 显示“创建成功” 实际情况 在温馨提示处显示红色提示语 毕业生信息查询系统的设计与实现

续表6-1 输入符合规约的信息 功能E描述 用例目的 前提条件 输入/动作 输入不符合规约的信息 输入符合规约的信息 功能F描述 用例目的 前提条件 输入/动作 点击输入框不输入信息 输入框无信息点击发表

在温馨提示处显示绿色提示语 在温馨提示处显示绿色提示语 发布招聘信息 发现本功能中可能存在的问题 数据库中存在招聘信息 期望的输出/相应 在温馨提示处显示红色提示语 在温馨提示处显示绿色提示语 实际情况 在温馨提示处显示红色提示语 在温馨提示处显示绿色提示语 发布文章 发现本功能中可能存在的问题 数据库中存在文章信息 期望的输出/相应 显示“请先输入正确数据” 实际情况 显示“请先输入正确数据” 显示“文章XX内容不能为空” 显示“文章XX内容不能为空” 7 结束语

经过一个月的努力,我基本完成了毕业设计。

本系统为一个小型的毕业生信息查询系统,主要采用JSP+JavaBean实现,目前系统可以完成创建用户、填写用户信息、录入学生成绩、查看学生成绩、发布招聘职位、发布求职信息、查看新闻动态、招聘信息和求职信息等功能。利用本系统,一方面可以实现对毕业生信息进行管理;另一方面,可以通过此系统的招聘功能进行求职等,扩大了毕业生就业途径和减轻了高校就业压力。

本系统从编码结束至今,经过调试运行,总体功能的实现还是比较好的,但由于时间比较短,该系统还有一些不足之处,比如代码比较混乱可维护行差、界面比较丑陋、数据库设置不太合理、未能通过此系统完全自如对数据库操作以及由于开始选择了frame框架导致很多地方处理很不方便。不过这些问题可以在以后进一步该进,以适应网站不断增加的用户量和网站的特点要求。

通过这次设计,我对前面学过的许多课程有了更为深刻的理解,巩固了以前所学的知识。也从设计的过程中学习到了很多与理论有一定差距的东西,提高了自己独立分析问题解决问题的能力。

28

毕业生信息查询系统的设计与实现

参考文献

[1] 李钟蔚等.java项目开发实例自学手册[M].北京:人民邮电出版社,2008. [2] 张昆.Java Web开发技术详解[M].北京:化学工业出版社,2010.

[3] 孙卫琴. Tomcat与Java Web开发技术详解[M].北京:电子工业出版社,2004. [4] Matry Hall等.Servlet与JSP核心编程第二版[M].北京:清华大学出版社,2004. [5] 明日科技.jsp项目开发案例全程实录[M].北京:清华大学出版社,2011. [6] 刘晓华等.JSP应用开发详解[M].北京:电子工业出版社,2007. [7] 耿祥义.jsp实用教程[M].北京:清华大学出版社,2007.

[8] 霍尔等.servlet与jsp核心编程[M].北京:清华大学出版社,2009. [9] 张跃平等. Java2实用教程[M].北京:清华大学出版社,2006. [10] 郑阿奇等.数据库实用教程[M].北京:电子工业出版社,2009.

29

毕业生信息查询系统的设计与实现

致 谢

在论文即将完成之际,回顾紧张但又充实的学习和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。

在本次毕业设计中,我从导师唐拥政老师身上学到了很多东西。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都是一种巨大的帮助,在此感谢他耐心的辅导。在撰写论文阶段,唐老师几次审阅我们的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成毕业设计的任务。

另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢。同时,在系统开发过程中还有同学也给了我不少帮助,这里一并表示感谢。

二〇一二年六月二日

30

毕业生信息查询系统的设计与实现

附 录

附录1 源程序清单

1.1.1用户登陆类

Login.java

package com.kong.data; import java.util.Date; public class Login { String name; //账号 String password; //密码 String category; //类别 String logo; //标识 String lasttime;

public String getLasttime() { return lasttime; }

public void setLasttime(String lasttime) { this.lasttime = lasttime; }

public String getLogo() { return logo; }

public void setLogo(String logo) { this.logo = logo; }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public String getPassword() { return password; }

public void setPassword(String password) { this.password = password; }

public String getCategory() { return category; }

public void setCategory(String category) { this.category = category; } }

1.1.2用户登陆控制器 HandleLogin.java

31

毕业生信息查询系统的设计与实现

package com.kong.control; import com.kong.data.*; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;

import java.sql.SQLException;

import javax.servlet.RequestDispatcher; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;

public class HandleLogin extends HttpServlet { public HandleLogin() { super(); }

public void init(ServletConfig config) throws ServletException { super.init(config);

try { Class.forName(\ }catch(Exception e){} }

public String handleString(String s)

{ try{ byte bb[]=s.getBytes(\ s=new String(bb); }

catch(Exception ee){} return s; }

public void destroy() { super.destroy(); // Just puts \ // Put your code here }

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection con;

PreparedStatement sql; Login loginBean=null;

32

毕业生信息查询系统的设计与实现

HttpSession session=request.getSession(true);

//session中login对象存在

try{ loginBean=(Login)session.getAttribute(\ if(loginBean==null)

{ loginBean=new Login();

session.setAttribute(\ } }

catch(Exception ee)

{ loginBean=new Login();

session.setAttribute(\ }

//取name,password,category;

String name=request.getParameter(\ password=request.getParameter(\ category=request.getParameter(\ logo=null;

name=handleString(name);

password=handleString(password); category=handleString(category);

if(category.equals(\

String uri=\

boolean boo=(name.length()>0)&&(password.length()>0);

if(boo) {

try{ con=DriverManager.getConnection(uri,\ String condition=\=?\

sql=con.prepareStatement(condition); sql.setString(1,name);

sql.setString(2,password);

ResultSet rs=sql.executeQuery(); boolean m=rs.next(); if(m==true) {

logo=\

loginBean.setName(name);

//loginBean.setPassword(password); loginBean.setCategory(category); loginBean.setLogo(logo);

response.sendRedirect(\ } else {

response.sendRedirect(\

33

毕业生信息查询系统的设计与实现

}

sql.close(); con.close(); }

catch(SQLException exp) {

response.sendRedirect(\ } } else {

response.sendRedirect(\ } }

else if(category.equals(\

String uri=\ boolean boo=(name.length()>0)&&(password.length()>0);

if(boo) {

try{ con=DriverManager.getConnection(uri,\ String condition=\password =?\

sql=con.prepareStatement(condition); sql.setString(1,name);

sql.setString(2,password);

ResultSet rs=sql.executeQuery(); boolean m=rs.next(); if(m==true) {

logo=\

loginBean.setName(name);

loginBean.setPassword(password); loginBean.setCategory(category); loginBean.setLogo(logo);

response.sendRedirect(\ } else {

response.sendRedirect(\ }

sql.close(); con.close(); }

catch(SQLException exp) {

//response.sendRedirect(\

34

毕业生信息查询系统的设计与实现

} } else {

response.sendRedirect(\ }

}else if(category.equals(\

String uri=\

boolean boo=(name.length()>0)&&(password.length()>0);

if(boo) {

try{ con=DriverManager.getConnection(uri,\ String condition=\=?\

sql=con.prepareStatement(condition); sql.setString(1,name);

sql.setString(2,password);

ResultSet rs=sql.executeQuery(); boolean m=rs.next(); if(m==true) {

logo=\

loginBean.setName(name);

loginBean.setPassword(password); loginBean.setCategory(category); loginBean.setLogo(logo);

response.sendRedirect(\ } else {

response.sendRedirect(\ }

sql.close(); con.close(); }

catch(SQLException exp) {

response.sendRedirect(\ } } else {

response.sendRedirect(\ }

}else if(category.equals(\

String uri=\

boolean boo=(name.length()>0)&&(password.length()>0);

35

毕业生信息查询系统的设计与实现

if(boo) {

try{ con=DriverManager.getConnection(uri,\ String condition=\=?\

sql=con.prepareStatement(condition); sql.setString(1,name);

sql.setString(2,password);

ResultSet rs=sql.executeQuery();

boolean m=rs.next(); if(m==true) {

logo=\

loginBean.setName(rs.getString(1)); loginBean.setPassword(rs.getString(2)); loginBean.setCategory(category);

loginBean.setLasttime(rs.getString(3)); loginBean.setLogo(logo);

response.sendRedirect(\ } else {

response.sendRedirect(\ }

sql.close(); con.close(); }

catch(SQLException exp) {

//response.sendRedirect(\ } } else {

response.sendRedirect(\ } } } }

1.2.1 注销退出控制器 HandleExit.java

package com.kong.control; import com.kong.data.*; import java.sql.*; import java.io.*;

import javax.servlet.*; import javax.servlet.http.*;

public class HandleExit extends HttpServlet

36

本文来源:https://www.bwwdw.com/article/c6c6.html

Top