学士学位论文基于java的精品课程网站设计.docx

上传人:b****7 文档编号:9203867 上传时间:2023-02-03 格式:DOCX 页数:26 大小:851.77KB
下载 相关 举报
学士学位论文基于java的精品课程网站设计.docx_第1页
第1页 / 共26页
学士学位论文基于java的精品课程网站设计.docx_第2页
第2页 / 共26页
学士学位论文基于java的精品课程网站设计.docx_第3页
第3页 / 共26页
学士学位论文基于java的精品课程网站设计.docx_第4页
第4页 / 共26页
学士学位论文基于java的精品课程网站设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

学士学位论文基于java的精品课程网站设计.docx

《学士学位论文基于java的精品课程网站设计.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于java的精品课程网站设计.docx(26页珍藏版)》请在冰豆网上搜索。

学士学位论文基于java的精品课程网站设计.docx

学士学位论文基于java的精品课程网站设计

目录

摘要:

1

0前言1

1系统所用软件简介1

1.1MyEclipse简介1

1.2MySQL简介2

1.3Tomcat简介2

1.4JDK简介4

2系统所用语言简介4

2.1Java基础简介4

2.2JSP简介6

2.3Servlet简介7

2.4JavaScript简介7

3系统需求分析7

3.1系统的性能要求分析7

3.2系统功能需求分析7

4系统设计8

4.1运行环境设计8

4.2功能模块设计8

4.3数据库设计8

5系统实现9

5.1首页模块9

5.2个人中心模块13

5.3管理员模块20

6软件测试20

6.1软件测试简介20

6.2功能测试21

7结论21

参考文献22

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

王帅

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

摘要:

本论文主要工作为精品课网站的设计及实现。

通过本网站,可以使用户能够在线的查阅有关课程的最新信息,了解知识。

使教学更加方便,方便学生在家或寝室自己学习,提高学生自学能力,也节省学生、老师的时间。

关键词:

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

0前言

人类社会的发展与知识的传递有着一种必然的联系,教育是人类传递知识的最直接最有效的方式。

在21世纪这个信息高度发达,并且高速流通的时代,计算机的普及以及计算机网络技术的应用,让大量普通人能够有机会接触到比以往更多的知识。

作为一个以传播知识为主要职能的机构——学校建立一个自己的精品课程网站是十分必要的事情,这不仅是能使更多的人享用宝贵的教育资料源,同时也对于提升学校自身的知名度,提高学生自学能力,有相当大的帮助。

在世界范围内来看,有关精品课程网站研究一直都在进行并且不断取得进步,特别是西方发达国家,他们在精品课程的理论研究与实际运用方法积累了大量的经验,虽然我们中国国内在精品课程网站这一方面的研究起步较晚,但我们同样也取得了大量丰硕的成果。

各个高校相继创建了各自的精品课程网站,清华大学、人民大学、北京大学等一大批知名学府利用自身的资源优势,引领中国国内精品课程网站的发展方面。

政府的大力支持,各高等学府的积极配合,使得我们国内精品课程网站的研究取得了不俗的成就。

1系统所用软件简介

1.1MyEclipse简介

1.1.1MyEclipse简介

MyEclispe企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是一个十分优秀的用于开发Java,J2EE的Eclispe插件集合。

在MyEclispe6.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.2MySQL简介

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。

目前属于Oracle公司。

MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

1.3Tomcat简介

1.3.1Tomcat基本简介

Tomcat服务器是一个免费的开放源代码的Web应用服务器,是Apache软件基金会(ApacheSoftwareFoundation)的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版本选择目录,添加路径后,点击Tomcatserver中的Enable。

如图1-1所示。

图1-1Tomcat连接图

1.4JDK简介

1.4.1JDK简介

JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。

JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。

JDK是学好Java的第一步。

从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。

如果没有JDK,就无法编译Java程序[1]。

1.4.2JDK基本组件

用到的JDK基本组件:

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

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

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

Javap:

Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

2系统所用语言简介

2.1Java基础简介

2.1.1Java简介

Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。

Java语言被特意设计用于互联网的分布式环境。

Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。

使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。

Java平台就是基于Java语言的平台[2]。

2.1.2Java特性

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的运行环境是用ANSIC实现的。

即Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。

在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

与那些解释型的高级脚本语言相比,Java的确是高性能的。

事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

在Java语言中支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。

线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。

Java的动态特性是其面向对象设计方法的发展。

它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。

Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量[5]。

2.2JSP简介

2.2.1JSP简介

JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易[6]。

2.2.2JSP技术简述

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.3Servlet简介

Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。

它担当Web浏览器或其他Http客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层[7]。

Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

2.4JavaScript简介

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。

同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作[8]。

它最初由网景公司(Netscape)的BrendanEich设计,是一种动态、弱类型、基于原型的语言,内置支持类。

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运行环境设计

操作系统:

MicrosoftWindowsXP

开发工具:

MyEclipse6.0

运行环境:

Tomcat6.0

数据库:

MySQL

4.2功能模块设计

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

图4-1功能模块图

用户进入首页后,如未登录,可以进行搜索课程、查看课程、查看作者等操作。

如选择登录,则可以进入个人中心页面,在该页面可以进行修改个人信息、发表课程、修改课程、删除课程等操作。

如果是以管理员账号(账号:

admin,密码:

admin)登录,则在个人中心多出查看注册用户选项。

4.3数据库设计

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

图4-2E-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");

Stringusername=EncodingUtil.getNewString(request.getParameter("

username"));

Stringpassword=request.getParameter("password");

try{

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

Connectionconnection=DriverManager.getConnection("jdbc:

mysql:

///test",

"root","root");

Statementstmt=connection.createStatement();

ResultSetrst=stmt.executeQuery("select*fromuserswhereusername='"+

username+"'andpassword='"+password+"'");

Useruser=newUser();

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(Exceptione){

//TODO:

handleexception

}

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">



展开阅读全文
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

用户姓名:

${user.username}

输入新密码