基于jsp的在线选课系统的设计与实现---【毕业论文】

本系列校训

互相伤害互相卷,玩命学习要你管,天生我才必有用,我命由我不由天!
毕业论文不怕难,毕业设计来铺垫!打磨技术精心写,拿证之后尽开颜!

毕设的技术铺垫

语言选择收录专辑链接卷的程度
C张雪峰推荐选择了计算机专业之后-在大学期间卷起来-【大学生活篇】★★★✫✰
JAVA黑马B站视频JAVA部分的知识范围、学习步骤详解★★★★★
JAVAWEB黑马B站视频JAVAWEB部分的知识范围、学习步骤详解★★★★★
SpringBootSpringBoot知识范围-学习步骤【JSB系列之000】★★★★★
微信小程序详细解析黑马微信小程序视频–【思维导图知识范围】★★★✰✰
python详细解析python视频选择–【思维导图知识范围】★★✫✰✰
phpPHP要怎么学–【思维导图知识范围】★★★✫✰

文章主体层次

摘要

示例

选题的输入元素:
1 时代需求
(最好要找2年内的政治性期刊来引文,如果引入书籍的话那就太旧了)
2 你的毕设受众的需求
有道云:出现问题才会有解决问题的人,才会出现解决问题的方案。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
系统实现了对课程的基本信息和学生选课、学生和教师用户进行管理。系统对学生角色提供个人信息查看、选课管理以及其他功能;对教师提供查看自己所担任课程的课表和选该门课程的学生信息;提供给管理员以下功能:查看所有课程、学生、教师的信息并可以对它们进行管理(添加、编辑、删除),以及实现新闻的发布并修改。

摘要的写法

★摘要:
又称概要、内容提要,是以提供文献内容梗概为目的,不加评论和补充解释,简明、确切地记述文献重要内容的短文。
◆位置:
题名和作者之后,论文正文之前。

摘要的构成要素
1、目的:研究的对象,范围,目的。
2、方法:采用了哪些手段、研究方法。
3、结果:陈述论文研究成果、新见解等。
4、结论:通过对问题的研究所得出的重要结论、主要观点、理论意义或实用价值等。

摘要中存在的主要问题有:
a.无独立性与自明性;
b.要素不全,或缺目的,或缺方法;
c.繁简失当,多数过于简单化;
d.重复题名已有的信息:
e.把引言中出现的内容写入摘要;
f.习惯使用“本文介绍了…作为摘要开头。

(个人体会)

构成要素中的“方法”部分,在理工类论文摘要中应是不可缺少的部分。在法学类论文摘要中,我个人觉得不一-定是每一-篇文章的必备项:如果有就应当指出,如“以科斯定理为分析视角”或“根据双边市场理论”等;如没有,则不可生搬硬套。其他的构成要素应当具备。
● 下面的举例,我个人认为比较规范。
例1、政府引导社会管理:复杂性条件下的社会治理摘要20世纪后 期以来,复杂性成为社会生态的基本特征,
由此产生的社会的开放性和社会治理格局的多元化对传统的控制导向的政府社会管理模式提出了严峻挑战。[对象]为了走出控制失灵的困境,政府必须扬弃社会管理的简单思维,确立一一种复杂性思维,[ 方法]来指导政府社会管理职能由控制到引导的转变。[目的]区别于传统的控制导向型职能,引导型职能在应对社会复杂性方面具有行动主动性、战略规划性、智慧监管性和灵活适应性等属性。[结果]对于当前的社会治理实践,中国政府在履行引导,职能的过程中应当抓住核心环节,把重心放在抓好规划和“培育等方面。[结论]

  • 摘要由目的、方法、结果和结论四部分组成。
    目的部分应简要说明研究的目的,说明提出问题的缘由,表明研究的范围及重要性;方法部分应说明研究课题的基本设计,使用了什么材料和方法,如何分组对照,研究范围以及精确程度,数据是如何取得的以及经过何种统计学方法处理;结果部分要列出研究的主要结果和数据,有什么新发现,说明其价值及局限,叙述要具体、准确,并需给出结果的可信值和统计学显著性检验的确切值;结论部分应简要说明、论证取得的正确观点极其理论价值或应用价值, 是否值得推荐或推广等。说白了,摘要就是你文章的骨架。
  • 告诉你-一个懒人的办法
    第- -句写目的,也就是你这篇文章要解决的问题和提出这个问题的原因,然后是“本文通过… .的方法,阐述…论证了…得出…记得
    摘要最好200字左右为宜,不宜过长。

英文摘要:

直接翻译,然后稍加工即可

With the improvement of science technology, the computer science becomes gradually mature, people have already deeply understood its strong function, and it has already got into each realm of the human society to exert a more and more important function. The student selecting system, a modernizing teaching technology, pays much more attention by people. It is indispensable part for a school. The student selecting system is for the sake of managing to the information of selecting courses. The tendency of student selecting system will edify the selecting management, it would be more systematical and procedural in future work. We try to avoid the random work, promoting the accuracy and speed of the processing information, so that we can check the information of selecting course with a convenient and efficient form.
The system carried out the management of basic information of course, the student selecting course, the student and the teacher’s customer. The system provides a function, which is good for students to check their personal information and the management of selecting course, to the characters of the students. And for the teachers, it is convenient to look into the curricular lesson that he hold and the Student’s information that chose the course. At last, it is good for manager to check all the information of the lessons, students and teachers. Furthermore, it can carry on a management (increase, edit, delete) to them, and carry out the renounce of the news.
Key words: select course, the renouncement of course information, B/S、SQL Server 2000、JSP

选题目的和意义:

选题的输入元素:
1 时代需求
(最好要找2年内的政治性期刊来引文,如果引入书籍的话那就太旧了)
2 你的毕设受众的需求
有道云:出现问题才会有解决问题的人,才会出现解决问题的方案。、

Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,教师学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。目前国家的教育体制也正处在不断改革、创新的阶段,我国教育部门充分吸取国外优秀的教学模式,结合国内多年的办学经验,逐步探索出适合中国特色的教学形式,国家教育部面向各级各类学校开展了全面学分制改革。因此,教学管理软件应充分依托校园网,实现教学信息的集中管理、分散操作、信息共享,使传统的教学管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教学文件管理系统和全校信息系统打下良好的基础。《学生网上选课系统》是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。
由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生网上选课系统,可以提高教师,学生和学校的管理效率。我们的目标是用学生网上选课系统实现最快对全校选修课程发布以及新闻发布,使教师和学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。

与本课题相关的技术和方法综述:

Java
编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程,Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。
当编辑并运行一个Java程序时,需要同时涉及到四种方面:(1)Java编程语言(2)Java类文件格式(3)Java虚拟机(4)Java应用程序接口。使用文字编辑软件或集成开发环境(Eclipse或MyEclipse)在Java源文件中定义不同的类,通过调用类(这些类实现Java
API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java
API调用。 Java应用程序用户界面开发包
Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event。

JSP是一种能实现动态网页的技术。Sun公司最先提倡发行,并由多家公司共同开发与完善的。JSP技术通俗来说其实就是在普通的网页HTML文件中首先加上Java程序段来实现具体功能,然后再根据需要添加JSP标记(tag)进行记录,这样二者结合就可以形成JSP文件。其功能特别强大,基本可以实现大多数动态网页所需要的各种效果。用JSP技术所开发的网页具有跨平台的特点,在不同的操作系统,例如Windows,Linux,Winxp等操作系统上都可以运行起来。在服务器端进行大部分复杂的程序操作和功能实现操作,而这些并不需要用户直接参与或操作,最后的结果通过网络传送给用户。这样就减轻了用户工作量的同时也减少了浏览器的负担。因为有些浏览器并不支持Java语言,然而这不影响功能操作的实现,同样能够登录JSP网页,达到预想效果。
Java server page(以下简称JSP)为servlet技术的简化。JSP的功用在于它实现了Html语法中以<%, %>形式的java扩张。但是,值得注意的是,因为JSP与Servlet均在服务器端运行,故而往往以HTML文本为主要形式呈现客户端面前,所以当有 需求时,客户端可以便捷地通过浏览器来实现浏览。当网页服务器(web)遇到访问JSP提出的要求时,需要进行以下两个步骤:首先执行程序段,后将结果与htlm返回,以便系统更好运行。至于为何要进行的Java代码段的插入操作,其主要目的在于进行数据库的连接、网页重定向等等,以满足网页动态实现所需的各类功能。

Html语言是一种脚本语言,是一种规范和标准,在所有的开发语言中,是较为简单易学的一种,它有很多标签,运用标签就可以实现很多静态页面效果。虽然html语言相对其他语言来说比较简单,但是他能够实现的功能却很强大,因此受到广大用户的热爱。他可以实现静态网页设计,是学习前端设计的一门基础性语言。Html的结构包括头和主体部分,是WWW的描述语言。

Myeclipse其实是在经过一系列已有软件产品的补充和更新的基础上产生出来的,是一款功能丰富的企业级开发环境。在多种程序开发、服务器效能的提高、功能实现等各个方面起到了不可估量的用处,很大程度上增强了开发效率。总之,Myeclipse和eclipse有着千丝万缕的关系,它其实就相当于一个功能插件,并且它具有丰富的开发环境,使用范围广泛,能够实现多种功能,支撑目前流行的几乎所有开源工具。像JavaServlet,JSP,JSF,Spring,AJAX等等。而在结构上,Myeclipse的特征有WEB开发工具,应用程序服务器的连接器等等7大类(在此只举出2类)。这种结构布局使得模块间各自独立,各个模块各自运行,他们之间互不影响,单独完成各自的升级或者扩展。MyEclipse 是基于Eclipse插件的解决方案,功能强大并且支持十分广泛,支持云开发、java web开发、移动开发、优化开发、RESTful Web服务开发、保持Maven、架构、企业交付、测试等等,此外,Myeclipse版本更新迅速,不断完善已有功能,弥补漏洞,方便开发。MyEclipse具有完备的编码、调试、测试和发布功能,是一款功能丰富的JavaEE集成开发环境。
MyEclipse这一开发工具,每个版本都有其各自的特点,本文使用的MyEclise8.5。8.5版本经过长期的投入使用,较以前旧的版本修正了许多bug,性能比较稳定,界面比较美观,用起来也方便,操作较为简单。但是就兼容性来说,Myeclipse6.5相对比较好。而8.5版本容量大,用起来可能会存在卡的情况。但是除此之外,8.5也有很多优点,比如说它用起来十分灵活,对前台开发的支持性比较好。其实,每个版本都有自己的特点,具体选用哪一版本,还需要根据实际情况,结合所开发项目进行选择。
另外,MyEclipse还有很好的自动查错功能、自动补全功能。程序员在进行项目开发的时候,可以方便准确的找出出错的地方。此外,自动补全功能也可以大大节省程序员的编程时间,极大的提高了工作效率。总之,在进行软件系统开发时,一个得心应手的开发环境是十分必要的,这一点是会影响到开发的效率。Myeclipse很好的解决了这样的难题,为软件开发提供了便利条件。

Tomcat服务器是一个免费的应用服务器,他的封面设计以一个动物的素描为灵感,正是因为这个设计理念,所以该项目以一个英文的动物名字为项目名称。因为其免费又好用,功能强大,所以成为大多数程序员的首选。Tomcat是一个小型的,轻量级的软件产品,他在启动运行时占用非常少的内存资源和系统开销,扩展性能比较好,支持多种应用需求,如果一个开发员对某一项功能实现特别感兴趣,他就直接可以将此功能加入到其中。Tomcat可以独立运行,身为网站的服务器,可以加载动态网页。

SQL2005数据库
SQL 数据库设计简单易懂,功能相对来说比较全面,为软件产品的开发应用提供了良好的环境和数据帮助。关系型数据和结构化数据为数据库提供了新的功能,使得信息能够更好的存储和组织,完善了SQL数据库,这样一来,程序员可以运用这一优势,在软件产品开发过程中,能够为用户开发出高质量高性能的数据应用软件。此外,Microsoft SQL Server 2005 还整合了各种功能:例如分析、集成等。用户凭借此完成了对方案的构建。SQL2005数据库为实现系统后台与前台连接起到了十分重要的地位。一个没有连接数据库的系统是无法实现任何有价值的功能的。数据库可以帮助开发人员整合管理数据,有效实现系统所需功能,同时还可以进行权限的设置和数据的添加。总之,SQL可以满足人们基本的几乎所有要求,为其提供一套经济,有效的开发策略,使得用户付出最少的代价获得最多的回报。

系统分析

经济上的可行性

实现塞北村镇旅游网站所需要花费的时间,人力,金钱成本较该网站投入使用时能够获得的收益来讲,差距是比较大的。所以,从经济方面讨论时,开发该网站显然是比较合理的。这样可以对当地村镇旅游信息进行有效的整合和集中,及时的发布与更新,可以使旅客及时获得各种景点、住宿、攻略等信息,方便得使消费者获得想要的信息,同时使企业盈利。这样可以为当地经济带来更好的工作效益和社会效益,开发出本网站可以减少旅游人力成本,而且管理便捷,各功能实现迅速,以对数据实施有效的管理。管理上的有效便捷,信息得以及时获取,选择上的方便等所能达到的利益是不可估量的,这样帮助村镇实现信息化的同时帮助他们宣传家乡文化、提高收入。所以,从经济这个角度来说,可以进行该网站的建设。

技术上的可行性

技术是否成熟关乎该网站能否可以顺利进行,是不可忽视的一个重要方面。技术可行性的研究是指的目前而言已知的的各项技术中哪些可以高质量的完成对该软件系统的开发。同时要兼顾已有的软硬件配置的要求。就本系统而言,需要软硬件配置较高的PC机,Windows操作系统,另外,需要安装SQL2005数据库服务器,JDK,
Myeclipse,tomcat,任意浏览器,配置好基本的所需环境以后,采用合java,JSP语言进行旅游网站的设计、开发与运行。从技术上来说,这些基本的软件系统开发所需技术是不成问题的。

操作上的可行性

首先,进行网站设计的几种软件都具有较高的普及性和较高的可操作性,设计人员可以较为轻松地使用软件对塞北村镇旅游网站进行设计和完善。第二,管理员可对客户进行验证,对信息平台的信息进行发布,修改,管理,还可以实现酒店预订,修改,删除等各种功能。第三,客户可以在提示下进行一系列的留言,预订,查看等各项功能。而这些功能都是比较简单可行的,这些功能也比较普遍化,一般人员胜任是没有问题的。这样说来,从操作上来说是可行的。
结合以上分析与介绍,从经济、技术、操作等方面来说,现有的有效环境和条件、技术是可以开发出一个具有较高可操作性和功能强大的个性化旅游网站,实现各项功能,完成测试。

开发结构分析

B/S模式即浏览器/服务器模式体系结构,这对较为小型的系统来说更加适用。他最大的优势在于不需要客户端的维护,适用于客户端需求较为多变的系统。这对客户来说,该模式界面友好,具有实用性。所以塞北村镇旅游网站采用通用性好,成本低,开发相对简单的B/S模式体系结构。管理方便也是该系统的又一个优势,此外,针对用户来讲,该网站用户数量大,变化性和流动性也强。经过上述分析探讨,最终认为B/S模式是该网站的最好选择。

如图2-1B/S模式图所示:
在这里插入图片描述

功能需求分析:

学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视。是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
本系统具体有以下功能:
个人信息:包括学生和学生的个人资料
课程计划:计划课程的开课时间,上课地点,上课老师等信息
管理功能:课程发布,修改,删除。学生,老师用户的添加删除。新闻的发布和删除和修改
教师用户:教师可以修改密码,查看课程和选修自己课程的学生列表以及查看新闻
学生用户:选修课程,可以取消选择
条件查询:用户可以查询自己所需的资料
退出系统

网站总体设计:

项目规划
基于Windows操作系统和Microsoft SQL Server 2000数据库,建立一个B/S层结构的学生选课系统,使用JSP编程,实现学生的选课功能、以及教师查询上课信息。
网上选课系统从功能上划分一共有3个主模块,主要实现教师信息管理、学生信息管理、课程信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课地点、上课时间、上课教师。管理员有权限去更改选课课程的信息。
身份登入:学生,教师,管理员三中身份登入(权限不同)
用户管理:管理员可以添加各种权限的用户,修改,和删除用户
课程管理:可以对颁布的课程表进行添加,删除,修改
新闻发布:管理员可以发布新闻并对其修改删除

3.2 设计目标
建立一个学生网上选课系统,实现对课程的基本信息维护以及学生选课、教师上课信息。系统对学生角色提供个人信息管理、选课管理、管理学生本人已选课程。系统对教师提供查看自己所担任课程的课表和选该门课的学生信息。系统同时给管理员以下功能:查看所有专业、课程、学生、教师的信息并可以对它们进行管理(添加、编辑、删除)。以及实现新闻的发布并修改。提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
学生选课管理系统的要求是要准确快捷地管理学生的信息。学生隶属班级,学院;学生需要有课程,学分,成绩,而这些又都要靠教师或者管理人员来添加。由此总结出如下需求信息:
用户分为管理员用户、教师用户和学生用户。
一个学生有多门课,一门课对应多个学生。
一个教师可以教授多门课程,一门课程可以有多个教授来教授。
管理员可以发布新闻
经过对上述系统功能的分析和需求总结,设计如下数据项:
管理员信息:用户名、密码。
学生信息: 学生ID、姓名、性别、班级、年龄、学院、所在系
教师信息: 教师ID、姓名、性别、年龄
课程信息: 课程ID、名称、上课时间、上课地点、学分、上课教师
班级信息: 班级ID、名称、班主任
新闻信息: 新闻ID、新闻标题、新闻内容

数据库设计

数据库概念结构设计
数据库是每一个系统所必需具备的。数据库的主要用途是实现对各种资源数据的存储,提供给该网站多种服务。通俗来讲,数据库其实就是一组具有相互关联的信息资源的有序集合,这些信息以一定的方式存放在一起,供系统使用。而对于程序来说,其与数据库又保持高度的独立性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

系统详细设计与实现

主界面模块设计

页面框架化。本系统界面采用框架结构,把页面头、左边导航、右边正文放在不同的框架里面,当用户在左边导航选择不同的功能菜单时,只是在右边正文区刷新内容,这样做使得页面结构清晰,便于用户操作。
系统的首页面index.jsp在页面左边显示出三种身份登录的链接。便于不同用户清晰的看清登录的位置。不同身份的用户登录提交的用户名和密码提交到不同身份的数据库认证页面中。如学生用户登录提交到login.jsp。当验证通过时,跳到学生用户的页面。并把信息保存进session,以供其他页面判断用户是否已经登录。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关键代码

数据库操作部分

<%@ page import="java.sql.*" %>
<%@ page import="Bean.*" %>
<head>
<style type="text/css"> 
A:link{color: 006699;font-size:9pt;text-decoration:none}
A:visited{color: #006699;font-size:9pt;text-decoration:none}
A:hover{color: #FF6600;font-size:9pt;text-decoration:underline}
</style>
<title></title>
<script language="JavaScript">
<!--
function del(id) 
{
if (confirm("您确信要删除吗?") )
top.location="del.jsp?id="+id
}
</script>
</head>
<body background="../images/BKGRD9.jpg">
<center>
<br>
<p>我的课表</p>
<%//防止某些用户不进行登陆,直接想进入此页面
if (session.getAttribute("s1")==null){
response.sendRedirect("../index.jsp");
}%>
<%
useBean2 enroll=new useBean2();
enroll.useBean();
String id=(String)session.getAttribute("s1");
String strSQL="select * from course,sc where sc.num='"+id+"'and sc.cno=course.cno";
ResultSet rs= enroll.executeQuery(strSQL);
if(rs.next()){%><table gcolor="#CCCCFF" border="1" width="500" align="center">
<tr><td>取消选择</td><td>课程名</td><td>上课时间</td><td>上课地点</td><td>上课教师</td><td>学分</td></tr>
<%
while(rs.next()) 
{%> 
<tr><td> <a href="del.jsp?id=<%=rs.getString("cno")%>">删除</a></td>
<td ><%=rs.getString("cname")%></td>
<td ><%=rs.getString("ctime")%></td>
<td ><%=rs.getString("cadress")%></td>
<td ><%=rs.getString("ctea")%></td>
<td ><%=rs.getShort("csc")%></td>
</tr>
<%} }
else out.print("您还没有选择任何课程!");
enroll.close();%>  
</table>
<table width="650">
</table>
</center>
</body>

登录代码

<%@ page language="java"  pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="connDbBean" scope="page" class="db.db"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'adminyanzheng.jsp' starting page</title>
    

  </head>
  
  <body>
  <%
 
 String uid=request.getParameter("username");
 String pwd=request.getParameter("pwd");
 String cx=new String(request.getParameter("cx").getBytes("8859_1"));
 String sql="";
 if(cx.equals("普通用户"))
 {
 	sql="select * from [yonghuxinxi] where yonghuming='"+uid+"' and mima='"+pwd+"'";
 }
 else
 {
 	sql="select * from [allusers] where username='"+uid+"' and pwd='"+pwd+"'";
 }
 ResultSet RS_result=connDbBean.executeQuery(sql);
 if(!RS_result.next())
{
	out.print("<script>alert('你输入的用户不存在或密码错误,请重新登录!');window.history.go(-1);</script>");
	}
else{
	
  	  session.setAttribute("username",uid);
	if(cx.equals("普通用户"))
 	{
  	  session.setAttribute("cx","普通用户");
  	  }
	  else
	  {
	  	session.setAttribute("cx",RS_result.getString("cx"));
	  }
	 response.sendRedirect("main.jsp");	 
	} 
RS_result.close();

 %>
  </body>
</html>


package Bean;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.jsp.*;
import java.util.*;
import javax.servlet.http.*;
public class useBean2{
//ServletRequest request;
//ServletResponse response;	
//JspWriter out;
String Sd="sun.jdbc.odbc.JdbcOdbcDriver";    //建立一个联接机
String Sc="jdbc:odbc:xxx";                  //建立一个Odbc源
Connection con=null;                       //Connection对象
ResultSet rs=null;                        //建立一个记录集
public void useBean(){
		     try{
                Class.forName(Sd);  //用classforname方法加载驱动程序类
                       }catch(java.lang.ClassNotFoundException e){ 
//当没有发现这个加载这个类的时候抛出的异常
                        System.err.println(e);  //执行系统的错误打印
                       }
	}
public ResultSet executeQuery(String sql){   //可以执行添加删除等操作
                  try{
                        con=DriverManager.getConnection(Sc);
                        Statement  stmt = con.createStatement(
                                        ResultSet.TYPE_SCROLL_SENSITIVE,
                                        ResultSet.CONCUR_READ_ONLY);
                        rs=stmt.executeQuery(sql);
                  }catch(SQLException er){
                          System.err.println(er.getMessage());
                  }
                  return rs;
          }
          public int executeUpdate(String sql){  //数据库的更新操作
                  int result=0;
                  try{
                          con=DriverManager.getConnection(Sc);
                          Statement stmt=con.createStatement();
                          result=stmt.executeUpdate(sql);
                  }catch(SQLException ex){
                          System.err.println(ex.getMessage());
                  }
                  return result;
          }
        public void close(){
                  try{
                          if(con!=null)
                                  con.close();
                  }catch(Exception e){
                          System.out.print(e);
                  }try{
                          if(rs!=null)
                                  rs.close();
                  }catch(Exception e){
                          System.out.println(e);
                  }
          }
}

系统测试

测试的任务及目标

6.1.1测试的任务

软件测试的需要完成的任务有:在软件产品进行生产运营之前,以最少的时间成本和人力资源、最大限度的发现或者找出软件产品中已经存在的或者尚未发现的不足和漏洞,保证产品能够正常运转并且能够满足用户对产品的所有要求。同时可以有效的和系统工作人员互动,实现改进软件的最终目标。具体主要包括以下几个方面:
1.更早的发现并找出软件产品中的bug。
2.尽量多的避免软件缺陷的出现。
3.尽可能全面的评价软件产品的各项性能指标,保证软件产品的功能和容错性。
4.时刻关注需求的变化。
5.功能检查:检查每个部分功能能否运作,是否有漏洞或者运行不出来的情况。
6.性能检查:检查性能是否合格。
7.初始化、终止检查:检查程序是否能够正常开始和正常结束终止。

6.1.2测试的重要性及目标

软件测试是软件开发过程中的一个重要部分环节,可以说在软件产品开发周期中起着举足轻重的地位。而在以前的软件开发中,并不重视测试部分。他们经常只是存在于系统的运行和维护阶段之前进行,其他部分并不涉及。所以,这就成了所发开的软件在完成之前进入投入使用的质量标准是否合格进行的唯一测试和保障。这就导致后期维护成本增加,系统漏洞出现频率增高。在最近几年来来,开发维护人员逐渐意识到系统测试的重要性,所以提出,应该在系统生命周期的每一个阶段都应该包含测试,这样就可以验证系统能否达到用户所期望的效果和需要,能否高效的实现了用户要求的全部功能,是否存在运行不出来或者运行出错的问题。若少了这些环节,不提早进行各个时间段的具体测试任务和细节,后期开发维护成本将会大幅度增加,而且问题的蔓延往往使得产品错上加错,越滚越大,最后甚至会导致软件开发难以继续进行进而宣告失败。

理论上具有很大的可行性,但是事实上,对于测试系统来讲,不论进行如何精细的测试方案、技术和方法,系统不可避免的还会出现错误。然而,创新合理的方法,周密的方案,新的语言,能够大大减少问题的发生的概率,绝对的避免问题的发生几乎是不能够完成的。测试人员应该通过测试不断修改完善系统中存在的问题。进行系统测试工作应该至少达到整个软件产品发开时间和任务的40%以上。因为测试占据重要地位,关乎软件开发成功与否,更关乎成本的投入数量。统计表明,典型的系统项目投入的总资金中,测试部分大概就要花百分之30到50的资金总额。如果没有合适的测试部分,也可以说在测试部分没有投入太多工作量就直接交付成品,可能就会导致二次开发、三次开发甚至多次开发的严重后果。最后不仅开发的系统不合格,资金投入高,严重时还会使得软件被弃用。这样说来,测试工作必须得花费时间仔细完成。正因为系统测试具有如此重要性,所以在运营之前进行测试是必不可少的,同样,测试可以到达的目标也是十分重要的。软件测试的目标主要是力求避免或者减少bug和漏洞的发生,以求可以确保系统的正常运行。

6.2测试方案

在测试的过程中,方案的选取是十分重要的。根据系统的不同,制定不同的测试方案,既能到达预测效果,又能节省成本,符合系统制定规则。而测试方案的设计是否成功,不仅仅只是资金和时间上的节省,更重要的是能否找到系统已经存在或者潜在的bug。能够找出多种证明系统错误或者漏洞的数据,这才是成功的测试数据和方案。黑盒测试以及白盒测试是经常使用到的两种固有方案。
黑盒测试也称为功能测试,主要针对接口之间。黑盒测试不在乎内部结构如何,它只关心程序能否实现已经规定好的各种功能,正确输入输出即能否正常接收数据然后获得预期效果一样的输出结果,同时保持程序结构的无差错性。黑盒测试的优点在于简单,便捷的获得想要的结果,找出系统错误,而不必担心程序内部如何运行,这就大大简化了测试人员的工作量又可以达到自己想要的结果。常用的黑盒测试方法主要包括:等价法、边界值分析法、因果图法、猜错法等等。
白盒测试又称为逻辑测试。该方法与黑盒测试方法正好相反,该方法关注的是程序内部逻辑的实现,而不在乎外部接口。白盒测试方法将系统看成一个透明的盒子,它关心的是程序内部实现逻辑和结构,对系统的逻辑路径及过程一一进行测试。检验系统是否与预期效果是否相符。白盒测试需要设计多种测试用例,对已有代码进行全方面的检测,保证代码的正确性。白盒测试的俩种方法有:逻辑覆盖法和路径覆盖法。该测试依照程序内部的逻辑结构顺序进行程序的检验,检验其程序中的正确性。

测试用例:

略。

结论

在网站的设计和实现过程中,最开始通过网上问卷调查等方式对该网站进行了系统的需求分析,向广大互联网用户了解到旅游网站一般应该具备哪些基本的功能与特征。然后下一步对网站从技术上,经济上,操作上进行可行性分析,分别对这三方面可行性进行分析确认。可行性分析通过之后又进入详细设计阶段,这个阶段主要是对数据库进行选择和设计。这一过程非常重要,是整个详细设计阶段的最重要部分。只有数据库设计合理有效,才能为下面一系列模块实现工作打下坚实的基础,为具体工作做好准备。最后是划分各个部分所要实现的内容,然后着手每个部分代码的实现。
该网站开发采用MyEclipse作为开发工具,运用JSP,JAVA,HTML等技术,SQL2005数据库这样一个简单的小型数据库。整个界面便清晰便捷,客户使用起来简单方便。在网站的开发过程中,特别注意强调的是,开发过程采用的是边开发边测试。这样就可以及时发现问题,及时改正。不然会因为前期工作的失败造成后续工作额度难以推行,找不到出错位置。首先进行单元测试,确保各个模块正确无误之后再进行下一模块代码的编写与实现,最后进行个模块接口的实现,完成模块之间的整合,最后进行一次最终的测试。考虑到该网站在未来投入使用过程中不可避免的出现各种错误操作,还需要对系统可能出现的各种异常都进行提示框处理。完成具体模块功能以及整合后,还需要修修改改,不断美化界面,达到完美。最终实现了集性能稳定及页面美观为一体的一个完整的旅游网站。
塞北村镇旅游网站基本可以满足塞北村镇对其当地景点宣传的需要。基本上达到了预期效果。但是,人无完人,笔者在网站设计过程中,不可避免的还会有一些不完善的现象,比如说,功能实现不够细致还需进一步深思改正,界面设计不太美观还需要进一步美化等等。另外,在数据存储上可能也存在一定缺陷,数据表的设计也存在不足。一些功能的实现没有找到最简便的方法,代码太长导致网站系统反应时间太长等等。根据系统的不足,继续改进和完善本系统。虽然存在上述问题,但是整体而言,本网站有许多地方还是做的非常不错,希望可以在以后的学习工作中不断完善与改正。

致谢

四年如白驹过隙,忽然而已。一天揭过一天,毕业的日子还是到了,港湾再宁静,也终究是有放缆远行的一天。四年的时光犹如潮水般汹涌退去,在汹涌的潮音中一切变得似远犹近,似是而非。在似是而非的朦胧交错中,时光又似乎清晰了。
校园里人已散去大半,仅余下毕业的觥筹交错的歌声,从湖的此岸荡去彼岸。最爱的便是这汪湖,每一步都由无数个散落在湖光里的记忆拼凑,亦惆怅,亦浪漫。尤记得射雕中程瑛与陆无双在与杨过分别时,程瑛曾说:“三妹,你瞧这些白云聚了又散,散了又聚,人生离合,亦复如斯。你又何必烦恼?”她话虽如此说,却也忍不住流下泪来。当初读到此处,虽心中伤感,但终究不明白个中酸楚,而如今自己却身置其中,那难以言明的无奈也只有自身可体会吧。
来到理工,而今细细思量,实在是件幸运的事。这四年的时光,说短不短,说长也未必长,但却实实在在改变了我的人生,让我的人生方向清晰了起来。刚过去的便是备战考研的日子,那再次把未来抓在手中的感觉实在再美妙不过了。一年来的披星戴月,每每坚持不住就躲在无人处猛抽自己耳光,最难熬的是冬日里早上5点半独自顶寒风去图书馆,大喊着让自己坚持。那段日子真正让我切身体会到付出真的是会有收获的。最充实的体会到自己我价值的日子是大二的时候,奔走于社团活动之间,忙碌疲惫中亦不乏欢声笑语,回想起一起并肩作战的朋友们,实感欣慰。
如今想到的只有感谢,感谢四年来父母对我求学的支持,感谢四年来诸位师长的教诲,感谢朋友们的帮助,感谢贾,魏等同学的建议,特别需要感谢的是我的论文指导老师,老师们的耐心教导和不厌其烦的帮助,让我从最初的迷茫一无所知,到现在的仅仅有条,胸有成竹。没有老师们的帮助,我是无法独自完成毕业论文的。时间过得好快,一眨眼已经过去了几个月的时间。从做毕业设计到现在,我学到了很多,也了解到自己身上的一些不足的地方,同时也发现自己在四年的学习中所短缺的知识,在接下来的日子里,我会继续不耻下问,不屈不挠的学习专业课东西,在实践中发现不足。努力成为一个更好的人。

参考文献

一般来说,前3篇是近2年的。写论文的时间占半年左右。要留出这个时间差,然后,后面的就是技术相关,10篇以上,英文文献 5篇以上。
小技巧
数量最好是要超过一页,能过页最好。为什么呢,因为论文是一种比较正式的文体,一般来说大的节(WORD里用分节符)分出来的,都会居于论文的奇数页,也是书籍的右手边的页。
给出一些软件与物联网常见文献

主要参考文献和书目:
[1] 曹鸣鹏, 赵伟. J2EE技术及其实现[J]. 计算机应用, 2001, 21(10):20-23.
[2] 李平. 基于JSP的动态网页开发技术[J]. 微计算机信息, 2009, 25(21):108-110.
[3] 王珊, 萨师煊. 数据库系统概论[M]. 北京:高等教育出版社, 2007. 6-38
[4] 范新民. 基于JSP、JDBC技术动态访问Web数据库的实现方案[J]. 福建师范大学学报:自然科学版, 2002, 18(2):28-33.
[5] 曹春萍, 王志民. MVC设计模式的研究及其应用[J]. 现代电子技术, 2005, 28(20):80-82.
[6] 徐晓霞, 贝雨馨. B/S模式与C/S模式之比较[J]. 延边大学学报:自然科学版, 2002, 28(2):126-129.
[7]丁宝康:数据库实用教程 ,清华大学出版社,2004. 26-75.
[8]冯博琴等;面向对象分析与设计 , 机械工业出版社,2004. 18-25.
[9]刘文利 .国内停车场管理系统的现状与发展趋势[J] . 中国新技术新产品,2011(01) :20-22.
[10]吕英丽. 停车场车辆出入管理系统的研究[J].北京邮电工程,电子信息工程.2011(02).20-40.
[11]刘娇,智能停车场管理系统的研究[J].湖南大学,控制科学与工程.2011(01):30-55.
[12]王璞 . 2013年中国停车场管理系统的市场调查报告, www.askci.com. 2013(01):15-28.
[13]叶俊民. 软件工程(第二版). 北京. 清华大学出版社,2010. 15-155.
[14]覃国蓉 . 基于B/S架构的软件项目实训 .电子工业出版社 .2004.45-60.
[15]陈榕 . 停车场管理系统设计与实现 . 科技创新导报. 2009 NO.23. 2-8.
[16]梁建全,周力,孟志勇,田立军. 精通轻量级JavaEE框架整合方案[M].人民邮电出版社 . 2008. 45-95.
[17]王志良等. RFID读写器制作实训教程 . 机械工业出版社. 2013. 16-60.
[18] 张丽霞 . 智能停车场系统集成与应用维护 . 电子科技大学出版社 . 2013. 15-45.
[19]佚名.停车场自动车牌识别系统方案书.2013.2-8.
http://wenku.baidu.com/view/b1c5a503581b6bd97f19ea3f.html .2-18.

参考论文

基于jsp的塞北村镇旅游网站的设计与实现–【毕业论文】

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

项目花园范德彪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值