基于JAVA的精品课程网站设计_毕业设计论文

基于JAVA的精品课程网站设计_毕业设计论文
基于JAVA的精品课程网站设计_毕业设计论文

基于JA VA的精品课程网站设计

基于JA V A的精品课程网站设计

目录

摘要: (1)

0 前言 (1)

1 系统所用软件简介 (1)

1.1 MyEclipse简介 (1)

1.2 MySQL简介 (2)

1.3 Tomcat简介 (2)

1.4 JDK简介 (3)

2 系统所用语言简介 (4)

2.1 Java基础简介 (4)

2.2 JSP简介 (5)

2.3 Servlet简介 (6)

2.4 JavaScript简介 (6)

3 系统需求分析 (6)

3.1系统的性能要求分析 (6)

3.2系统功能需求分析 (7)

4 系统设计 (7)

4.1 运行环境设计 (7)

4.2 功能模块设计 (7)

4.3 数据库设计 (7)

5 系统实现 (8)

5.1 首页模块 (8)

5.2 个人中心模块 (11)

5.3 管理员模块 (17)

6 软件测试 (18)

6.1 软件测试简介 (18)

6.2 功能测试 (18)

7 结论 (19)

目录

参考文献 (19)

II

基于JSP的精品课程网站设计与实现

王帅

(河南大学物理与电子学院,河南开封,475004)

摘要:

本论文主要工作为精品课网站的设计及实现。通过本网站,可以使用户能够在线的查阅有关课程的最新信息,了解知识。使教学更加方便,方便学生在家或寝室自己学习,提高学生自学能力,也节省学生、老师的时间。

关键词:

精品课程;网站;JSP;JavaBean;Servlet;Access

0 前言

人类社会的发展与知识的传递有着一种必然的联系,教育是人类传递知识的最直接最有效的方式。在21世纪这个信息高度发达,并且高速流通的时代,计算机的普及以及计算机网络技术的应用,让大量普通人能够有机会接触到比以往更多的知识。作为一个以传播知识为主要职能的机构——学校建立一个自己的精品课程网站是十分必要的事情,这不仅是能使更多的人享用宝贵的教育资料源,同时也对于提升学校自身的知名度,提高学生自学能力,有相当大的帮助。

在世界范围内来看,有关精品课程网站研究一直都在进行并且不断取得进步,特别是西方发达国家,他们在精品课程的理论研究与实际运用方法积累了大量的经验,虽然我们中国国内在精品课程网站这一方面的研究起步较晚,但我们同样也取得了大量丰硕的成果。各个高校相继创建了各自的精品课程网站,清华大学、人民大学、北京大学等一大批知名学府利用自身的资源优势,引领中国国内精品课程网站的发展方面。政府的大力支持,各高等学府的积极配合,使得我们国内精品课程网站的研究取得了不俗的成就。

1 系统所用软件简介

1.1 MyEclipse简介

1.1.1MyEclipse简介

MyEclispe企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是一个十分优秀的用于开发Java,J2EE的Eclispe插件集合。在MyEclispe 6.0以前版本需要先安装Eclipse,以后的版本安装时则不需安装。其功能非常强大,支持也十分广泛,利用它我们可以在数据库和JavaEE的开发,发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的Java集成开发环境,包括了完备的编码调试测试和发布功能,完整的支持HTML,Struts,JSP,CSS,

JavaScript,JDBC,Servlet,AJAX等多项功能。

1.1.2MyEclipse分类

在结构上,MyEclipse的特征可以被分为7类:

(1)JavaEE模型

(2)WEB开发工具

(3)EJB开发工具

(4)应用程序服务器的连接器

(5)JavaEE项目部署服务

(6)数据库服务

(7)MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

1.2 MySQL简介

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

1.3 Tomcat简介

1.3.1Tomcat基本简介

Tomcat服务器是一个免费的开放源代码的Web 应用服务器,是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。

Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。其运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,更是受到广大程序员的喜欢。

1.3.2Tomcat常用目录结构

/bin:存放windows或Linux平台上启动或关闭Tomcat的脚本文件。

/conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml 和web.xml。

/webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录。

/src:存放Tomcat的源代码。

/work:存放JSP编译后产生的class文件。

/server/lib:存放Tomcat服务器所需的各种JAR文件。

1.3.3Tomcat与MyEclipse的连接问题

MyEclipse自带一个Tomcat插件,但性能不好,一般自己配置Tomcat。配置方法为:在MyEclipse中选择Window,然后点击preference,在列表中选择MyEclipse,继续选择Servers,点击Tomcat,按照你的Tomcat版本选择目录,添加路径后,点击Tomcat server中的Enable。如图1-1所示。

图1-1 Tomcat连接图

1.4 JDK简介

1.4.1 JDK简介

JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java 的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。如果没有JDK,就无法编译Java程序[1]。

1.4.2 JDK基本组件

用到的JDK基本组件:

Javac-编译器,将源程序转成字节码;

jar –打包工具,将相关的类文件打包成一个文件;

java –运行编译后的java程序(.class后缀的);

Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示

字节代码含义。

2 系统所用语言简介

2.1 Java基础简介

2.1.1 Java简介

Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。Java语言被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。Java 平台就是基于Java 语言的平台[2]。

2.1.2 Java特性

Sun 公司对Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言[3]。

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言[4]。

Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字

节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

即Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java 平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java 的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

在Java语言中支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。

Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。Java 编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量[5]。

2.2 JSP简介

2.2.1 JSP简介

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易[6]。

2.2.2 JSP技术简述

JSP和客户端的交互是通过HTTP协议实现的,这个过程主要分为以下4个步骤。

客户端和服务器建立连接;

客户端发送请求;

服务器发出响应;

关闭连接;

所有的JSP程序在首次载入时都被翻译成Servlet文件,然后在运行,这个工作主要有JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎会完成以

下操作:

(1) 将JSP文件翻译成Servlet文件(以.Java为后缀),它是一个完整的Java 应用程序。

(2)JSP引擎调用Java编译器编译Servlet文件得到可执行的代码文件(以.class为后缀)。

(3)JSP引擎调用Java虚拟机解释执行class文件,并将运行结果返回给客户端浏览器。

(4)服务器将运行结果以HTML形式作为响应返回给客户端浏览器。

2.3 Servlet简介

Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。它担当Web浏览器或其他Http客户程序发出请求,与HTTP 服务器上的数据库或应用程序之间的中间层[7]。Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

2.4 JavaScript简介

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作[8]。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript 是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。

3 系统需求分析

3.1系统的性能要求分析

(1)磁盘容量要求:

本系统属于B/S模式构架,因此存储容量较小,数据库系统也不是很大,系统文件估计占30M的磁盘空间,数据库文件占用空间也不是很大。不过该精品课程网站中的资源管理模块将会占用很大的空间。一些管理员的课件资源在文件中将会占用很大的空间。而本机器有320G的空间,足够放入一些视频,如果空间不够,这个就要管理员及时的清空系统中的过期文件[9]。

(2)适应性要求:

要求界面友好,菜单清楚,学生和老师都能很快熟悉网站。对于部分文章、课件的发布要求达到所见即所得的效果。

3.2系统功能需求分析

本系统需要采用B/S模式设计开发,可以作为一般高等院校的精品发布系统。教师可需要拥有发表、查看、删除、修改课程权限,游客需要可以查看课程,管理员则需要可以查看注册用户信息等[10]。

4 系统设计

4.1 运行环境设计

操作系统:Microsoft Windows XP

开发工具:MyEclipse6.0

运行环境:Tomcat6.0

数据库:MySQL

4.2 功能模块设计

系统功能模块图如下图4-1所示:

图4-1 功能模块图

用户进入首页后,如未登录,可以进行搜索课程、查看课程、查看作者等操作。如选择登录,则可以进入个人中心页面,在该页面可以进行修改个人信息、发表课程、修改课程、删除课程等操作。如果是以管理员账号(账号:admin,密码:admin)登录,则在个人中心多出查看注册用户选项。

4.3 数据库设计

数据库概念结构(E-R图)如图4-2所下:

图4-2 E-R图

根据需求分析,一共设计四张表:

(1)用户表(用户ID、用户姓名、用户密码、用户性别、用户职位、用户所属学院、用户籍贯、用户头像)。

(2)课程内容表(课程ID、课程的主要负责人、课程名、课程类型、课程发布日期、教师队伍简介、队伍职位结构、队伍学历结构、队伍年龄结构、负责人近五年来讲授的主要课程、负责人在国内外发行刊物发表的论文、负责人承担的实践性教学、负责人获得的学术研究奖励、课程简介、教学大纲、理论教学内容、实践教学内容、专家评价、督导组评价、学生评价、教学特色介绍、教学研究、教学获奖、参考文献、网络资源)。

(3)学生作业表(ID、课程ID、学生作业)。

(4)历年考题表(ID、课程ID、历年考题)。

5 系统实现

5.1 首页模块

用户在地址栏中输入http://localhost:8080/IBMproject/home.jsp,即可进入系统

首页,如下图5-1所示:

图5-1 首页展示图

首页主要有以下几点功能:

(1)点击左侧按钮可跳到各个页面,比如检索页面、登录页面、注册页面。(2)最新作品部分可以展示最新发布的课程,点击可以进入该课程。

(3)右侧精品课程部分则可以查看优秀的课程,点击可以进入。

(4)著名老师部分可以查看老师信息。

(5)大学简介部分有关于河南大学的介绍,便于游客了解河南大学。

5.1.1注册页面

用户点击首页的注册,即可进入注册模块。页面展示如5-2所下。

图5-2 注册页面图

注册页面主要有以下几点功能:

(1)支持用户名汉字输入。

(2)支持密码确认,防止输出密码。

(3)支持籍贯选择,由动态选择框完成。

(4)支持头像图片上传。

(5)支持验证码确认,点击变化另一张图片。

用户提交表单后由RegisterServlet控制器跳转到ResponeTime控制器,该控制器主要实现自动跳转功能,三秒之后可以自动跳转到个人中心页面(index.jsp)。如未跳转可点击进入。

部分代码如下:

response.setCharacterEncoding("utf-8");

response.setContentType("text/html;chartset=utf-8");

response.setHeader("refresh","3;url='index3.jsp'");

response.getWriter().write(" ");

response.getWriter().write(" ");

response.getWriter().write("

恭喜您注册成功,三秒后自动跳转。


如未跳转请点击这里");

5.1.2登录页面

用户在首页点击登录,即可进入登录页面,页面如下图5-3所示:

图5-3 登录页面图

输入用户名跟密码后,登录到个人中心(index.jsp)。

部分代码如下:

request. setCharacterEncoding("utf-8");

String username=EncodingUtil.getNewString(request.getParameter("

username"));

String password=request.getParameter("password");

try {

Class.forName("com.mysql.jdbc.Driver");

Connection connection=DriverManager.getConnection("jdbc:mysql:///test", "root","root");

Statement stmt=connection.createStatement();

ResultSet rst=stmt.executeQuery("select*from users where username='"+ username+"' and password='"+password+"'");

User user=new User();

if(rst.next()){

user.setUserid(rst.getInt("userid"));

user.setUsername(rst.getString("username"));

user.setPassword(rst.getString("password"));

user.setSex(rst.getString("sex"));

user.setPostition(rst.getString("postition"));

user.setCollege(rst.getString("college"));

user.setPlace(rst.getString("place"));

user.setPic(rst.getString("pic"));

request.getSession().setAttribute("user",user);

request.getRequestDispatcher("../right/index.html").forward(request, response);

response.sendRedirect("../index3.jsp");

}else{

request.setAttribute("error","用户名或密码错误");

request.getRequestDispatcher("../../login.jsp").forward(request, response);

}

} catch (Exception e) {

// TODO: handle exception

}

5.2 个人中心模块

用户由登录或者注册都可进入该页面,页面展示如下图5-4所示:

图5-4 个人中心页面图

点击各个菜单即可进入各个功能模块。

5.2.1个人信息页面

点击个人信息,进入个人信息页面。页面展示如下图5-5所示:

图5-5 个人信息页面图

该页面可以查看注册时候的信息,如想修改可以点击修改按钮,进入修改个

人信息页面(userModify.jsp)。页面展示如下图5-6所示:

图5-6 个人信息修改页面

本页面自动填写旧密码,用户输入新密码即可。

该页面部分代码如下:

/servlet/ModifyServlet" method="post" enctype="multipart/form-data">



5.2.2 课程发表页面

点击发表课程,进入课程发布页面。该页面可以选择课程类型,输入课程名称,如确定发表可点击下一步进入课程详细说明页面(curriculumMatter.jsp)。页面展示如下图5-7所示:

图5-7课程发布页面图

该页面主要用于添加课程的详细内容,共分六部分。

(1)队伍结构:由队伍简介、职位结构、学历结构、年龄结构、学缘结构组成,同时构成一个form表单,响应teamStructureServlet控制器,再传入数据库中。支持ckeditor插件,可设置字体大小颜色等。

(2)课程主讲人:由近五年来讲授的主要课程、在国内外发型刊物发表的论文、承担的实践性教学、获得的学术研究奖励组成,也构成一个form表单,响应curriculumManServlet控制器。

(3)教学内容:由课程简介、教学大纲、理论教学内容、实践性教学内容组成,也构成一个form表单,响应studyContentServlet控制器。

(4)教学效果:由专家评价、督导组评价、学生评价组成,支持图片上传。该部分因为上传三种不同图片,所以响应三个控制器studyAchievementServle t1,studyAchievementServlet2,studyAchievementServlet3。

(5)教学特色:由特色介绍、教学研究、教学获奖组成。该部分有文本上传也有图片上传,整体构成一个from表单响应teachTraitServlet控制器。

(6)教学资源:由学生作业、历年考题、参考文献、网络资源组成。由于学生作业与历年考题涉及到多张图片上传问题,所以新建了两张表beforepaper与studentworkpic,用于存放数据。

部分代码如下:

String troopsStructure=EncodingUtil.getNewString(request.getParameter(" troopsStructure"));

String positionStructure=EncodingUtil.getNewString(request.getParameter(" positionStructure"));

String educationStructure=EncodingUtil.getNewString(request.getParameter( "educationStructure"));

String studyStructure=EncodingUtil.getNewString(request.getParameter(" studyStructure"));

String ageStructure=EncodingUtil.getNewString(request.getParameter( "ageStructure"));

Curriculum curriculum=(Curriculum) request.getSession().getAttribute(" curriculum");

int curriculum_id=curriculum.getCurriculum_id();

try {

Class.forName("com.mysql.jdbc.Driver");

Connection connection=DriverManager.getConnection( "jdbc:mysql:///test", "root","root");

Statement stmt=connection.createStatement();

String sql="update curriculum"

String sql="update curriculum set curriculum_troopsStructure='"+troopsStruc ture+"',curriculum_position Structure='"+positionStructure+"',curriculum_education Structure='"+educationStructure+"',curriculum_ageStructure='"+ageStructure+"', curriculum_studyStructure='"+studyStructure+"' where curriculum_id="+ curriculum_id;

stmt.executeUpdate(sql);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

response.sendRedirect("../curriculumMatter.jsp");

}

5.2.3搜素页面

在个人中心点击搜索课程,进入课程搜索页面。如下图5-8所示:

图5-8 搜索页面图

本页面支持多种查找方式,如作者姓名查找、课程名查找、发表类型查找。都为模糊查找,只要输入关键字就可以。该页面响应QueryServlet控制器,该控制器部分代码如下:

request.setCharacterEncoding("utf-8");

String queryusername=

EncodingUtil.getNewString(request.getParameter("queryusername"));

String findCondition=EncodingUtil.getNewString(request.

getParameter("findCondition"));

if(findCondition.equals("1")){

List curriculum=

curriculumService.getCurriculumByUserName(queryusername);

request.setAttribute("curriculum", curriculum);

request.getRequestDispatcher("/table.jsp").forward(request,response);

}else if (findCondition.equals("2")) {

List curriculum=curriculumService.getCurriculum

ByName(queryusername);

request.setAttribute("curriculum", curriculum);

request.getRequestDispatcher("/table.jsp").forward(request,response);

}else if (findCondition.equals("3")) {

List curriculum=curriculumService.getCurriculum

ByType(queryusername);

request.setAttribute("curriculum", curriculum);

request.getRequestDispatcher("/table.jsp").forward(request,response);

}else{

System.out.println("错误");

}

点击查找进入具体搜索页面(table.jsp),如下图5-9所示:

图5-9 课程检索页面图

点击查看即可查看该课程。该部分主要设计原理为url传值,代码部分如下:

查看

本页面导航菜单对应具体信息,点击即可查看。页面展示如下图5-10所示:

图5-10课程查看页面图

部分代码如下:

private CurriculumService curriculumService=new CurriculumServiceImpl();

private BeforePaperService beforePaperService=new BeforePaperServiceImpl();

privateStudentWorkPICService studentWorkPICService=new StudentWorkPIC ServiceImpl();

@Override

protected void service(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String curriculum_id=request.getParameter("id");

CurriculumAll

curriculumAlls=curriculumService.getCurriculumAllById(Curriculum

_id);

List beforePaperPICs=beforePaperService.getBefore PaperPICById(curriculum_id);

List studentWorkPICs=studentWorkPICService.getStudent WorkPICById(curriculum_id);

request.getSession().setAttribute("beforePaperPIC",beforePaperPICs);

request.getSession().setAttribute("studentWorkPIC", studentWorkPICs);

request.setAttribute("curriculumAlls", curriculumAlls);

request.getRequestDispatcher("/seeCurriculumAll.jsp").forward(request, response);

5.2.4查看发表课程页面

在个人中心点击后,进入如下图5-11所示页面:

图5-11 用户课程信息页面图

本页面多出了修改与删除选项,如想删除则点击该按钮,弹出选择框,选择是即可删除,如想修改,点击修改按钮,进入修改课程页面。如下图5-12所示:

图5-12修改课程页面图

本页面自动添加课程信息,方便作者修改。

5.3 管理员模块

在登录时,如果以管理员账号登录则会进入管理员模块,管理员账号:admin,密码admin。管理员拥有查看其它用户资料的权限,同时也可以拥有普通用户的权限。页面展示如下图5-13所示:

图5-13 个人信息中心图

6 软件测试

6.1 软件测试简介

测试是每个软件开发过程中必须经历的阶段,它是贯穿在整个软件开发的过程中的。测试的目的是为了发现系统中存在的缺陷,并尽可能地为修正错误提供更多的信息,使系统更加地完善。测试的对象包括数据、程序和文档。测试的方法分为动态测试和静态测试两种。静态测试分为人工测试和计算机辅助测试;动态测试分为黑盒测试和白盒测试。

6.2 功能测试

测试方法很多,但是测试是一项非常复杂的工作,不可能对每一个可能出现的情况都一一测试到。下面仅仅举一个用户登录的例子来说明对网站系统所做的功能测试[11]。

在用户登录的时候,要求用户名和密码是必须填写的信息。本测试主要是通过对输入的用户信息进行分析与判断,得出预期的输出结果。然后将实际的输出结果与预期的输出结果进行比较,得出最终的结论。

1.登录失败的测试:

测试用例见表6-1

表6-1用例表

输入以上登录信息以后,页面显示用户登录失败。

2.登录成功的测试:

测试用例见表6-2

表6-2用例表

相关主题

用户姓名:

${https://www.360docs.net/doc/439154310.html,ername}

name="password"value="${user.password }">

输入新密码

name="newpassword">

再次输入新密码

name="confirmpassword">