基于web的作业管理系统.doc_第1页
基于web的作业管理系统.doc_第2页
基于web的作业管理系统.doc_第3页
基于web的作业管理系统.doc_第4页
基于web的作业管理系统.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文题 目: 基于web的作业管理系统 系 别: 专 业: 学 号: 姓 名: 指导教师: 完成时间: 摘要现代科技的日新月异,使我们的生活发生了翻天覆地的变化。高校的教学方式也在不断的发生 新的变化。计算机教学和多媒体技术的普及已成为高校教学的一种趋势。利用计算机网络技术进行对学生上机课课堂作业及其他电子版作业进行管理,具备以下几个优点:能方便的进行学生电子作业管理,比如布置作业和上交作业。教师能方便准确的布置好作业,有利于是先数据信息的共享,减轻管理员和教师的上机的工作负荷,使作业的管理更加科学、规范和安全。因此,设计一个性能良好,简单好用的基于web的作业管理系统是十分的必要。该论文主要从作业管理系统的分析,设计和开发的全部过程。结合数据流图,ER图,程序流程图等对系统的设计过程进行详尽的描述。本文共分成绪论、需求分析、开发技术、系统的设计、代码的编码等着几个部分。该系统采用的是B/S的开发模式,开发语言是JAVA语言,主要使用的开发工具是Myeclipse8.6和MySQL数据库。主要使用的技术是JSP、JavaBean、Servlet、html等,使用的服务器是Tomcat。关键字:jsp,java,servlet,分布式,javaBean,文件上传、下载,mysql,B/S开发模式 毕业论文ABSTRACTModern technology advances, so that our life has undergone enormous changes. College teaching methods are constantly undergoing new changes. Computer education and popularization of multimedia technology has become a trend in university teaching. Use of computer network technology on student-on classroom assignments and other class work electronically managed, have the following advantages: to facilitate the conduct of student electronic job management, such as homework assignments and on. Teachers can facilitate accurate layout of good jobs, enabling the sharing of information so the first data, administrators and teachers to reduce the workload on the machine, so that operations management more scientific, standardized and secure. Therefore, the design of a good performance, easy to use web-based job management system is very necessary.The paper mainly from the job management system analysis, design and development of the whole process. Combines data flow diagram, ER diagram, process flow chart of the system design process detailed description. This paper is divided into an introduction, needs analysis, development of technology, system design, code, coding waited several parts. The system uses B / S pattern of development, development of language is JAVA language, the main use of development tools is Myeclipse8.6 and MySQL database. Main technique used is JSP, JavaBean, Servlet, html, etc., using the server is Tomcat.Key Words: jsp, java, servlet, distributed, javaBean, file upload, download, mysql, B / S development model目录1绪论51.1课题背景51.2课题的意义51.3实现系统所使用的方法以及所要达到的要求61.4系统开发工具、开发语言的选用及介绍61.4.1JSP的优势及特点71.4.2Tomcat服务器的优势及特点71.4.3MySQL数据库的优势及特点72需求分析92.1系统简介92.2管理员用户的主要需求92.3教师用户的主要需求103可行性分析113.1经济可行性分析113.2技术可行性分析113.3法律可行性分析114系统总体设计124.1用户界面设计124.2首页登录界面设计124.3学生用户界面设计124.4教师用户界面设计134.5管理员用户界面设计144.6系统模块化设计145数据库设计165.1系统所要用的数据表的设计16系统E-R图216系统详细设计236.1数据连接设计236.2SQL操作的设计246.3注册的逻辑处理286.4登录的逻辑处理306.5安全退出的逻辑处理31参考文献32致谢331 绪论1.1 课题背景随着现代科技的高速发展,各种互联网设备都得到了极的普及。PC机更是进入寻常百姓家。现在一些企业、机构、高校等都大面积的普及计算机等设备。特别是高校依靠计算机进行辅助教学,从而提高的课堂的教学质量。伴随计算机硬件的进步,软件也得到了蓬勃的发展。每个高校的教学方式正在往现代化信息化的方向发展,并且成为一个必然的趋势。高效的教学和学习方式能够让学生在这个快节奏的生活中更加方便快捷高效的获得所需要的科学文化知识,是教师和学生的宝贵课堂时间能够很好的被有效的利用,而不必浪费在不必要的作业的布置和上交上。是课堂时间能够更加充分有效的被利用起来。为了提高高校上机教学的教学质量。针对高校上机课堂开发一款作业的管理系统显得十分的必要。无论是上课教师还是课堂上的学生都能极大的减少管理作业带来的不必要的麻烦。针对传统课堂上的管理管理的各项流程设计出模拟系统,该系统能够实现作业的分发,下载,上传,接受等功能。实现了对课堂作业进行统一的管理、备份、存储等管理行为。管理上更加的科学化。由于目前我们的作业管理方式和管理手段还相对的落后,不仅浪费了教师和学生的时间,同时一些资源不能够得到充分的共享。已经开始不适合新的教学背景下的作业管理工作了,这个问题已经到了非解决不可得地步了。设计这样一款高效的方便师生上课,同时又能提高课堂质量的系统是很有必要,所以选择此课题作为毕业设计。1.2 课题的意义提高高效上机课堂对学生作业的管理,同时根据不同的用户等级有限制的分配不同的等级权限并且完成所能进行的操作。这样有效的提高了作业管理的安全性、针对性。既能方便教师对学生作业的管理、备份、存储,同时又能有效的区别出各个等级的用户的操作权限。用户操作简单实用,是上机课堂必备的管理系统。该系统采用的是B/S的开发结构进行的设计,该设计学生用户可以免去安装客户端的麻烦,如果出现服务器程序有问题只要修改服务端,不影响前台用户的使用。所以说设计该系统是可行的,也是很有必要的。由于每个学校都具有自己的特点,有各自的需求。使得各个高校多系统的具体要求都有显著地差异,所以针对某个高校的系统定制式一个很必要的事情。为了提高课堂的教学效率,减少不必要的教学时间浪费,是上机的教师和学生都能够高效、安全的实现作业的管理。能够实现基本的文件的上传和下载。该设计是针对一般高校的教学环境下设计的基于web的作业管理系统。能够实现不同用户角色的管理和控制。1.3 实现系统所使用的方法以及所要达到的要求实现该系统主要使用到的工具有MyEclipse、MySQL。主要使用到的编程语言有html、CSS、JSP、JAVA等。采用的是B/S的动态网络程序设计方法。该系统主要实现的目标是:管理员:管理员能够对教师信息的增加、修改、删除等。教师:能够根据课堂要去布置课堂作业,下发、收集等。同时有权限进行学生信息的增加、查询、删除和修改。能访问学生上传的作业文件夹。学生:学生能够根据老师布置的作业进行作业的下载,完成后进行提交。1.4 系统开发工具、开发语言的选用及介绍本系统采用的是JSP网络编程语言。主要用到技术是JSP、SERVLET、JAVABEAN等web编程技术。使用的开发工具是myeclipse8.6,后台使用的数据库是mysql,服务器程序使用的是tomcat服务器技术。1.4.1 JSP的优势及特点JSP是目前流行的一种动态网页应用程序,它不仅能跨越平台执行功能强大的动态网页,而且能够以JAVA技术为基础的动态网页程序。目前比较流行的支持JSP的服务器是Tomcat。JSP程序要通过JDK编译以后才能执行,JSP不能直接传送到浏览器而是要先编译成SERVLET,Tomcat负责将JSP网页转换成一个SERVLET,然后编译SERVLET。JSP提供在HTML代码中混合某种程序代码。在JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。JSP面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。1.4.2 Tomcat服务器的优势及特点Tomcat是一个小型的轻量级应用服务器,运行时占用系统资源小 ,支持负载平衡与邮件服务等开发应用系统中的常用功能,并且不断改进和完善。 Tomcat适用于中小型系统和并发访问用户不太多的场合,是开发和调试JSP程序的首选。先进的技术、稳定的性能、源码开放和免费获取的机制,使得Tomcat深受Java爱好者的喜爱并得到了许多软件开发商的认可,成为目前相当流行的Web应用服务器。1.4.3 MySQL数据库的优势及特点MYSQL是一个小型关系型数据库管理系统,MYSQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。其优点有:综合统一;高度非过程化;面向集合的操作方式;以一种语法结构提供多种使用方式;该数据可使用的是标准的SQL语言。第 32 页 共 32 页2 需求分析2.1 系统简介该系统采用的是B/S结构设计与开发,学生用户只需要在学生PC端的浏览器中输入指定的URL,然后学生用户首先进入注册界面进行个人信息的注册。在注册成功后便可以在学生界面进行登录,然后进入相应的操作界面,学生用户能够进行作业的下载和上传。教师用户的账号是由管理员进行录入的,所以没有进行教师个人信息的注册界面。教师用户可以在首页中找到教师登录的入口。进入教师登录界面进行用户的登录。登录成功进入相应的教师操作界面。在该界面能够对学生进行管理。该系统该设计了一个叫做管理员的用户角色,该角色拥有系统的最高权限,能够对教师信息进行更改。用户类型:登录系统的身份定为三种,一种是学生用户,第二种是教师用户,第三种是管理员用户。只用被授权的用户才可以使用本系统的资源。授权管理:系统需要进过有效的身份验证才可以登录。用户的身份不同,使用的系统资源也不同。学生用户只可以对自己的信息查询及编辑、查看个人资料信息。学生用户可以下载或者上传老师布置的作业。教师用户经过授权后可以进入系统查看、编辑自己的个人信息。教师用户可以根据课堂要求布置作业,也可以上传一些资源供学生用户下载使用。教师用户还可以对学生用户信息进行管理。系统管理员用户拥有系统的最高权限。经过系统授权的系统管理员能够对系统的所有资源进行分配管理。能够控制其他用户对该系统的访问权限。2.2 管理员用户的主要需求管理员权限是拥有系统的最高权限,能进行的操作也是最多的。一下列出的是系统管理人员所具有的操作权限。能进行查询自己的个人资料信息;能进行系统的上传控制;能添加系统的允许上传的文件类型;能够手动设置系统禁止的上传和下载的文件;能够封锁指定的IP地址;能够进行C段网络的封锁;能进行教师信息的管理,比如教师信息的添加、修改、删除、查询等操作;还能进行登录密码的修改;2.3 教师用户的主要需求教师用户的操作权限仅次于管理员,高于学生用户。主要的功能是对学生信息的管理。以下是教师用户主要能进行的操作:查看教师个人的信息。管理作业,能对作业进行查询、修改和删除。布置作业,能够根据课堂要求进行作业的布置下发等操作。布置作业主要的内容是填写作业名称,作业的截止日期以及作业的内容等等。上传资源,教师可以上传一些教学资源供学生参考使用。也可以是一些作业的附件等。对登录密码的修改。定时的修改密码显然是一个好事,可以避免长期使用一个密码引发的密码泄露。防止一些学生获取教师的登录账号和密码进行恶作剧。修改密码的密保问题。由于日常生活中的要使用到的密码越来越多,很有可能将登录账号的密码忘记。虽然可以通知管理员进行对教师个人信息的修改,但一般自己能解决的问题最好自己解决。所以说设置必要的密保问题可以有效的防止密码的保护。当然如果密码设置过于简单也是一件非常危险的事情。安全退出系统的功能。安全退出系统和传统的直接关闭浏览器的方法是原理是不同。安全退出系统是将教师个人的系统登录信息进行清除,防止他人进通过浏览器缓存信息进行登录攻击。 3 可行性分析可行性分析是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程,所以,进行可执行性的分析是非常必要的,经过最初的设计目标和进行的市场调查得出以下四点的可行性分析:3.1 经济可行性分析经济可行性:该系统设计只是作为本人的学年论文的设计,所以没有什么经济效益可谈,开发过程不会产生大的开销;开发过程中使用的软件都是开源的或者是共享软件,没有购买软件上的支出。3.2 技术可行性分析技术可行性:现有的技术已经能够充分支持、开发该系统,并且已有现行系统能稳定的运行,本系统是根据前人已经实现的基础上研发的,所以技术上没有任何不可能性。运行可行性:该系统采用B/S结构,只要能够将服务器架构好后,运行在浏览器中,就能随处使用,由于使用的服务器程序和MYSQL数据库,都是轻量级的应用程序。对硬件的要求不是很高。一般机器上都是可以使用的。3.3 法律可行性分析法律可行性:该系统是作为毕业设计与商业无关,又是自主开发设计,因此不会构成侵权,在法律上是可行的。开发过程中使用的软件是开源的或者是共享试用期的,不用于商业用途。4 系统总体设计4.1 用户界面设计一个系统的好坏,给用户的第一感觉就是系统界面的美观程度。良好的界面设计能够增强用户的亲和力,给使用者直观上的感觉良好。合理的界面设计能够改善用户体验。4.2 首页登录界面设计登录界面的设计相对简单,主要实现的功能有:输入学生学号、输入学生登录、输入验证、教师入口、找回密码和学生注册。学号或者密码为空提示学号或者密码为空,请重新输入。要是验证码不正确提示验证码不正确,如果用户不能认清四个验证码,只需要点击换一张。具体登录界面如图4-1:图4-1:学生用户的登录图4.3 学生用户界面设计当学生输入的学号和登录密码正确的话,进入学生的操作界面。学生的操作界面主要功能有:查看学生的基本信息、管理作业、下载教师分享的资源、修改登录的密码、修改找回密码用的密保问题、安全退出。图4-2学生用户的操作界面4.4 教师用户界面设计教师的登录界面与学生的登录界面类似,当教师输入正确的用户名和密码后将进入到教师的操作界面上。在该界面中主要能进行的操作有:查看教师个人的基本信息、管理布置的学生作业、布置作业、共享资源的上传、修改密码、修改密保问题、安全退出。以下是教师用户进入教师操作界面。图4-3:教师操作界面4.5 管理员用户界面设计在教师登录界面里有一个后台维护入口,一般情况下管理员的入口都是隐藏起来的。但是这里为了能够进行维护,所以将后台的入口显示出来。当管理员输入正确的用户名和密码后,将进入系统后台管理界面。后台的管理界面主要实现的功能有:查看管理员的基本信息、设置上传文件类型、禁止上传文件类型。系统参数的设置、封锁IP地址、被锁IP地址管理、添加教师信息、修改管理员的后台登陆密码、安全退出。4.6 系统模块化设计模块化是指解决一个复杂问题时自上而下逐层将系统划分成若干块的过程。每一个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。系统模块划分不能使任意,要遵循高内聚低耦合的设计思路,应尽量保持其独立性。是为了降低系统和复杂性,提高可读性、可维护性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,尽量做到提高模块的独立,为设计高质量的系统结构奠定基础。系统模块化设计的任务是划分子系统,然后确定子系统的模块结构,并画出模块结构图。在这个过程中必须考虑以下几个问题:如何将一个系统划分成多个子系统。每个子系统如何划分成多个模块。如何确定子系统之间、模块之间传递的数据及其调用关系。如何评价并改进模块结构的质量。该方法适合于软件系统的总体设计和详细设计,特别是将一个复杂的系统转换成模块化结构系统,该方法具有它的优势。在使用过程中可以将结构化设计方法与结构化分析(SA)方法及编程阶段的结构化程序设计方法(SP)前后衔接起来。系统功能模块的优点:系统功能模块划分清晰,区别明显,易于操作,操作界面友好,简单易懂适合不同层次的操作人员;子系统之间的数据交换操作简单、快捷。根据该系统的需求分析,设计可实现的模块组织结构。如:4-5所示用户登录学生用户管理教师用户管理管理员用户管理图4-5:系统层结构图5 数据库设计一个设计良好的数据库能够提升整体的系统性能,不管是在查询速度还是在上传速度上都有较一个设计一般的数据库来的快。由于该基于web的作业管理系统属于小范围的使用群体,所以数据库的设计的好坏影响不是很大,但是作为学术研究就要追求精益求精的精神,使得数据库的设计达到最优设计。5.1 系统所要用的数据表的设计系统数据库名称为:workmanager_db,就是项目名称加上数据库的标志。这样命名的主要原因是遵循见名知意的命名原则。比如数据表的命名一般是使用tb结尾,tb代表的是table。如图5-1就是该系统数据库的结构图。图 5-1以下是管理员表的数据字典。通过该数据字典可以较直观的反应出数据的结构。字段名称字段类型字段描述主键/外键管理员姓名Varchar(255)登录用户名主键管理员密码Char(255)登录密码表 5-1管理员表(admin_tb)下图5-2是管理员表在实际数据库中。图 5-2 :管理员表的设计教师表中的主要字段有:教师编号、教师姓名、教师姓名、教师专业、教师的登录密码、教师的密保问题、还有就是密保问题的答案。下表5-2是教师用户的数据库字典。字段名称字段类型字段描述主键/外键教师编号Int自动增加主键教师姓名Varchar(50)姓名教师专业Varchar(255)专业教师密码Char(50)密码密保问题Varchar(255)密保问题密保答案Varchar(255)密保问题表 5-2 教师表(teacher_tb)下图5-3是教师表在实际数据库中。图5-3 教师表的设计学生表的字段主要有:学号、姓名、性别、班级编号、密码、密保问题、密保答案。下表5-3是学生表的数据字典。字段名称字段类型字段描述主键/外键学号Char(11)主键姓名Varchar(50)学生姓名性别Char(2)学生性别班级编号Char(11)班级编号外键密码Char(11)学生密码密保问题Varchar(255)密保答案Varchar(255)表 5-3 学生表(students_tb)下图5-4是学生表在实际数据库中。图 5-4 学生表的设计资源表主要是用来记录有谁上传了什么资源。上传者上传文件和删除文件都将进行数据库的操作。字段名称字段类型字段描述主键/外键资源名称Varchar(255)名称主键资源地址Char(255)上传者Char(255)图 5-4 资源表(sharefile_tb)图 5-5 资源表的设计字段名称字段类型字段描述主键/外键作业名称Varchar(255)主键作业截止时间Date作业内容Varchar(255)作业上传者Varchar(255)表 5-5作业表(task_tb)图 5-6 作业表的设计系统E-R图系统ER图是用来描述一个系统中数据及其之间关系的。E是Entity的简写,意思是实体;R是Relationship的简写,意思是关系。E-R图模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。1、模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。2、属性是实体的性质。用椭圆框表示,与实体之间用一条线相连,关键属性项加下划线。3、各子系统模块中主键相同的字段之间存在着相互关联的关系。在程序中实现对他们的完整性和一致性控制。4、根据上面的分析就可以设计出能够满足用户需求的各种数据实体以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。实体是指客观存在并可相互区别的事情;属性指实体所具有的每一个特性。联系是指实体间的关系。联系可以分为三种:一对一的联系(1:1);一对多的联系(1:n);多对多联系(M:N)目前,广泛使用的数据模块可以分为两种类型,一种是独立于计算机的概念数据模块,如实体联系模型;另一种是直接面向数据库逻辑结构的结构数据模型。E-R模型直接从现实设计抽象出实体类型及实体间联系,然后用E-R图来表示数据模型。它有两个明显的优点:接近人的思维,容易理解;与计算机无关,用户容易接受。E-R的四个基本成分:矩形,表示实体类型;菱形框,表示联系类型;椭圆形框,表示实体类型和联系类型的属性;下图是基于web的作业管理系统中的管理员实体、教师实体、学生实体组成的E-R图。其中管理员与教师之间的联系是1:N,教师与学生之间的联系是N:M。由图我们可以很直观的看出各个实体之间的关系。管理员教师管理1N用户名密码编号姓名专业密码密保问题密保答案管理学生学号随着宽带无线接入技术和移动终端技术的飞速发展,伴随着移动智能终端的快速普及,人们迫切希望能够随时随地乃至在移动过程中都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。其中移动电子商务领是移动互联网重大组成领域之一。移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。移动电子商务的突飞猛进,带来的是该领域的支持产业之一软件服务的快速变革。很多传统的互联网产业主动或者被动进行布局移动互联网。姓名密码随着宽带无线接入技术和移动终端技术的飞速发展,伴随着移动智能终端的快速普及,人们迫切希望能够随时随地乃至在移动过程中都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。其中移动电子商务领是移动互联网重大组成领域之一。移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。移动电子商务的突飞猛进,带来的是该领域的支持产业之一软件服务的快速变革。很多传统的互联网产业主动或者被动进行布局移动互联网。编辑编号性别随着宽带无线接入技术和移动终端技术的飞速发展,伴随着移动智能终端的快速普及,人们迫切希望能够随时随地乃至在移动过程中都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。其中移动电子商务领是移动互联网重大组成领域之一。移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。移动电子商务的突飞猛进,带来的是该领域的支持产业之一软件服务的快速变革。很多传统的互联网产业主动或者被动进行布局移动互联网。性别随着宽带无线接入技术和移动终端技术的飞速发展,伴随着移动智能终端的快速普及,人们迫切希望能够随时随地乃至在移动过程中都能方便地从互联网获取信息和服务,移动互联网应运而生并迅猛发展。其中移动电子商务领是移动互联网重大组成领域之一。移动电子商务就是利用手机、PDA及掌上电脑等无线终端进行的B2B、B2C或C2C的电子商务。它将因特网、移动通信技术、短距离通信技术及其它信息处理技术完美的结合,使人们可以在任何时间、任何地点进行各种商贸活动,实现随时随地、线上线下的购物与交易、在线电子支付以及各种交易活动、商务活动、金融活动和相关的综合服务活动等。移动电子商务的突飞猛进,带来的是该领域的支持产业之一软件服务的快速变革。很多传统的互联网产业主动或者被动进行布局移动互联网。NM图15-7:E-R图6 系统详细设计6.1 数据连接设计数据库的连接设计是一个系统中重要的设计组成部分,好的设计能够使系统更加高效的运行,同时也使得系统更好的维护。下面是数据库连接的核心代码关键类中的一个代码模板。ConnectionFactory.javapackage com.DB;import java.sql.*;public class ConnectionFactory static String driver = ;static String url = ;static String username = ;static String password = ;private static Connection con;public static void initConn() driver = com.mysql.jdbc.Driver;/ 数据库驱动名称url = jdbc:mysql:/127.0.0.1:3306/workmanager_db;/ 数据库位置username = root;/ 数据库用户名password = root;/ 数据库密码try Class.forName(driver); catch (ClassNotFoundException e) System.out.println(ERROR: + e);/ 获得数据库连接public static Connection getConnection() throws SQLException initConn();if (con = null | con.isClosed()con = DriverManager.getConnection(url + ?user= + username+ &password= + password+ &useUnicode=true&characterEncoding=GB2312);return con;/ 关闭结果集public static void close(ResultSet rs) try / if(!rs.isClosed()rs.close(); catch (Exception ignored) /public static void close(Statement st) try / if(!st.isClosed()st.close(); catch (Exception ignored) / 关闭数据库连接public static void close(Connection cn) try / if(!cn.isClosed()cn.close(); catch (Exception ignored) public static void close(PreparedStatement ps) try ps.close(); catch (Exception ignored) 6.2 SQL操作的设计良好的设计是保障系统性的前提。数据库的安全性也同样需要注意,目前流行一种叫做SQL注入的攻击行为,为了防止该攻击行为,我们将采用输入的与执行的语句进行分类处理的方法来阻止该行为。下面是数据库SQL的核心代码关键类中的一个代码模板(以对教师实体的操作为例):DBO.java/ 教师登录检查public static boolean teaLoginCheck(String teaname, String teapass) boolean flag = false;Connection con = null;PreparedStatement ps = null;ResultSet rs = null;String tempPassword = null;try con = ConnectionFactory.getConnection();ps = con.prepareStatement(select tea_pass from teacher_tb where tea_name=?);ps.setString(1, teaname);rs = ps.executeQuery();if (rs.next()tempPassword = rs.getString(1);if (tempPassword.equals(teapass) flag = true; else flag = false; catch (SQLException e) System.out.println(e); finally ConnectionFactory.close(rs);ConnectionFactory.close(ps);ConnectionFactory.close(con);return flag;/ 教师注册public static boolean teaRegister(Teacher tea) boolean flag = false;Connection con = null;PreparedStatement ps = null;ResultSet rs = null;Statement stat = null;String SQL = insert into teacher_tb(tea_id,tea_name,tea_major,tea_pass,tea_passques,tea_passanswer) values(+ tea.getTeaId()+ ,+ tea.getTeaName()+ ,+ tea.getTeaMajor()+ ,+ tea.getTeaPass()+ ,+ tea.getTeaPassQues() + , + tea.getTeaPassAnswer() + );try con = ConnectionFactory.getConnection();stat = con.createStatement();if (stat.executeUpdate(SQL) = 0) flag = true; catch (SQLException e) System.out.println(e); finally ConnectionFactory.close(rs);ConnectionFactory.close(ps);ConnectionFactory.close(stat);ConnectionFactory.close(con);return flag;/ 删除教师public static boolean teaDelete(String teaid) boolean flag = false;Connection con = null;PreparedStatement ps = null;ResultSet rs = null;Statement stat = null;String SQL = delete from teacher_tb where tea_id= + teaid + ;try con = ConnectionFactory.getConnection();stat = con.createStatement();if (stat.executeUpdate(SQL) = 0) flag = true; else flag = false; catch (SQLException e) System.out.println(e); finally ConnectionFactory.close(rs);ConnectionFactory.close(ps);ConnectionFactory.close(stat);ConnectionFactory.close(con);return flag;/ 修改教师信息public static boolean teaUpdate(String teaid, Teacher tea) boolean flag = false;Connection con = null;PreparedStatement ps = null;ResultSet rs = null;Statement stat = null;String sqlstr = update teacher_tb set tea_name= + tea.getTeaName()+ ,tea_major= + tea.getTeaMajor() + ,tea_pass=+ tea.getTeaPass() + ,tea_passques= + tea.getTeaPassQues()+ ,tea_passanswer= + tea.getTeaPassAnswer()+ where tea_id= + teaid + ;try con = ConnectionFactory.getConnection();stat = con.createStatement();if (stat.executeUpdate(sqlstr) = 0) flag = true; catch (SQLException e) System.out.println(e); finally ConnectionFactory.close(rs);ConnectionFactory.close(ps);ConnectionFactory.close(stat);ConnectionFactory.close(con);return flag;/ 查询所有教师信息public static List selectAllTea() List tealist = new ArrayList();Connection con = null;ResultSet rs = null;Statement stmt = null;try con = ConnectionFactory.getConnection();stmt = con.createStatement();rs = stmt.executeQuery(select * from teacher_tb);while (rs.next() Teacher tea = new Teacher();tea.setTeaId(rs.getString(tea_id);tea.setTeaName(rs.getString(tea_name);tea.setTeaMajor(rs.getString(tea_major);tea.setTeaPass(rs.getString(tea_pass);tea.setTeaPassQues(rs.getString(tea_passques);tea.setTeaPassAnswer(rs.getString(tea_passanswer);tealist.add(tea); catch (SQLException e) System.out.println(e); finally ConnectionFactory.close(rs);ConnectionFactory.close(con);return tealist;6.3 注册的逻辑处理该系统的设计的逻辑处理的位置在servlet中,

温馨提示

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

评论

0/150

提交评论