基于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 个人信息修改页面
本页面自动填写旧密码,用户输入新密码即可。
该页面部分代码如下:
用户姓名: | ${https://www.360docs.net/doc/439154310.html,ername} |
name="password"value="${user.password }"> | |
输入新密码 | name="newpassword"> |
再次输入新密码 | name="confirmpassword"> |