首页 毕业设计-网络安全课程教学网站设计与实现

毕业设计-网络安全课程教学网站设计与实现

举报
开通vip

毕业设计-网络安全课程教学网站设计与实现毕业设计-网络安全课程教学网站设计与实现 本科毕业设计说明书 题 目:网络安全课程教学网站设计 与实现——数据库与管理 院 (部):计算机科学与技术学院 专 业: 网络工程 班 级: 姓 名: 学 号: 指导教师: 完成日期: 2013年5月28日 目 录 摘 要 ........................................................................................................................

毕业设计-网络安全课程教学网站设计与实现
毕业设计-网络安全课程教学网站设计与实现 本科毕业设计说明书 题 目:网络安全课程教学网站设计 与实现——数据库与管理 院 (部):计算机科学与技术学院 专 业: 网络工程 班 级: 姓 名: 学 号: 指导教师: 完成日期: 2013年5月28日 目 录 摘 要 ................................................................................................................................................................ II ABSTRACT ................................................................................................................................................... III 1 绪 论 ............................................................................................................................................................ 1 1.1课题背景 ............................................................................................................................................ 1 1.2课题设计研发的目的、意义概述 .................................................................................................... 1 1.3本文的主要工作 ................................................................................................................................ 1 1.4本章结语 ............................................................................................................................................ 2 2 相关技术分析 .............................................................................................................................................. 4 2.1 JSP技术分析 .................................................................................................................................... 4 2.2 MySQL介绍 ........................................................................................................................................ 4 2.3 JavaBean技术 .................................................................................................................................. 5 2.4 Servlet技术 .................................................................................................................................... 6 2.5 MVC设计模式 .................................................................................................................................... 7 2.6 本章小结 .......................................................................................................................................... 8 3 需求分析及系统设计 .................................................................................................................................. 9 3.1基于JSP的网络安全课程网站的设计 ............................................................................................ 9 3.2课程网站的需求分析 ........................................................................................................................ 9 3.3 课程网站的后台实现——数据库与管理 ..................................................................................... 10 3.4 数据库设计 ..................................................................................................................................... 10 3.5本章小结........................................................................................................................................... 11 4 详细系统设计与实现 ................................................................................................................................ 12 4.1 前台系统的实施 ............................................................................................................................ 12 4.2 后台系统的实施 ............................................................................................................................ 16 4.3 各系统界面及关键代码 ................................................................................................................ 23 4.4 教师模块功能 ................................................................................................................................ 35 4.5 管理员管理功能 ............................................................................................................................ 36 4.6 学习论坛功能 ................................................................................................................................ 37 4.7 本章小结 ........................................................................................................................................ 37 5 系统测试 .................................................................................................................................................... 38 6 关键问题机解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ................................................................................................................................ 41 7 结 论 .......................................................................................................................................................... 44 8 致 谢 .......................................................................................................................................................... 46 9 参考文献 .................................................................................................................................................... 47 I 摘 要 网络技术的长足发展使得远程教学、网络教学成为可能。教学课程网站可以为师生交流、学生的自主学习提供合适的平台。在这样的背景下,本文结合网络安全课程的教学需求,设计和实现了网络安全教学课程网站。 本系统是基于JSP和JAVA的网络安全课程教学网站设计与实现(数据库与管理)。 网站的设计首先根据教师对教学课程信息发布、课程资料共享和个人信息的管理需求,以及学生对网站已有资源的查看下载的管理需求,设置了课程信息管理、资源共享、教师管理、管理员管理、学习论坛及下载管理六个子模块。在此基础上实现教学公告发布,课程信息管理,课程资料上传和下载,不同用户个人信息管理以及在线留言交流等功能。并以此为基础,采用B/S模式开发网站。首先使用JSP技术完成前台页面的设计与实现,同时后台数据库选用SQL2008,在进行了概念结构设计和逻辑结构设计之后,完成数据库表的设计。之后进行的系统测试,对网站的设计进行了部分修正和完善,使得网站能够为在线学习提供平台。进而方便教师和同学的交流和使用。 关键词:课程网站;网络安全;JSP;JAVA;MySQL数据库 II Teaching web site design and implementation of network security course- the database and management ABSTRACT With the rapid development of network technology,the distance education and network teaching is possible.Teaching course website can provide a right platform which can be used to communicating between teachers and students,and students' autonomous learning.In this context,the paper combined with the teaching requirements of network security course, the network security teaching course website is designed and implemented . This system is based on JSP and JAVA course teaching website design and implementation of network security( the database and management). In the first place,site design based on the teacher to the manage of teaching course information release, information sharing and management of personal information and the student to the website for see resources to download management needs.at the same time,the system set six sub modules,including The course information management, sharing of resources, teacher management, administrator management, learning forum and download management.Announcement on the basis of the implementation teaching, curriculum information management, curriculum information upload and download, different user personal information management, and online message communication, etc.And on this basis, using B/S model to develop the site,The first to use JSP technology to complete the design and realization of the front desk page, choose SQL2008 backstage supporter's database at the same time,In the conceptual structure and logical structure design, completed the design of the database table.After the system test,Design of the site is part of the amendment and perfection.The site provides a platform for online learning. And to facilitate the exchange and use of teachers and students Key words: course website;Network security;The JSP;JAVA;The MySQL database III 1 绪 论 1.1课题背景 随着科学技术飞跃式的发展,网络开始成为每个人生活中不可或缺的一部分。大数据时代的来临,使得我们真实的感受到数据爆炸所带来的海量数据和高速更新,正在猛烈的推动着社会的发展。其表现之一就是随处可见的计算机设备和日新月异的网络应用技术。可以毫不夸张的说,不懂网络,不擅长网络就只能被社会和时代抛弃,因为,很显然,网络已经成为了“主宰进化的上帝之手”。 与此同时,网络也为教育的发展提供了不可估量的巨大推动力,高校只有通过建立自己的精品课程网站,充分的使用这股力量,才能在提高学校的综合实力的同时,为学生开辟一条新的学习途径,锻炼学生的自学能力,使得学生在课堂之外获得全面的发展。 通过网络安全课程教学网站,我们希望可以使得大家能够更有效的学习网络安全的相关知识,避开课堂教学的场所限制和时间限制。网络安全课程教学网站将努力为大家提供一个在时间和空间上都具有极大自由度的平台,为大家对相关课题的学习研讨提供便利,从而达到促进大家学习的目的。 1.2课题设计研发的目的、意义概述 充分利用计算机技术和网络技术,改变课堂教育的传统教育模式,使得教育面向信息化、现代化、灵活高效化是精品课程网站研究、建设和在高校广泛推广运用的主要目的。其意义无疑是要将丰富的课程资源通过网络信息平台共享到互联网上,向所有用户提供视频观看、课程介绍,教材简介等功能,同时也提供网络互动交流和上传课件、视频,提交作业的功能。为不便进行课堂教学研究、学生分布不集中以及学习形式多种多样的课题提供一个便捷高效的教育平台。随着我国各个高校的网络精品课程雨后春笋般的出现,网络课程的研究建设开始取得巨大成果。 1.3本文的主要工作 “网络安全课程教学网站设计与实现——数据库与管理”课题立足于建设一个功能完善,数据库管理合理高效的健壮的课程网站。其功能包括: 网站用户管理;教学公告发布;网站信息管理;教学内容管理;文件上传及管理;考试及成绩发布及管理;在线答疑设计等。这就要求: 网站需要提供导航功能。 实现方法是在网站的首页设计一个导航,把站内各种资源分门别类。其好处是可以 1 为用户大大的节省精力和时间。 网站风格简洁、大方,所有页面风格统一。 实现方法是选择合适的风格,对同一种类的组件使用相同的参数以达到标准化的目的,使得界面风格在统一的基础上获得简洁大方的页面效果。 功能齐全、内容完整、管理方便。 实现方法是在设计之初进行详细的调查,得出完善的需求分析。 满足不同分辨率的显示要求。 资源管理 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,文件命名原则统一,以最少的层次提供最清晰简便的访问结构。 完善的数据库设计,分析网站的需求,合理定义数据表的字段、索引及依赖关系; 网站安全设计,包括口令安全、数据库安全等。 综上所述,本文的主要目的在于论述课程网站(数据库与管理)的功能需求和实现过程。 所以本文的组织结构安排如下: “第一章——绪论”,从课程背景,课程网站对于高校建设的意义,以及网络课程和传统课程相比的优势。并网络课程的目的、意义、功能、当前的研究、建设和应用现状进行了简单介绍。 “第二章——数据库与管理的相关技术分析”,将对网站制作过程中所设计的数据库设计和管理技术进行分析。 “第三章——数据库与管理的需求分析和设计”,将对课程网站的数据库设计、结构分析和相关表间关系进行分析设计。 “第四章——功能和代码实现”,将对课程网站的各个功能模块进行介绍,并展示相关的代码实现。 “第五章——问题调试与解决方案”,将网站测试时遇到的错误问题和设计之外的情况,进行分析,并展示解决方案。 “第六章——结论”,将对整个课题进行分析,得出优缺点,给出自己的个人评价和个人 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 。 1.4本章结语 基于对网络平台的灵活性的利用,课题设计了基于JSP的网络安全课程网站,为该课程的教学增加了一种有力的辅助手段,也提高了课程资源的利用率。同时,通过完成该课题,我对基于JSP的网络课程网站建设有更加深刻的了解,使得理论结合实践,将 2 课堂知识转化为实际的能力,提高了自身素质。 3 2 相关技术分析 2.1 JSP技术分析 JSP即Java Server Page的缩写,是一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签就构成了JSP网页,java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,用以建立动态网站。 由于JSP赖以生存的HTTP协议的特性是无状态,短连接。这就使得处理变得简单易行,也有效的避免了资源浪费,但是与此同时,在浏览器和服务器之间进行复杂操作的时候,大量的状态信息在B/S之间进行传递,无疑就会使得操作变得复杂。 于是,能够处理浏览器发送的请求信息并返回服务器的响应的JSP应运而生。简单的说,JSP的工作就是完成HTTP协议中要求服务器完成的、返回响应的部分(JSP只负责服务器,而完全不知道浏览器的存在,也就是说JSP只要完成HTTP协议要求的形式的响应,对于JSP来说也就万事大吉了)。 JSP使用Java编写类XML的tags和scriptlets,对封装产生动态网页的处理逻辑、访问位于server的资源应用逻辑。由于JSP支持柯重阳的基于组件的设计,也就使得使用JSP可以将网页逻辑和网页设计、显示分离。但是由于需要对Java代码进行处理,所以JSP的技术基础是JavaServlet。同时由于JSP具有Java的特点,也就使得其具有很多优势,即:一次编译,随处运行;系统多平台支持,可伸缩性强(“从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台 Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 ”);多样化和功能强大的开发工具支持(“这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利 的运行于多种平台之下”);支持服务器端组件(“web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能”)。 2.2 MySQL介绍 数据库,顾名思义就是对数据进行组织,存储和管理的“仓库”。本质上讲:“数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开 4 的若干个数据库时,则该系统包含一个‘数据库集合’。”这也就意味着:“尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制”是数据库的主要目的。 按照关系型数据库和非关系型数据库进行划分,MySQL属于小型关系型数据库系统。其所具有的开源,体积小,速度快,成本低的优势,使得它在中小型网站中得到了广泛的应用。除此之外,MySQL还具有支持标准的ansisql语句,允许用户使用多种语言编写的程序对其数据库进行访问。同时它也可以在多个系统上运行的特点。所以,我认为这是一个非常适合网络安全课程网站的数据库系统。 本系统包含了有关网络安全概念的所有文本资料,课程题库等大量数据资源。采用强大的MySQL,既可以保证性能,也可以提高安全性,对于网站的建设大有裨益。 MySQL的具体任务: 结合JSP实现数据库的设计搭建和管理。 在使用JSP设计出前台界面之后,再通过使用odbc、jdbc连接DB后,通过服务器端JSP就可以对远程数据库进行访问、数据管理以及增删查改等操作。 2.3 JavaBean技术 JavaBean 是一种Java语言写成的可重用组件。只有类具体的、公共的、具有无参构造函数的类可以写成JavaBean。因为能够提供符合一致性设计模式的公共方法,JavaBean可以将内部域暴露成员属性。同时其他Java 类也可以通过自身机制发现和操作这些JavaBean 属性。除此之外,用户还可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,使得其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。我们其实也就可以简单的认为JavaBean给了我们一直可以随时随地进行拷贝粘贴的功能。 JavaBean可分为两种:一种是有UI(用户界面,User Interface)的JavaBean;还有一种是没有UI,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。 Javabean不依赖平台,可以实现代码的重复利用;也易编写、易维护、易使用;还可以在任何安装了Java运行环境的平台上的使用,而不需要重新编译。但是像是硬币的两面,有优势就有不足。JavaBean的不足有以下几点:一、不能在JavaBean返回的HTML中放置任何字体尺寸。因为有的浏览器无法处理完整的字体尺寸。二、不能在 5 JavaBean返回的HTML中放置任何脚本或者DHTML。因为向页面直接输出脚本或者DHTML相当于自我毁灭,某些浏览器版本在处理不正确的脚本时会崩溃(非常少但是有)。同时复杂的HTML将限制JavaBean的寿命和灵活性。三、 不能提供任何的选择。 虽然JavaBean 不会产生任何HTML,因为这是JSP的工作;但是依然有必要为动态消息预先准备一些格式。这样产生的HTML将被标注的 JavaBean方法返回。 JavaBean的任务就是: “Write once, run anywhere, reuse everywhere”,即“一次性编写,任何地方执行,任何地方重用”。这就意味着JavaBean组件可以在任何环境和平台上使用,以满足各种交互式平台的需求。这不仅是指组件可以在不同的操作平台上运行,还包括在分布式网络环境中运行。再有就是JavaBean组件能够在包括应用程序、其他组件、文档、Web站点和应用程序构造器工具的多种方案中再利用。这也是JavaBean组件区别于Java程序的特点。 总之,JavaBean组件能够通过定义好的标准属性改进性能。JavaBean充分发展了Java applet的功能,并结合了Java AWT组件的紧凑性和可重用性。 2.4 Servlet技术 “Servlet是运行在服务器端的小程序。服务器经常需要根据用户输入访问数据库,这就需要一些程序来帮助服务器实现这些需求。通常情况下这些需求是使用公共网关接口(CGI(Common Gateway Interface))应用程序完成的。在通信量大的服务器上,Java Servlet的执行速度明显快于CGI程序。因为每个用户请求都会被激活成单个程序中的一个线程,而无需创建单独的进程,这意味着服务器端处理请求的系统开销将明显降低。这也是Servlet的优势。 最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的WebServer开始支持标准的ServletAPI。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。实现过程:客户端发送请求至服务器端;服务器将请求信息发送至Servlet;Servlet生成响应内容并将其传给服务器。响应内容动态生成通常取决于客户端请求;服务器将响应返回给客户端; SERVLET 客户端 4 响应 3 响应 2 请求 服务器 1 请求 图2.1 servlet工作原理 6 Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java ServletAPI的包。因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为FacelessObject。 一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。 JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计者进行 HTML设计,同时留出供Servlet程序员插入动态内容的空间。” 2.5 MVC设计模式 MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念如下: (1)视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。MVC一个大的好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 (2)模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图 7 提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 (3)控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。开发模式设计中,事件一般是指客户端Web浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新通知,依据数据更新的结果调整视图效果,呈现在用户面前,而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。 2.6 本章小结 本章着重介绍了本系统所使用核心技术,分别是JSP、MySQL、JavaBean以及Servlet。对于本课程网站设计建站过程中所使用技术的概念及其应用都做了简单说明。以便理解该系统的实现。 8 3 需求分析及系统设计 3.1基于JSP的网络安全课程网站的设计 略(数据库与管理关注后台,前台设计暂时不涉及) 3.2课程网站的需求分析 有别于传统的教学方式,网络安全课程网站能够在节约大量人力物力和时间投入的前提下,实现灵活高效的教学。这符合高校教学信息化的要求。 实现一个功能完整、内容充实,为实际教学和学习提供辅助功能的网站。就可以让学生随时随地的进行过程学习,同时,由于数据库技术的长足进入和广泛使用,使得传统的考试模式也得以简化。在方便同学学习的同时,给予练习测试的机会,保证了学生学习效率。 由于课程网站的设计立足于方便教师教学,方便学生学习,提高学生的自学能力,同时节约教学成本。所以,本课程网站的功能为:在线查看课程信息,共享课程资源,网上答疑,在线考试,用户账户管理,信息交流等。据此,要求系统做到以下功能: 1(课程信息管理:对用户提供课程介绍,上课时间,课件资料等。 具体功能:在用户点击想要查看的课程时,将从数据库返回该门课程的详细信息。包括课程概要,任课老师姓名及联系方式,上课时间和地点等。 2(信息交流:便于用户进行互动交流,向用户提供留言板与回复的功能。 具体功能:提供类似于站内信的模块,通过站内信件实现对用户间一对一的留言和回复功能。 3(资源共享:主要实现上传下载功能,用户能在资源共享界面上传教学相关视频、 题库、课件,提交作业等功能,并在网 上显示,为多人共享。 具体功能:设置专门提供上传和下载的页面,在该页面提供上传文件和下载文件的服务,下载的权限是所有可以登录到本系统的用户,上传的权限是管理员(给予老师管理员权限)。 4(学习论坛及在线答疑:给用户提供一个良好的在线交流的平台。 具体功能:用户登录后可以使用论坛功能,学生的权限只能发表留言,不能对已有的留言进行管理(删除等操作),同时可以对其他用户的留言进行回复和查看,管理员则可以删除已有的不符合论坛要求的发言。 9 5(用户管理:对用户进行分级管理,不同级别的权限不同。 具体功能:系统能够为不同的用户分配不同的权限,(具体分为教师登陆,管理员登陆和普通用户登录),不同权限的用户登录都跳转的页面不同,教师(管理员)登录后的页面将有上传资料和删除资料,个人信息修改,学生作业查看,回复留言,新教师注册等功能模块。学生页面将会有查看课程信息,课件下载,论坛登录,留言板等功能。 3.3 课程网站的后台实现——数据库与管理 网站管理后台,俗称网站后台,是管理网站前台的一系列操作。通过网站管理后台达到有效管理网站信息和资源、方便浏览者查阅的目的。 处于安全性和可维护性等因素的考虑,网站的后台只允许通过用户名和密码验证的浏览者登陆。后台不同与前台,前台服务用户,后台需要管理员管理。 本课程网站根据功能分析,需要有管理员实体,教学资源实体,在线模拟测试实体,学生在线留言交流实体。 其中,管理员通过输入正确的用户名和密码进入,可以对教学资源进行上传,同时也可以对学生的在线留言进行回复,删除等操作。 管理员 管理员 管理员 密码 姓名 学生留言 留言内容 留言时间 留言人 留言主题 图3.2 学生在线留言交流实体图 教师以管理员的身份登录后,教师可以对本站的教学资料进行添加、删除或管理的功能。教学资源实体的具体功能如下: 管理教学资源的功能。需要输入要添加教学资源的编号、标题,链接地址。此处添加的教学资源信息将在前台系统中以分类的形式进行显示。同时此模块还可以对已有的教学资源的各项信息进行添加、修改或删除的功能。 管理在线留言模块的功能。在线留言管理模块完成对留言内容的审核、删除的功能,管理员可以添加在线回复内容,也可以对在线留言进行删除操作。 后台试题数据库管理功能。管理员可对模拟试题数据库的内容进行删除、增加、修改等功能操作。 3.4 数据库设计 (1) 数据表定义。 10 数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类 型、表示形式、缺省值、校验规则、是否关键字、可否为空等。将关系型数据库按 关系规范化要求进行设计(3NF)。 (2)存储设备和存储空间组织。 确定数据的存放地点、存储路径、存储设备等。 (3)数据使用权限设置。 针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 数据库命名为:network 本网站使用的数据库表如下: 表3.1 管理员(admin)表 字段名称 类型 长度 主键 说明 允许空 AdminNumber varchar 20 YES 管理员编号 NO Username varchar 50 NO 管理员姓名 NO password varchar 20 NO 管理员密码 NO 表3.2留言信息(user)表 字段名称 类型 长度 主键 说明 允许空 User varchar 20 留言人姓名 YES Time varchar 30 留言时间 YES Title varchar 50 留言主题 YES Question Varchar 225 留言内容 YES Answer varchar 225 老师回复内容 YES 表3.3用户信息(user)表 字段名称 类型 长度 主键 说明 允许空 User varchar 20 用户名 YES password varchar 30 用户密码 YES usernumner varchar 50 用户编号 YES userpow Int 2 用户权限 YES 3.5本章小结 本章对系统的总体设计进行了简要的描述,通过对各个主要功能模块的分析介绍,奠定下面设计建站的目标和方案。同时在系统测试和验证时用于功能对照。达到需求分析的目的。 11 4 详细系统设计与实现 4.1 前台系统的实施 前台系统的主要功能是向用户展示网络安全课程网站的相关信息以及各个子模块,使得用户可以通过使用导航栏等工具快速找到自己需要的内容。具体实施为: 网站首页将为用户提供功能导航栏、课程公告板、最近更新内容展示、教师登陆模块、资料阅读排行模块、网站简介模块、资料( 教案 中职数学基础模块教案 下载北师大版¥1.2次方程的根与系数的关系的教案关于坚持的教案初中数学教案下载电子教案下载 学习,作业、论文)快速搜索模块等。 资料列表选项卡将导向资料查看页面,该页面显示已有的所有资料(包含资料的标题、内容、教师所属学院、系部等),并可通过点击查看和教师姓名访问其他页面。 教师列表选项卡将导向教师列表页面,该页面显示已有的所有教师的姓名、所属院系、该教师的教学资料等信息。并可通过点击教师姓名和资料列表访问教师的具体个人信息和该教师上传的资料等。 综合搜索页面,包含资料搜索模块。该模块将根据所属学院、系部、教师姓名、相关资料、资料标题以及资料类型等信息中的一个或多个进行模糊搜索。搜索的结果将根据搜索内容进入资料列表页面对用户进行展示。 教师登陆页面,包含教师登陆模块。要求教师输入登录名和密码,系统将根据用户输入进入数据库进行检查,符合则通过,否则清空已输入信息。教师登陆后将进入相应的管理页面,进行教师权限下的相关操作。 管理员登陆页面,包含管理员登陆页面。要求输入管理员密码。通过系统检查后将进入相应的管理员管理页面,进行管理员权限下的相关操作。 学习论坛页面,将展示学生和教师进行留言交流互动的信息。用户可以通过我要留言、查看回复、我要回复等超链接进入不同的页面进行不同的操作。 资源下载页面,将为所有用户提供网站现有资料的下载服务。 流程图展示如下: 12 图4.1 网站基本结构图 图4.2 资料下载模块结构图 图4.3 网站资料列表结构图 13 图4.4 网站详细结构图 图4.5 教师列表结构图 图4.6 综合搜索结构图 14 图4.7 教师登陆结构图 图4.8 管理员登陆结构图 图4.9 学习论坛结构图 15 4.2 后台系统的实施 通过创建数据库,并对数据库进行管理实现系统的后台操作和管理。 首先安装数据库SQLServer2008,建立用户数据库text,在text数据库中新建后台管理所需要用到的表。具体如下: Config表: 对网站的数据库后台数据进行说明,给出学院系部类型、公告板内容等的参数。其所包含的参数在实际的数据库后台管理中并未全部用到,部分是说明作用,不参与系统的后台管理和实现。 表设计如下: 图4.10 config表结构 Guest表: 该表用于学习论坛的留言内容的查看以及管理功能。设置参数id、name、message。其中id为主键,自增,自增变量为1。Name为留言人姓名。Message为留言内容。 表结构设计如下: 16 图4.11 cguest表结构 部分内容如下: 图4.12 guest表内容 Main表: 该表用于对资料进行查看和管理,如最近更新的资料和资料阅读排行等都使用该表为用户提供信息。该表设置参数mainid、fileurl、idofteacher、course、dataandtime、content、times、idoftype、title、filesize。其中mainid为主键,自增,自增变量为1。Fileurl为资料内容的链接地址。Idofteacher为教师编号。Course为课程名称。Dataandtime为上传时间。Content为资料简介。Times为阅读次数。Idoftype为资料类型。Title为资料名称。Filesize为资料大小。 表结构设计如下: 17 图4.13 main表结构 部分内容如下: 图4.14 main表内容 Message表: 该表用于学习论坛的回复功能。将为学习论坛的回复功能提供数据的查看和管理。其中id为主键,自增,自增变量为1。Name为留言人姓名,name2为回复人姓名,message为回复内容。 表结构设计如下: 18 图4.15 message表结构 部分内容如下: 图4.16 message表内容 Source表: 该表用于资料的上传和下载功能。将为下载模块提供下载所需的文件名。其中id 为主键,自增,自增变量为1。Fielname为文件名称。 表结构设计如下: 图4.17 source表结构 部分内容如下: 19 图4.18 source表内容 Teacher表: 该表用于教师的个人信息的查看和管理。新注册的教师将会把教师的个人信息插入到该表,删除教师时,会从该表中将教师信息删除,用于起到对教师信息的管理和维护。其中Teacherid为主键,自增,自增变量为1 。Teacher为教师姓名。Password为教师设置的登陆密码。Fenlei1为教师所属学院。Fenlei2为教师所属系部。Locked为标识变量,用于标识该教师是否可以登陆。Email为教师注册时填写的邮箱,可以在教师的个人页面向学生提供。Address为教师的通信地址,infro为教师的个人介绍,photourl为教师的照片地址,homepage为教师的主页链接地址,qq为教师的QQ号码,ask为教师设置的密码找回问题,answer为教师设置的密码找回问题的答案,loginname为教师设置的登陆名。 表结构设计如下: 20 图4.19 teacher表结构 部分内容如下: 图4.20 teacher表内容 Type表: 该表用于对资料类型进行查看和管理功能。当管理员新建资料类型时,将会把新建的资料类型插入该表,在其他读取资料类型的页面即会出现更新的内容。删除操作类似。删除某一种资料类型的时,将会从该表中删除相应的记录项。实现对资料类型的管理功能。 表结构设计如下: 21 图4.21 type表结构 部分内容如下: 图4.22 type表内容 Work表: 该表用于学生提交作业以及教师对作业进行查看和管理功能。学生提交作业后将对该表进行插入操作,操作完成即会在教师的作业管理功能中出现相应的更新,教师可以对作业进行查看和管理。其中workid为主键,自增,自增变量为1。Teacher为教师姓名。Reid为阅读查看次数。Name为提交作业的学生的姓名。Title为作业名称。Message为作业内容。Backdate为提交作业的日期。 表结构设计如下: 22 图4.23 work表结构 部分内容如下: 图4.24 work表内容 4.3 各系统界面及关键代码 网站首页: 23 图4.25 网站首页截图 资料列表: 图4.26 资料列表截图 <% ...... sqlname = "select count(*) from main,teacher,type where main.idofteacher=teacher.teacherid and main.idoftype=type.typeid"; ResultSet rt = stmt.executeQuery(sqlname); rt.next(); intRowCount = rt.getInt(1);//取得整数保存与intRowCount变量中 intPageCount = (intRowCount + intPageSize - 1) / intPageSize;//计算出总页数(记录总数+每页显示的记录-1)/每页显示的记录) if (intPage > intPageCount) intPage = intPageCount; sqlname = "select * from main,teacher,type where main.idofteacher=teacher.teacherid and main.idoftype=type.typeid and teacher like '%" + teacher + "%' and title like '%" + title + "%' and course like '%" + course + "%' and type like '%" + filetype + "%' and fenlei1 like '%" + fenlei1 + "%' and fenlei2 like '%" 24 + fenlei2 + "%' order by main.dateandtime desc"; rs = stmt.executeQuery(sqlname);//执行sql,按照时间先后排序显示 i = (intPage - 1) * intPageSize; for (j = 0; j < i; j++) rs.next();%> ...... %> 教师列表: 图4.27 教师列表截图 <% ...... sqlname = "select count(*) from teacher"; ResultSet rt = stmt.executeQuery(sqlname); rt.next(); intRowCount = rt.getInt(1);//取得整数保存与intRowCount变量中 intPageCount = (intRowCount + intPageSize - 1) / intPageSize;//计算出总页数(记录总数+每页显示的记录-1)/每页显示的记录) if (intPage > intPageCount) intPage = intPageCount; sqlname = "select * from teacher"; rs = stmt.executeQuery(sqlname);//执行sql,按照时间先后排序显示 i = (intPage - 1) * intPageSize; for (j = 0; j < i; j++) rs.next(); %> ...... %> 综合搜索页面: 25 图4.28 综合搜索截图 <% String rsteachersql = "select * from teacher where teacher=" + session.getValue("teacher"); ResultSet rsteacher = stmt.executeQuery(rsteachersql); String teacher="",fenlei1="",fenlei2=""; if (rsteacher.next()) { teacher = rsteacher.getString("teacher"); fenlei1 = rsteacher.getString("fenlei1"); fenlei2 = rsteacher.getString("fenlei2"); } %> 教师登陆页面: 图4.29 教师登陆截图 代码略。 管理员登陆页面: 26 图4.30 管理员登陆截图 代码略。 学习论坛页面: 图4.31 学习论坛截图 <% int intPageSize; int intRowCount;//记录总数 int intPageCount;//总页数 int intPage;//页面参数 String strPage;//定义变量用来传递page int i, j; intPageSize = 5;//定义每页显示5条记录 strPage = request.getParameter("page");//取得当前的页码 if (strPage == null) {//判断初始页面,如果没有显示记录,就置为第一页 intPage = 1; } else { intPage = Integer.parseInt(strPage);//将strPage转化为整数 if (intPage < 1) intPage = 1; } sqlname = "select count(*) from guest"; ResultSet rt = stmt.executeQuery(sqlname); rt.next(); intRowCount = rt.getInt(1);//取得整数保存与intRowCount变量中 intPageCount = (intRowCount + intPageSize - 1) / intPageSize;// 27 计算出总页数(记录总数+每页显示的记录-1)/每页显示的记录) if (intPage > intPageCount) intPage = intPageCount; sqlname = "select * from guest"; rs = stmt.executeQuery(sqlname);//执行sql,按照时间先后排序显示 i = (intPage - 1) * intPageSize; for (j = 0; j < i; j++) rs.next();%> <%-- 设置intPage参数 --%> <%if (intRowCount == 0) {%> 对不起,还没有数据~ <%} else {%>
<%-- 显示每页的数据 (根据i的值判断每页的5条记录) --%> <%i = 0; while (i < intPageSize && rs.next()) { out.print(""); out.print(""); %> <% out.print(""); i++;//通过I循环设置每页的页数 28 } out.print(""); }%> <% int intPageSize; int intRowCount;//记录总数 int intPageCount;//总页数 int intPage;//页面参数 String strPage;//定义变量用来传递page int i, j; intPageSize = 5;//定义每页显示5条记录 strPage = request.getParameter("page");//取得当前的页码 if (strPage == null) {//判断初始页面,如果没有显示记录,就置为第一页 intPage = 1; } else { intPage = Integer.parseInt(strPage);//将strPage转化为整数 if (intPage < 1) intPage = 1; } sqlname = "select count(*) from message where name='"+name+"'"; ResultSet rt = stmt.executeQuery(sqlname); rt.next(); intRowCount = rt.getInt(1);//取得整数保存与intRowCount变量中 intPageCount = (intRowCount + intPageSize - 1) / intPageSize;//计算出总页数(记录总数+每页显示的记录-1)/每页显示的记录) if (intPage > intPageCount) intPage = intPageCount; sqlname = "select * from message where message.name='"+name+"'"; rs = stmt.executeQuery(sqlname);//执行sql,按照时间先后排序显示 i = (intPage - 1) * intPageSize; for (j = 0; j < i; j++) rs.next();%> <%-- 设置intPage参数 --%> <%if (intRowCount == 0) {%> 对不起,还没有数据~ <%} else {%>
留言列表            &n bsp; 我要留言
昵称" + name + ":" + rs.getString("name") + "留言内容" + message + ":" + rs.getString("message") + "
">查看回复 ">我要回复

29 <%-- 显示每页的数据 (根据i的值判断每页的5条记录) --%> <%i = 0; while (i < intPageSize && rs.next()) { out.print(""); out.print(""); out.print(""); i++;//通过I循环设置每页的页数 } out.print(""); }%> 资源下载页面: 图4.32 资料下载截图 <% //String downloadname=session.getAttribute("name").toString(); String downloadname=request.getParameter("filename"); // 新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); // 初始化 su.initialize(pageContext); // 设定contentDisposition为null以禁止浏览器自动打开文件, //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为doc时,浏览器将自动用word 30 打开它。 //扩展名为pdf时,浏览器将用acrobat打开。 su.setContentDisposition(null); // 下载文件,保证Web应用下的upload目录下有测试文件。 su.downloadFile("/upload/"+downloadname); out.clear(); out=pageContext.pushBody();%> 教师输入用户名和密码后通过验证进入教师管理页面: 发布资料板块: 图4.34 资料发布截图 代码略。 资料管理模块: 图4.35 资料管理截图 代码略。 教师个人信息修改页面: 31 图4.36 教师个人信息修改截图 <% ...... sql="select * from teacher where loginname='"+loginname+"' and teacherid<>"+session.getValue("teacherid"); ResultSet rs_lar=stmt.executeQuery(sql); if(rs_lar.next()){ out.print(""); }else{ stmt.executeUpdate("update teacher set teacher='"+teacher+"',fenlei1='"+fenlei1+"',fenlei2='"+fenlei2+"',email='"+email+"',homepage='"+homepage+"',address='"+address+"',qq='"+qq+"',intro='"+intro+"',ask='"+ask+"',answer='"+answer+"',loginname='"+loginname+"',password='"+password+"',photourl='"+photourl+"' where teacherid='"+session.getValue("teacherid")+"'"); out.print(""); } %> 学生作业模块: 32 图4.37 学生作业截图 <% ...... sqlname = "select count(*) from work,teacher where work.teacher=teacher.teacher and teacher.teacherid='"+teacherid+"'"; ResultSet rt = stmt.executeQuery(sqlname); rt.next(); intRowCount = rt.getInt(1);//取得整数保存与intRowCount变量中 intPageCount = (intRowCount + intPageSize - 1) / intPageSize;//计算出总页数(记录总数+每页显示的记录-1)/每页显示的记录) if (intPage > intPageCount) intPage = intPageCount; sqlname = "select * from work,teacher where work.teacher=teacher.teacher and teacher.teacherid='"+teacherid+"'"; rs = stmt.executeQuery(sqlname);//执行sql,按照时间先后排序显示 i = (intPage - 1) * intPageSize; for (j = 0; j < i; j++) rs.next(); %> ...... %> 查看教师个人信息模块: 图4.38 查看教师个人信息截图 代码略。 管理员输入管理员密码,并通过验证后进入管理员管理页面: 管理员进行教师注册的页面: 33 图4.39 教师注册截图 <%...... sql="select * from teacher where loginname='"+loginname+"'"; ResultSet rs_lar=stmt.executeQuery(sql); if(rs_lar.next()){ out.print(""); }else{stmt.executeUpdate(" INSER TINTO teacher(teacher,password,fenlei1,fenlei2,email,address,intro,homepage,q q,answer,ask,loginname) VALUES('"+teacher+"', '"+password+"','"+fenlei1+"','"+fenlei2+"','"+email+"','"+address+"','"+intro+"','"+homepage+"','"+qq+"','"+answer+"','"+ask+"','"+loginname+"')"); out.print(""); }%> 管理员进行教师管理页面,可以根据条件查询指定教师或者直接查看全部教师: 图4.40 教师搜索查询管理截图 代码略。 34 图4.41 教师管理截图 查看教师: 代码略。 管理员对教学资料的类型进行管理,可以添加修改和删除: 图4.42 教学资料管理截图 代码略。 4.4 教师模块功能 教师输入正确的用户名密码后,通过向数据库查询判断该用户是否合法,若不合法清空已输入的密码,等待用户重新输入。若合法,进入教师权限下的页面,即含有发布资料、管理资料、修改教师个人信息、学生作业管理等功能的页面。 其中发布资料模块为教师提供填写资料详细信息的功能以及上传资料到服务器的功能。教师点击提交或上传后,系统将会向数据库中插入相应的记录项,更新数据库,使得资料列表和资源下载区出现教师刚刚更新的内容。这就实现了资料共享的功能。 此外,资料管理模块可以使得教师对已有资料进行编辑、修改和删除,这就使得教师能够对资料进行实时更新,对出现的问题进行及时修改和更正,重新编辑修改过得资料,也会在数据库中进行更新。同时,删除内容时数据库将会执行删除语句,此操作不可逆。删除成功后,数据库将会向系统返回现有数据库的内容,即用户从系统中将无法再看到已被删除的资料。 第三,教师个人信息修改模块。该模块将会为教师提供修改个人信息的操作界面。通过在该页面修改相应的信息,系统生成更新数据库中相应记录的SQL语句,送入数据库执行,从而使得数据库中的信息得到相应的更新。修改完成后,数据库向系统返回现有数据库的内容,即教师的个人信息已得到更新的页面。 35 最后,学生作业模块。该模块使得教师可以看到所有向自己提交的作业。该页面下的参数有学生的姓名,作业的题目以及作业的内容。该模块的实现原理是学生在课件的提交作业选项卡下进入作业提交页面,填写自己的姓名,作业题目和作业内容后,将会向相应的数据库表,即work表中插入数据,更新数据库后,在教师的作业管理模块,系统将访问数据库的work表,得到符合教师编号的相应的记录项,返回给系统,显示在教师页面上,提供给教师查看。 退出教师登陆功能,使得教师退出管理页面,返回首页。 4.5 管理员管理功能 系统向管理员提供管理员管理功能,使得管理员可以进行新教师注册,现有教师信息管理,现有教学栏目添加修改,现有资料添加修改等功能。具体设计如下: 首先是新教师注册,在教师注册选项卡下,管理员为新教师填写相应的教师信息,系统生成相应的SQL语句,提交信息后,系统将向数据库提交该语句,数据库执行该语句在teacher表中增加一条新纪录,执行成功返回相应信息,用于系统向管理员告知添加成功,至此新教师注册成功,获得相应的教师权限。 其次是现有教师管理模块。该模块为管理员提供对现有教师的管理功能,包括输入查询条件对指定教师进行查询的功能以及查看所有教师,修改现有教师的注册信息,添加新教师和删除已有教师的功能。在查询现有教师时,根据输入的查询条件的不同,系统将会生成不同的SQL语句,对数据库中的记录进行查询,并将查询结果返回给系统,根据返回结果进行进一步操作。在查看所有现有教师的页面,系统为管理员提供了编辑现有教师的注册信息,添加新教师和删除已有教师的选项卡,编辑修改教师信息的功能通过执行update语句更新数据库实现,添加新教师则是使用insert语句完成,最后删除时将会使用到delete语句,这些数据库操作保证了管理员对教师的管理。 再次,对现有教学栏目的管理。系统中已经存在三种教学栏目,分别是教案学习,作业,论文。在此基础上,管理员可以根据教师的要求,设置新的教学栏目或对现有的教学栏目进行修改,相应的操作通过insert和update语句完成。根据不同的操作系统将会生成不同的SQL语句,数据库执行成功后将返回相应的提示信息,告知管理员执行成功。这就实现了管理员对现有教学栏目的管理。 第四是添加资料功能,此功能同教师的资料添加功能一致。 第五是删除资料功能,此功能有别于教师的资料管理功能的是,管理员可以删除所有本站现有的资料,但是教师的资料管理只能是删除其本人上传的资料。 36 最后是退出管理,返回首页。 4.6 学习论坛功能 学习论坛的作用是方便同学们和老师之间,同学和同学之间进行交流。通过学习论坛,同学们可以以留言板的形式向所有登陆学习论坛的人提出留言问题,留言问题将会插入数据库,使得其可以在学习论坛上进行更新,以方便登陆学习论坛的同学和老师进行查看。同时,每个登陆学习论坛的同学和老师都可以查看已有留言及其回复(回复也将作为记录插入数据库)或对以有留言的回复进行查看或增加回复。 4.7 本章小结 本章进行了网络安全教学网站的概要设计和详细设计的说明。首先根据系统需求分析进行系统的前台设计,分别设计了网络安全课程网站首页,资料列表页面,教师列表页面,综合搜索页面,教师登陆页面,管理员登陆页面,学习论坛页面,资源下载页面等,其中,综合搜索页面,教师登陆页面以及管理员登陆页面下还分别有二级页面。通过这些二级页面实现搜索,教师对个人信息,课程资料,学生作业管理等的查看管理,以及管理员对教师信息,添加删除教师,本站已有资料的管理等功能。在完成前台设计之后,对后台的数据进行管理。其中对数据库的设计主要包括需求分析;概念设计;逻辑结构设计;物理结构设计;系统实施;运行维护。在完成需求分析之后通过将E-R图转换为具体的数据库,建立了SQLServer的数据库,以及系统需求分析时分析得到的所需要的表,之后向数据库中装入数据,通过conn.jsp文件连接数据库进行测试。在完成此步骤后,按照系统需求分别测试每个表。完成对表的测试之后,通过在页面中向数据库传入,,,语句,包括select查询语句,增加记录语句,删除记录语句,修改记录语句以及更新记录语句,连接表的操作语句等,实现系统对数据的管理要求。通过正确传入SQL语句以及从数据库中得到正确的返回值,向用户展示所需要的数据。完成需求。最后,将各个模块整合,得到与设计一致的网络安全课程网站设计。 37 5 系统测试 针对于现有系统进行系统测试,主要测试了以下几方面: 教师登陆页面: 1、使用已注册的用户名,合法的密码进行登陆测试。2、使用已注册的用户名,非法的密码进行登陆测试。3、使用未注册的用户名,其他用户使用的密码进行登陆测试。4、使用未注册的用户名,随意的密码进行登陆测试。 对于测试情况1可以进入系统;测试情况2、3、4无法进入系统,系统给出提示信息,如图5.1所示。 图5.1 教师登陆错误信息提示 管理员登陆页面: 使用合法的密码进行登陆测试。2、使用任意密码进行登陆测试。 对于测试情况1,可以正常进入系统;对于测试情况2,系统将给出错误提示,如图5.2所示。 图5.2 管理员登陆错误提示信息 教师注册页面: 1、对两次输入的密码进行测试,测试其是否一致。2、对除标注可以不填的选项外其余选项为空的情况进行测试。 对于测试情况1,如首次输入密码为123@.tc(密码允许为特殊字符,英文大小写,数 38 字,标点等任意字符形式),重复输入该密码,给出注册成功的页面,如图5.4所示。若两次输入的密码不同,则给出错误提示信息,告知用户输入有误。如图5.3所示。对于测试情况2,系统会给出的相应的信息,如“所属的学院名称最少要2位,最多要20位”、“所属的系名称最少要3位,最多要10位”、“您的姓名没有填写呢”、“您的登陆名没有填写呢”等。 图5.3教师注册页面错误~原因两次密码不同 图5.4 教师注册页面注册成功 资料上传下载功能测试: 1、对资料的上传(不同类型的资料,资料大小)进行测试。2、对资料的下载进行测试。 对于测试情况1,测试支持txt、word、ppt、jar等类型的测试,大小为tomcat所支持的500M,如图5.5所示。 39 文件上传成功 图5.5 对于测试情况2,测试下载,可以实现对文件的打开,保存,另存为,保存并打开以及 取消。如图5.6所示。 图5.6 文件下载 40 6 关键问题机解决方案 关键问题1: 下载方面遇到的问题1: 使用jspSmartUpload下载文件,出现getOutputStream() has already been called for this response 错误 解决方法: 由于jsp container在处理完成请求后会调用releasePageContet方法释放所用的PageContext object,并且同时调用getWriter方法,由于getWriter方法与在jsp页面中使用流相关的getOutputStream方法冲突,所以会造成这种异常,解决办法是:只需要在jsp页面的最后加上两条语句: out.clear(); out=pageContext.pushBody();即可(其中out,pageContext均为jsp内置对象!) 下载方面遇到的问题2: 在myeclipse的工程中,webroot下设置upload文件夹用于上传和下载,但是这实际上是个虚拟文件夹,真正的upload文件夹是tomcat下的webapps的相应工程的upload文件夹。所有已上传和提供下载的文件全部放置在此处,在myeclipse的功能中不可见,但是不是没有的。这些已上传的文件存在,但是位置不是workspace中,而是服务器的文件夹下。 关键问题2:MyEclipse连接SQLServer 2008 R2遇到的问题 解决方法: 先登录SQL 2008选择Windows身份验证,点击连接 连接成功就会在对象资源管理器出现如下画面 打开安全性——登录名。右击登录名,选择新建登录名。会出现登录名——新建对话框。在选择页一栏,常规一项,填写登录名、选择SQL Serve身份验证、填写密码、去除强制密码过期。权限设置:在服务器角色一项,默认的是选择public,相当于游客,只有登录数据库权限。选择sysadmin,给角色管理员权限。点击确定。试连接:在菜单栏里选择文件——连接对象资源管理器,然后在身份验证一栏选择身份验证方式。填写 41 登录名、密码,点击连接。在对象资源管理器一栏又多出一堆东西,表示连接成功。 SQL2008:解决“阻止保存要求重新创建表的更改”当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改,如果强行更改会出现以下提示:不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。如果要去掉此提示,可从“工具”。菜单中选择“选项”在“选项”对话框中,选择Designers,选择“表设计器和数据库设计器”,清除“ 阻止保存要求重新创建表的更改”复选框。 关键问题3:如何启用sql server和windows混合的验证方式 解决方法: 以默认的windows验证方式打开并登录SQL Server 2008,登录后定位到“\安全性\登录名”,选择要使用sql server登录验证方式的用户(例如sa),右击sa,选择“属性”。 打开“属性”窗口后,定位到“常规”选项卡,修改密码并勾选或取消勾选相应复选框选项。 然后切换到“状态”选项卡,选择“连接到数据库”为“授予”,“登录”为“启用”,之后点击右下方的“确定”按钮保存退出。 右击连接数据库的登录用户,在出现的右键菜单中选择“属性”选项,之后将出现下图第二张图所示的界面。 切换到“安全性”选项卡,在“服务器验证方式”下选择“sql server和windows身份验证模式”,点击“确定”保存退出。 右击连接数据库的登录用户,在出现的右键菜单中选择“停止”选项,停止服务器进程,在出现的提示窗体中选择“是”。 当sql server服务器图标变为黄色的时候,依然右击它,点击“启动”,在出现的提示窗体中选择“是”。 关闭microsoft sql server,重新以sa用户登录,便可以成功利用sql server登录验证方式登录sql server。 关键问题4:连接数据库的conn.jsp文件报错: <%@ page contentType="text/html;charset=gb2312"%> 42 <%@ page import="java.sql.*"%> <% Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=text"; String user="koala"; String password="koala"; Connection conn=DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_U PDATABLE); %> 解决方法: 首先确定SQLServer有没有开启1433端口连接。具体做法:给SQLServer打sp3 的补丁,完成后重启,使用命令:netstat-n-a查看,看到SQLserver已经在1433端口侦 听了,端口问题解决。 其次确定是否是由于缺少相应的jar包的问题。具体做法是在工程上右键点击build path导入连接SQL的jar包,重新部署启动服务器,问题解决。 关键问题5、错误提示:org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将 varchar 值 'null' 转换为数据类型为 int 的列时发生语法错 误。 解决方法: 首先确定查询语句是否正确,若SQL语句书写错误,将会从数据库中返回空值, 而如果接收该返回值的参数不允许为空,则会报出该错误。具体方法:先将SQL语句 在数据库中允许,查看返回值是否是想要得到的值,如果不是,修改SQL语句。如果 是,启动Debug模式设置断点,查看该SQL语句的返回值是否被修改或因页面刷新刷 掉。如果还不成功,在相应的接收返回值的参数位置后面加“+1”或“+”””。例如int i=(...)+1;String s=(...)+””;问题解决。 43 7 结 论 本次毕业设计的题目为“网络安全课程教学网站设计与实现——数据库与管理”,建站目的为教师和同学提供网上学习,资源共享及问题交流的平台。主要实现了课程信息管理、资源共享、教师(个人信息及资料,学生作业)管理、管理员(教师注册,教师个人信息修改,教学资料分类,上传资料,已有资料管理等)管理、学习论坛(留言模块,留言回复功能及查看功能)及下载管理。以上功能的实现都需要数据库的支持。 本站在数据库的使用上选择了SQLServer2008。在数据库表的设置上,有以下几点:课程信息管理(包括课程公告)设置为数据库的列,有管理员在系统中输入,显示在前台页面。资源共享模块的实现,将所有的资源信息插入 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 ,在系统查询该表格时返回表中的相应信息,以便用户查看。教师管理模块的实现则采用了多表共同管理的方法,将教师信息保存在单独的表中,以便于修改和验证(如登陆验证,查看该教师上传的资料的身份验证等),同时,设置教师的权限,使用单独的标识变量标识。管理员管理模块的实现同教师管理模块的实现相似。但在权限的设置上管理员的权限比较高,可以对所有的数据库表格进行操作,这也就使得管理官可以管理本站内所有的教师和资料,论坛等。论坛的实现相对简单,数据库表的字段少,但是用到两个表,分别用于留言和回复。下载的实现则是通过在上传资源时将资源的名称作为关键字插入数据库,在下载时调用资源名称,通过系统补全路径使得资源得以下载。 在完成了前台设计和后台的数据库操作之后,进行了系统的整合。包括组织和完善系统的页面效果及数据库的操作语句,优化数据库表的字段,关系等。使得网站页面美观简洁,操作简单快捷。便于不同用户的使用和操作。 随后进行的是系统测试,具体的测试内容包括在不同的浏览器中页面的显示有无乱码、页面排版是否符合预期、系统是否可以正常连接到数据库,系统中的SQL语句对数据库进行操作时是否正常得到期望值、系统查询数据库后返回的数据是否完全、能否正常显示、系统能否正常处理恶意操作(如输入过长的用户名、输入带有标点符号、特殊字符的密码或用户名、是否在不允许为空的字段中设置空值、两次输入的密码不同等)、数据库的查询,插入,删除,修改能否立即更新并返回系统,同时在当前页面予以显示等。经过系统测试,使用设置页面长度为百分比的页面设计、给出用户非法操作的提示信息、清空非法数据并重置焦点等待用户重新输入等方法将上述问题予以解决。 44 最后,在不同的机器上部署网站,测试网站。完成网站建设。 45 8 致 谢 本文是在指导教师戚文静 老师的悉心指导下完成的,从外文文献翻译、课题说明、选择、调研、分析、实验指导、理论帮助到论文撰写,无不倾注了老师的心血和汗水。在此向 老师表示衷心的感谢。同时向 老师表示衷心的感谢,在网站的建设过程中给予了很大的帮助,使得网站建设得以顺利完成,非常感谢。在此也向所有曾经关心和帮助过我的老师、同学和朋友致以诚挚的谢意~ 46 9 参考文献 [1] 孙卫琴.Java网络编程精解[M].电子工业出版社.2005 [2] 汪孝宜等.JSP数据库开发实例精粹[M].电子工业出版社.2005 [3] 萨师煊.王珊.数据库系统概论[M].北京:高等教育出版社. [4] 杨颂华,冯毛官.SQL Server 2000 开发指南.清华大学出版社.2004.6 [5] 赵松涛.中文版SQL Server 2000应用及实例集锦.人民邮电出版社.2005.9 [6] 陈建春.Visusl C++开发GIS系统[M].北京:电子工业出版社.2000 [7] 刘文海.中文版Oracle 9i简明教程[M].上海交通大学出版社.2003 [8] 吕文达.精通C#程序设计[M].清华大学出版社.2004 [9] Rikard Land ,A Brief Survey of Software Architecture[D] ,2002 [10] Mary Shaw and Paul Clements,The Golden Age of Software Architecture: A Comprehensive Survey[D] ,2006 47
本文档为【毕业设计-网络安全课程教学网站设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:610KB
软件:Word
页数:0
分类:工学
上传时间:2017-10-15
浏览量:17
回复列表
昵称:" + rs.getString("name2") + "回复内容:" + rs.getString("message") + "