论文——高考志愿填报分析助手_第1页
论文——高考志愿填报分析助手_第2页
论文——高考志愿填报分析助手_第3页
论文——高考志愿填报分析助手_第4页
论文——高考志愿填报分析助手_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-目录1 绪论21.1研究背景21.2 研究现状31.3 课题的研究容与意义32 平台与开发工具42.1开发平台介绍42.2 框架开发方法与技术42.3 开发语言与开发环境43 系统分析53.1 系统角色53.2功能构造图54 系统设计74.1系统架构设计7分层体系构造74.1.2 MVC构造和Struts框架7分层体系构造84.2系统模块设计84.3界面设计84.4类设计95 数据库设计105.1数据库设计10管理员信息10院校根本信息管理10院校录取分数线信息11专业信息12专业12专业录取分数线信息135.2数据库建模136系统实现146.1创立Java EE工程146.2管理员登录功能

2、实现156.3院校模块功能实现19新增院校19查询院校21院校参加比照24浏览高校比照246.4专业模块功能实现25新增专业25查询专业266.4.3 院校开设专业296.5院校分数线模块功能实现30新增院校分数线30查询院校分数线32估分选大学33院校录取概率356.6专业分数线模块功能实现36新增专业分数线36查询专业分数线38估分选专业截图38专业录取概率截图397系统测试397.1搭建测试环境397.2测试方法397.3功能模块测试39首页40登录40新增院校41新增专业41新增院校分数线42估分选大学修改42新增专业分数线43估分选专业调错、截图44参加比照44完毕语45致46参考文

3、献471 绪论1.1研究背景志愿是考生的意愿的具体表达。高考志愿在招生录取的工作中具有特定的含义,它是考生根据社会的需要,按照国家招生的有关规定,从本人学习成绩及专业兴趣和特长的实际出发,选择学校和专业;也是考生自觉自愿的意向,它受到招生部门的成认,并成为高校录取新生的重要依据。高考志愿填报对高考录取结果起到了关键性的作用,它不仅关系着考生四年的大学经历,更与考生未来人生的开展有着非常重要的关系。 常言道:七分考,三分报。据统计数据显示,每年落榜的考生中,有46%的考生因为填报志愿失误,这其中,大多是因为出现志愿撞车以及对高校分数预估缺乏的情况。高考的完毕并不意味着高考这场没有硝烟的战争的完毕

4、,反而是高考志愿填报这场战争的开场。考生及家长要了解招生形势,本地区各科类报考人数、各批次各科类招生方案数、录取比例等等,整体把握填报志愿的原则和方向,防止主观臆断。考生及其家长往往根据往年的历史数据来分析确定考生的志愿。但是辅助考生进展院校专业选择的参考系统并不全面。在进展报考院校的过程中,往往会出现众多的信息,比方院校信息、专业信息、院校历年招生分数、专业历年招收人数等等,这些庞大的数据,任何一个考虑不周,都可能导致考生与自己喜爱的专业或者院校失之交臂。基于此,为了更好地帮助考生及家长,获得全面详尽的信息,更好的辅助他们做出高考志愿的填报决策,设计并实现该高考志愿填报分析助手系统。1.2

5、研究现状高考的重要性对不同的人来说意义不同,对于农村的考生来说那就意味着是一次机遇,一直所期待的事情,农民的孩子要想走向世界,这个高考就是一个跳板,是一个公平竞争的平台,可以展现自我的舞台,只有通过高考考上一所很好的大学,不仅对自己,更是对家庭乃至一个村庄都有很重要的意义。农村的孩子只有这样才能争气,才能成为家里的骄傲,父母拼搏半辈子,辛苦半辈子就是为了让自己的孩子能够在高考上取得满意的成绩。对于城里的孩子也同样重要,虽然良好的教育条件,但是还需要高考这个平台来分出个上下来,高的可以承受更加顶级的教育,低的只能承受较一般的教育。上大学的和没上大学的是有很大区别的,首先思想认识是不一样的,个人的

6、修养也是不同的,素质也可以有所表达。我说的是一般的情况下,只有能够通过高考的检验进入大学的殿堂才能够走的更远、生活的更有意思。学习和深造是无止境的,但学习具有连续性和阶段性。从人才成长的角度讲,学生进入高中后,就开场了“根底教育向“专业教育过渡阶段。高考是完成这一过渡阶段、保持受教育连续性的关键时刻。在进入“专业教育前,必须确定“专业教育的方向。目前,我国有约1100所普通高等学校。专业设置分为工科、理科、农科、林科、医药、文科、政法、财经、师、体育、艺术等十几科,近千个专业。培养目标、毕业生使用方向又各不一样,选报高考志愿时,考生必须在众多的院校、专业中做出选择,确定方向。基于高考的重要性,

7、高考志愿填报工作显得尤为重要。现在网上充满着各种高考志愿,良莠不齐,甚至以测试考生的性格意愿得出适合的专业。这就需要一个能够及时、准确、有效地提供高考志愿填报信息的,来帮助考生在众多的院校、专业中做出选择,确定方向。1.3 课题的研究容与意义随着科学技术的开展,信息技术深入人们的生产和生活中。利用计算机技术和Internet来实现信息共享和无纸化,已经成为一种大趋势。传统的高考指南,厚重而信息有限,不能满足考生对院校及专业的了解需要。设计高考志愿填报分析助手,更好地将院校信息、专业信息整合在一起,考生和家长通过简单的操作获取需要的信息,更好地作出决策。在该系统中,应用Eclipse、Tomca

8、t和MySQL数据库作为根本环境,使用Struts框架的MVC模式,结合JSP与 JAVA开发高考志愿填报分析助手系统,使考生的志愿填报能在参考系统下,顺利、准确、平安的实现,减少因为志愿填报失误带来的过失。本论文主要高考志愿填报分析助手系统的设计理念,实现的*些过程和该系统的一些具体设计,比方:界面设计、代码设计和数据库的设计。在本论文中,可以看到高考志愿填报分析助手系统的设计过程和数据流程,这对于理解该系统有着重要作用。2 平台与开发工具 本章介绍开发平台、框架开发方法与技术和开发语言及环境,明确技术选型,为后面的设计与实现,提供保障。2.1开发平台介绍本系统采用Eclipse可视化的开发

9、环境。Eclipse是myeclipse的核心,虽然不像Myeclipse增加了许多插件,但是消耗资源少,易于扩展,需要*些功能,找到相应的插件安装上就能使用;需要扩展*些功能,直接开发也很易于使用。Eclipse提供了相应的接口和扩展机制。而Myeclipse装有大量插件,冗余而臃肿,运行中消耗资源大,需要不断优化。Eclipse是一个开放源代码,基于Java的可扩的开发平台,多数人都是将Eclipse作为Java的集成开发环境使用,虽然Eclipse使用Java开发:但Eclipse不仅仅局限于Java开发,还可用于其它语言的开发,如C/C+;2.2 框架开发方法与技术该工程涉及Web页面

10、、JSP编程、Struts框架、JDBC编程等技术,应用三层构造和MVC模式搭建程序框架,应用Eclipse、Tomcat和MySQL数据库作为根本环境。系统使用Struts框架的MVC模式,Struts与三层架构的结合中,Struts主要是负责页面表示层与业务模型业务逻辑层之间的控制转向。实际上是实现了表示层与业务模型层的松耦合,同时也增强了业务模型层的重用性。将Struts引入三层构造,可以将Struts2当做Web表示层。表示层、业务逻辑层和数据层,每层之间传递业务类。MVC模式把整个业务应用分为三个模型,模型Model、视图View和控制器Controller。Model包含应用程序的

11、核心功能,表示业务数据或业务逻辑;View是应用程序的外观,即用户看到并与之交互的界面;Controller根据用户输入,控制用户界面数据显示和更新模型对象的状态。Struts2是一种基于MVC的Web应用框架。StrutsPrepareAndE*ecuteFilter作为前端控制器,根据请求选择适宜的业务逻辑控制器(Action),让这个Action来处理用户的请求。Action负责把用户请求中的参数组装成适宜的数据模型,并调用相应的业务逻辑进展真正的功能处理,然后获取下一个视图展示所需要的数据。视图结果用来把Action中获取到的数据展现给用户2.3 开发语言与开发环境B/S体系构造,是一

12、种通过浏览器来效劳器的Web程序。在用户端,只要通过浏览器以及效劳器的域名或者IP就能效劳器,使用效劳器为用户提供的功能。Web效劳器是运行Java Web应用程序的软件,只有将设计开发的Java Web应用程B/ S架构应用系统放置在这样的容器中,才能使网络上的用户通过浏览器进展。ApacheTomcat是目前应用最广、最为流行的小型、轻量级Web效劳器,它支持JSP和Servlet效劳器端的Applet技术。它是免费和开源的,也是目前学习与开发JavaWeb应用程序的首选。JDK是Java的开发平台,在编写Java程序时,需要JDK进展编译处理;JRE是Java程序的运行环境,包含了JVM

13、的实现 及Java核心类库,编译后的Java程序必须使用JRE执行。在下载的JDK安装包中集成了JDK与JRE,所以在安装JDK过程中会提示安装JRE。MYSQL是一个小型关系型数据库管理系统,由于体积小、速度快、开放源码,成为本系统的首选。JDBC就是Java数据库连接,它提供了数据库的API,它是由一些Java类和接口组成,是Java运行平台的核心类库中的一个局部。在程序中可以通过使用JDBC连接到关系数据库,并使用构造化查询语言来完成对数据库中的表的记录的查询、修改、更新和删除操作。名 称版 本语 言windows操作系统Windows7旗舰版简体中文Tomocat 6.0默 认JDK6

14、U25英文Eclipse8.2默认Navicat-for-MYSQL10.1中文MYSQL5.5默认表2-1 运行开发环境3 系统分析本章分析了系统角色,确定了功能构造为管理员登录、院校模块、专业模块、院校分数线模块、专业分数线模块,并按照功能构造图来进展功能分析。3.1 系统角色高考志愿填报助手系统效劳于考高学子,旨在帮助学生选择志愿填报的高校、专业。本系统有2类角色,分别为游客、管理员:游客:可以查询各省市院校和专业的历年分数线,能够使用估分选大学、估分选专业等功能。管理员:具有游客的所有权限,并可以登录到后台对院校、专业、分数线等信息进展管理。3.2功能构造图本系统主要分为管理员登录、院

15、校模块、专业模块、院校分数线模块、专业分数线模块。功能构造图如下所示:图3-1功能构造图 管理员登陆:管理员在前台首页上点击“管理员登录超,进入登录页面。输入账号密码可进入后台的“高校招生信息发布系统。 新增院校:管理员登录后,可以新增院校根本信息。包括院校的名称、校徽、所在地等。查询院校:可通过学校设置院校省份、院校分类、特殊属性、学历层次来筛选查看学校。搜索结果以列表显示。参加比照:可将有意向的院校参加比照栏。比照院校的性质、类别、985、211、教育部直属等信息。新增专业:新增专业根本信息,包括专业名称、学科、门类、专业代码、修业年限、专业介绍等。“新增专业界面参考“新增院校界面。院校开

16、设专业:由于不同的院校会开设不同的专业,并有自己的开设要求。本功能首先要选择院校,然后为该院校开设专业专业根本信息来自数据库,并填写开设时间、状态、备注等信息。查询专业:以院校、学科、门类为条件,搜索专业信息,以列表形式显示。新增院校分数线:新增院校录取分数线信息,包括所属院校ID、生源地(省份)、科别(文科/理科/综合)、录取批次(提前批/本科一批/本科二批/本科三批)、年份、最高分、平均分、省控线、录取人数等。查询院校分数线:用户在首页上方有一个查询区域,根据查询页面中下拉框中的院校省份、科别(文科、理科、综合)、录取批次、录取年份等条件来搜索大学录取分数线。估分选大学:根据分数、地区、第

17、几批、科别来挑选可能录取的大学。新增专业分数线:新增专业录取分数线信息,将*院校*专业每年的录取分数线及录取人数等信息保存到数据库中。本功能首先要选择院校,再选择专业,然后录入生源地、年份、最高分、平均分、招生人数等信息。查询专业分数线:根据省份、科别、专业名称、录取批次、录取年份来筛选专业录取线。估分选专业:根据地区、科别(文科/理科/综合)、分数、年份来选专业。4 系统设计4.1系统架构设计系统基于Java语言,使用Eclipse开发工具,JDK1.6和Tomcat6.0开发环境,采用JSP、JSTL&EL技术,Struts2.*框架、JDBC和MySQL数据库开发的Java EE

18、程序,实现了高考志愿填报助手系统的功能。程序架构采用分层构造和MVC结合方式进展设计。4.1.1分层体系构造三层构造是层次风格中典型的构造,包括表示层,业务逻辑层和数据层,三层之间使用业务模型实体对象进展传递。在Java EE程序构造中,采用包进展分层。如以下图所示:图4-1 三层构造4.1.2 MVC构造和Struts框架 MVC模式包括视图、控制器和模型,Struts框架符合MVC思想,其中action充当控制器作用。 Struts2是一个运行于Web容器的表示层轻量级框架,与三层构造结合时,与视图(JSP)一起组成表示层,进展视图导向和业务逻辑调用。 Struts2的Action作为控制

19、器,进展统一的跳转控制和业务逻辑调用。一个JSP页面对应一个Action控制器,由其进展的跳转控制。 当Action类的方法执行完成时,返回一个字符串类型的结果码,框架根据struts.*ml配置,查找<result>节点中匹配的name属性值,向用户输出。分层体系构造结合三层构造和Struts2框架设计“高考志愿填报助手架构。表示层由JSP和Struts2充当,业务逻辑层和数据层,充当了模型的角色。程序构造如下:图4-1 系统构造4.2系统模块设计按“分而治之思想,进展模块划分,分为管理员登录、院校模块、专业模块、院校分数线模块、专业分数线模块。4.3界面设计系统页面分为首页、频

20、道页栏目页、管理页面、功能增删改查页面等类型。一般先进展原型界面绘制,然后再生产html静态页面,最后进展提炼,别离出公共页面,如头部和脚部,形成最终jsp页面。1.高考志愿填报助手系统有如下页面。1首页(inde*.jsp)。2管理员登录(login.jsp)页面。3频道页面(估分选大学、估分选专业、查看大学分数线、查看专业分数线)。4浏览大学页面(college.jsp)、浏览专业页面(major.jsp)。5管理首页(管理员)。6功能页面:院校模块,专业模块,院校分数线模块、专业分数线模块。7公共页头部和脚部2.系统根据不同的功能将设计不同的子界面。界面设计的原则如下:1页面风格确定系统

21、有哪些页面,确定页面的类型和布局风格。确定系统的整体色系,页面背景颜色,字体、图片和按钮等色系。2原型界面根据页面风格、各页面功能和信息,绘制页面白板图。3效果图片根据页面风格和色系,设计效果图片,通过PhotoShop绘制和Fireworks切割。4页面交互关系描述各页面之间的交互关系。5HTML静态页面使用Dreamweaver结合网页技术将效果图进展设置,最后形成HTML静态页面。6界面评审和测试对界面进展评审和测试,及时发现并消除界面中的缺陷,修正HTML静态页面。7边界对象设计系统界面类,将HTML页面转换为界面类,设计界面类之间的关系4.4类设计主要进展类设计,以及类属性和方法设计

22、。在高考志愿填报助手系统中,有几种类型:1、实体类主要对应数据库中表,这种类主要用于在各层之间传递数据,这种类设计,一般包括无参构造方法,get*()和set*()方法。2、表示层类界面类一般用JSP充当,根据功能进展设计。表示层框架主要用Struts框架,对应主要类为各种action类。在新闻管理系统中,请求页面,都是通过action跳转到jsp页面来处理请求。3、业务逻辑层类主要进展业务逻辑处理,一般都是业务方法。逻辑层类存放在service包中。4、数据层主要进展数据数据库,每个类设计新增、修改、删除和查询功能。接口存放在dao包中,相应实现类存放在impl包中。5、工具类设计将公共的方

23、法抽离出来形成工具类,供其他类使用,如数据库管理工具类和自定义异常类等。工具类存放在utils包中。5 数据库设计根据需求分析确定数据信息,抽样数据字典,建立概念模型。本章介绍了数据库设计的整个流程。5.1数据库设计分析高考志愿填报分析助手系统流程和数据.设计数据库,根据数据需求,确定实体以及其之间的关系(E-R图),选择关系模型,选用MySQL作为数据库效劳器,设计数据库表。5.1.1管理员信息管理员信息(Admin)数据元素名部名值域值义类型/长度ID号id主键用户名Name唯一性,用户名不能重复字符串类型/40密码Password字符串类型/205.1.2院校根本信息管理院校根本信息管理

24、(College)数据元素名部名值域值义类型/长度ID号id主键校名name字符串类型/40校徽logo图片的路径字符串类型/100所在地province字符串类型/100院校性质level0 普通本科1 独立学院2 高职高专3 中外合作办学4 远程教育学院5 HND工程6 成人教育整型院校类别type0 综合类1 理工类2 农林类3 医药类4 师类5 语言类6 财经类政法类7体育类8 艺术类9 民族类10 军事类整型教育部直属zhishu1 是0 不是整型211大学is2111 是0 不是整型985大学is9851 是0 不是整型招办tel字符串类型/50通讯地址address字符串类型/1

25、00电子email字符串类型/100招生网址URL字符串类型/100备注remark文本5.1.3院校录取分数线信息院校录取分数线信息(CollegeCutoff)的录入、修改、删除、查询。数据元素名部名值域值义类型/长度ID号id主键院校IDcid外键整型生源地provence字符串类型/20文理科Genera0 文科1 理科整型录取批次batch0 本科一批1 本科二批2 本科三批3 专科一批4 专科二批整型年份year字符串类型/20最高分hscore整型平均分ascore整型省控线cscore整型录取人数number整型备注remark文本5.1.4专业信息专业信息(MajorInfo

26、):各院校专业信息的新增、修改、删除。数据元素名部名值域值义类型/长度ID号id主键学科discipline字符串类型/40门类category字符串类型/40专业名称name字符串类型/40专业代码code采用6位数字组成,如“哲学-010101修业年限limits整型授予学位degree 专业介绍Introduction专业解释、目标、要求、课程说明、实践教学容等文本备注remark文本5.1.5专业专业(Major):不同的院校,会开设不同的专业,并有自己的开设要求。数据元素名部名值域值义类型/长度ID号id主键整型院校IDcid外键整型专业IDmid外键整型开设时间creat

27、etimeData&Time开设状态status0 开设中1 未开设整型备注remark文本5.1.6专业录取分数线信息专业录取分数线信息(major_cutoff)的录入、修改、删除。数据元素名部名值域值义类型/长度ID号id主键专业IDmcid整型生源地province字符串类型/20文理科Genera0 文科1 理科整型录取批次batch0 本科一批1 本科二批2 本科三批3 专科一批4 专科二批整型年份year字符串类型/20最高分hscore整型平均分ascore整型录取人数number整型备注remark文本5.2数据库建模选择E-R模型结合PowerDesigner进展数

28、据库设计和建模,应用PowerDesigner建立CDM,LDM,PDM。根据数据字典可设计出mysql的PDM如下:院校 : 院校动态新闻,一对多院校 : 招生政策,一对多院校 : 院校录取分数线,一对多院校 : 专业信息,多对多专业: 专业录取分数线,一对多图5-1 E-R图SQL脚本:根据数据库设计和PDM文件,生成基于MySQL的SQL脚本,按照企业标准和规进展优化。数据库构建:安装配置MySQL,使用MySQL指令导入SQL脚本,创立旅游信息管理系统数据库及表,使用MySQL指令和SQL语句进展根底数据初始化。数据库验证:根据系统的功能和数据库表关系,模拟程序流程,编写SQL语句验证

29、数据库功能。持久化对象:设计持久化对象,确定它们的属性及其之间的关系。将持久化对象映射到数据库表。6系统实现所有功能的实现按照界面层action、业务逻辑层Service、数据存储层Dao三层构造的方式进展设计和开发。6.1创立Java EE工程本工程为采用三层构造结合MVC思想,基于Struts框架,创立工程工程。1、创立Java EE高考志愿填报助手系统工程GaoKao1) 在工程的src目录下创立如下包。 web、service、dao、model、utils包。2在工程的WebContent下创立以下文件夹。images:存放图片;js:存放脚本文件;css:存放样式文件;upload

30、:存放上传文件。2、集成Struts2框架1导入Struts2开发JAR包 翻开lib文件夹,挑选如下JAR包,拷贝至工程的WebContent/WEB-INF/lib文件下。Struts2的不同版本和不同应用所需的JAR有所不同。2在web.*ml中配置Struts2过滤器r3创立struts.*ml文件可以手工创立,也可以拷贝Struts2资源包例如中struts.*ml文件。下面是应用资源包例如中struts.*ml。方法如下:在Struts2下载资源包中,翻开apps文件夹,解压其中的一个WAR文件,找到例如工程的WEB-INF/classes下的struts.*ml。4运行机制集成S

31、truts2之后,Struts2职责如下:通过Action接收请求,获取请求参数。调用业务逻辑层方法,处理业务。根据处理结果,选择视图页面展示结果信息。3、Struts2开发流程基于Struts框架开发,有如下步骤:创立Action类,覆写e*ecute()方法,配置struts.*ml,通过URLAction。6.2管理员登录功能实现管理员登录时,首先登录页面login.jsp,其次在登录页面上点击登录。登录成功会管理中心页面。用户退出系统时,可以进展注销,即登出操作。1、创立界面创立login.jsp页面,实现登录界面布局。创立adminCenter.jsp页面,作为后台首页。用户登录后,

32、将会进入后台管理中心(即本页面)。2、实现Action用户登录成功,将使用session保存用户信息,并跳转到用户中心页面。在进展登出操作时,清理session值,并跳转到首页。路径控制器(Action)视图类型描述toLogin.actionToLoginAction/login.jsp转发登录页面user!login.actionUserActiontoAdmin.action重定向“管理员登录成功/login.jsp转发登录失败,导向到登录页面user!logout.action/inde*.jsp转发注销登录,导向到首页toAdmin.actionToAdminAction/admin

33、Frame.jsp转发管理员管理页面表6-1登录1、创立ToAdminAction,实现e*ecute方法,判断管理员是否登录,如果登录则进入后台页面,假设没有登录则进入登录页面。public String e*ecute() Map session = ActionConte*t.getConte*t().getSession();Integer userId = (Integer)session.get("userId");/验证用户是否登录if(userId !=null)/已登录则跳转到管理员管理页面return"admin"else/未登录则跳

34、转到登录页面return"login"2、创立UserAction,提供login()、logout()等方法,用户登录时,UserAction中的方法进展登录操作。并实现界面跳转。public String login() try Map<String, Object> session = ActionConte*t.getConte*t().getSession();Integer userId = (Integer) session.get("userId");/ 验证用户是否已经登录if (userId = null) userId

35、= userService.login(name, password);if (userId > 0) / 查询到匹配用户,保存至session中,跳转到用户中心页session.put("userId", userId);session.put("userName", name);return"admin" else / 登录失败,返回至登录页,提示错误信息message = "用户名或密码错误!"return"login" else return"admin" ca

36、tch (AppE*ception e) e.printStackTrace();return"error"3、实现Service层代码创立UserService类,定义login(String name, String password)方法,调用dao层userDao.login(name, password)方法进展登录判断。publicint login(String name, String password) throws AppE*ception int userId = -1; try /获取用户编号userId = userDao.login(name,

37、password); catch (AppE*ception e) e.printStackTrace();thrownew AppE*ception("biz.UserService.login");/ 返回用户编号return userId;4、实现dao层代码创立UserDao类,定义login(String name, String password)方法,使用JDBC数据库编程技术,查询数据库中的管理员账号和密码,判断登录是否成功。publicint login(String name, String password) throws AppE*ception i

38、nt userId = -1;/ 声明数据库连接对象,预编译对象和结果集对象Connection conn = null;PreparedStatement psmt = null;ResultSet rs = null;try / 创立数据库连接conn = DBUtil.getConnection();/ 声明操作语句:根据用户名和密码查询用户编号,"?"为占位符String sql = "select id from t_admin where name = ? and password = ? and del = 0"psmt = conn.pr

39、epareStatement(sql);psmt.setString(1, name);psmt.setString(2, password);rs = psmt.e*ecuteQuery();if (rs.ne*t() userId = rs.getInt("id"); catch (SQLE*ception e) e.printStackTrace();thrownew AppE*ception("dao.UserDao.login"); finally / 关闭数据库操作对象,释放资源DBUtil.closeResultSet(rs);DBUtil

40、.closeStatement(psmt);DBUtil.closeConnection(conn);return userId;5、调试和运行localhost:8080/GaoKao/toLogin.action,输入管理员账号和密码,点击“登录按钮。登陆页面如下: 图6-2 管理员登陆将localhost:8080/GaoKao/user!login.action。成功后,将进入后台页面。 图6-2后台页面6.3院校模块功能实现6.3.1新增院校管理员在后台点击菜单中的“新增院校,框架页面中显示新增院校界面。填写院校信息后,将把院校信息保存到数据库中。在新增院校的界面中处理以下数据:验证

41、院校信息。非空验证;将院校根本信息进展存储,返回新增院校页面进展提示,表单中保存上次新增的院校信息。1、创立界面创立addCollege.jsp页面,实现界面布局。修改adminMenu.jsp页面,将“新增院校超指向addCollege.jsp页面。2、实现Action1、创立CollegeAction类,实现“新增院校页面的新增院校的add()方法,从界面上获得管理员输入的院校信息,调用CollegeService类的add()方法,新增院校信息。public String add() Map session = ActionConte*t.getConte*t().getSession(

42、);Integer userId = (Integer) session.get("userId");/ 验证用户是否登录if (userId = null) / 未登录则跳转到登录页面return"login"if (college = null) / 输入不正确,跳转到新增院校页面message = "请正确填写院校的相关信息!"return"add"if (getIs985().endsWith("on") college.setIs985(1);if (getIs211().endsWi

43、th("on") college.setIs211(1);if (getZhishu().endsWith("on") college.setZhishu(1);System.out.println("Is985: " + college.getIs985();if (service.add(college) message = "新增成功!"Map request = (Map) ActionConte*t.getConte*t().get("request");/ 将本次新增信息传递到页面上

44、显示request.put("college", college); else message = "新增失败!"return"add"3、实现Service层代码创立CollegeService类,定义add(College)方法,调用dao层保存院校信息。publicboolean add(College college) returncollegeDao.add(college);4、实现dao层代码创立CollegeDao类,定义add(College college)方法保存院校信息。publicclassCollegeDa

45、oimplements Dao<College> publicboolean add(College college) / 保存学校信息,使用DBUtil类Connection conn = DBUtil.getConnection();PreparedStatement psmt = null;ResultSet rs = null;try /填入注册信息,"?"为占位符String sql = "insert into t_college(name, logo, province,level,type,is985,is211,zhishu,tel,

46、address,email,url,remark,del) "+ "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)"psmt = conn.prepareStatement(sql);psmt.setString(1, college.getName();/int result = psmt.e*ecuteUpdate();/ 执行更新操作return result > 0; catch (SQLE*ception e) e.printStackTrace();returnfalse; finally / 关闭数据库操作对象,释放资

47、源DBUtil.closeResultSet(rs);DBUtil.closeStatement(psmt);DBUtil.closeConnection(conn);5、调试和运行登录后台,选择新增院校,输入信息,点击新增按钮。图6-3新增院校信息6.3.2查询院校用户在页面点击菜单中的“搜索大学,框架页面中显示院校列表。用户可以选择院校所在地、院校类别、院校性质,是否为985、211、教育部直属等条件,筛选院校。用户也能直接输入自己想要浏览的院校名称,直接搜索该校。根据输入条件,查询符合条件的院校信息,查询结果显示在列表中。1、创立界面创立checkCollege.jsp页面,实现界面布局

48、。修改adminMenu.jsp页面,将“查询院校超指向checkCollege.jsp页面。2、实现Action在CollegeAction类中定义查询院校方法check(),调用CollegeService类的getAll()方法获取院校信息列表,传递到页面上。public String check() Map session = ActionConte*t.getConte*t().getSession();Integer userId = (Integer) session.get("userId");if (userId = null) return"l

49、ogin"/ 获取院校列表list = service.getAll();return"check"3、实现Service层代码在CollegeService类中定义getAll()方法,调用dao层查询数据库中的院校信息。public List<College> getAll() returncollegeDao.getList();4、实现dao层代码在CollegeDao类中定义getList()方法,到数据库中查询院校列表。public List<College> getList() / 查询学校列表,使用DBUtil类Connec

50、tion conn = DBUtil.getConnection();PreparedStatement psmt = null;ResultSet rs = null;List<College> list = new ArrayList<College>();try / 声明操作语句:根据用户名和密码查询用户编号,"?"为占位符String sql = "select * from t_college where del = 0"/ 预编译sqlpsmt = conn.prepareStatement(sql);/ 执行查询操作

51、rs = psmt.e*ecuteQuery();/ 查询到记录,提取用户信息while (rs.ne*t() College college = new College();college.setId(rs.getInt("id");/college.setDel(rs.getInt("del");list.add(college); catch (SQLE*ception e) e.printStackTrace(); finally / 关闭数据库操作对象,释放资源DBUtil.closeResultSet(rs);DBUtil.closeStat

52、ement(psmt);DBUtil.closeConnection(conn);return list;5、调试和运行选择查询院校,即可看到所有院校信息列表。 图 6-4用户查询院校与普通用户查询院校功能类似的,管理员在后台点击菜单中的“查询院校,框架页面中显示院校列表。管理员有权限对列表中的院校进展查看、修改、删除的操作。图6-5管理员查询院校6.3.3院校参加比照用户在“大学搜索或者“院校分数线的院校列表中点击“+,即可将该高校参加比照栏。此功能模仿现有的购物,方便顾客比质比价,买到物美价廉的物品。同样的,是为了方便考生及家长,通过比较,在同等情况下,选择到适宜的院校。public vo

53、id remove() PrintStream out = null;try out = new PrintStream(ServletActionConte*t.getResponse().getOutputStream(); catch (IOE*ception e) e.printStackTrace();College c = cService.get(id);if (c = null) out.close();return;Map<String, Object> session = ServletActionConte*t.getConte*t().getSession();Cart cart = (Cart) session.get("cart");if (cart != null && cart.removeItem(c) session.remove("cart");session.put("cart", cart);out.print(true);out.close();图6-6参加比照6.3.4浏览高校比照 用户在比照栏中点击“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论