基于Struts框架的在线影院系统的设计与实现

2010-07-23 00:30:30刘旭东李沛茜
关键词:影视节目管理员影视

刘旭东,李沛茜,陈 纯

(1.烟台职业学院科研处,山东烟台264670;2.浙江大学计算机科学与技术学院,浙江杭州310027)

随着Internet网络的日趋普及,动画、视音频将成为媒体资源的主角,与传统的文字、图像结合在一起成为网络上传输的媒体信息.这种情况下媒体信息的传输变得越来越重要,流式技术及其边下载边播放的特性深受教育、娱乐等行业的喜爱.以流式技术为基础,开发研究能够实现用户节目点播、频道收看、多媒体资源存储、共享等功能的多媒体资源点播系统及其管理平台也就显得尤为重要.宽带电影网站,作为挑战传统电影播放形式,己经广为接受,并逐渐成为了大众娱乐应用在Internet上的基本模式.另一方面,随着Internet技术的发展,基于MVC(Model-View-Controller)模型的Struts框架越来越受到Web系统开发者的欢迎.Struts是建立在当前动态网站设计领域中JSP、Servlet、XML等相关开发技术基础之上的一种主流开发架构,具有组件模块化、灵活性和重用性的优点,同时极大地简化了Web应用程序的开发.它合理地将用户表示逻辑、业务逻辑和控制逻辑分离,使得开发过程变得简洁清晰,并提高了软件的可维护性和可重用性[1].通过分析浙江大学校内视频点播系统,提出一种基于struts框架的在线宽带影院系统,充分利用面向对象设计、代码重用以及Java语言“编写一次、到处运行”的优点,并采用模块化处理思想,提高系统开发效率.

1 Struts的体系结构

Struts是Apache基金会Jakarta项目组的一个Open Source项目,它采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用[2].和其他的Java架构一样,Struts也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致.Structs框架的核心是一个弹性的控制层,基于如Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及Jakarta Commons的一些类库.Struts有一组相互协作的类(组件)、Serlvet以及jsp taglib组成.基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统MVC设计模式的一种变化类型.

Struts的工作原理如图1所示.

图1 Struts工作原理图

控制器:在Struts中,控制器由ActionServlet类来实现.ActionServlet是一个通用的控制组件,提供了处理所有发送Struts的H TTP请求的入口点.根据配置文件struts-config.xml的配置信息,把请求转发给适当的Action对象.如果Action对象不存在,ActionServlet会先创建这个对象.

视图:主要采用JSP作为视图的实现,它提供了丰富的JSP标签库支持应用程序的开发,而且引入了ActionForm组件(实质为JavaBean)作为用户表单的封装来完成数据的传输.

模型:在Struts中,主要有3种Bean,分别是:ActionForm、Action、JavaBean或者EJB.ActionF-orm用来封装来自client的用户请求信息,Action获取ActionForm中的数据,再调用EJB或者JavaBean进行处理.

2 系统分析与设计

2.1 系统描述

在线宽带影院系统包括两个部分:一个是前台管理程序,它负责将系统管理的所有节目生成节目单提供给用户,并为已注册用户提供节目查询、点播、下载等功能;另一个是后台管理程序,商家在此管理影视的相关信息发布,处理影视节目信息,并管理在网站上注册的用户等.

2.2 功能模块设计

根据系统描述,采用模块化处理思想,将系统划分成一系列功能模块,如图2所示.

图2 系统功能模块图

各模块具体完成的功能如下:

1)后台管理

(1)管理员管理模块:管理设置管理员权限,添加、修改、删除管理员信息,管理员登陆系统等.

(2)公告管理模块:管理系统公告信息,如系统帮助信息、各项活动信息等.

(3)节目管理模块:负责完成节目内容的维护工作,包括:①节目内容的添加、修改、删除、归类、发布;②动态生成节目单,供用户浏览;③提供用户对节目文件的点播;④提供方便快捷的查询方式.

(4)用户管理模块:这里的用户指前台注册用户,即节目的使用者.该模块负责用户信息的查看、修改、删除及权限的变更.

2)前台管理

(1)信息导航模块:按影视节目类型生成影视节目导航,并在页面上生成影视节目单,提供影视节目详细信息页面链接.该页面还提供影视节目点播链接,并对高级权限用户提供下载链接.

(2)影视查询模块:节目使用者不仅可以根据节目类型查找自己所需节目,还可以利用系统提供的搜索功能对节目进行快速定位.

(3)信息展示模块:最新节目罗列、点播排行罗列、查看公告和下载排行罗列.

(4)注册登陆模块:提供新用户注册;提供用户登录入口,验证用户合法性;提供个人信息修改;离开系统,取消系统对用户的跟踪.

(5)在线视听模块:对注册用户提供视频点播,在线观看服务.

(6)下载模块:对高级会员提供影视节目的下载功能.

2.3 数据库设计

本系统使用SQL Server 2000作为后台数据库,主要工作是对数据(尤其是视音频信息数据)进行访问操作,为用户快速查找、使用、管理视音频节目提供方便.根据系统各个功能模块的需要,经过设计得到以下几个数据库表:用户信息表UserInfo_table(用户编号,用户名称,密码等),用于记录用户信息.管理员信息表ManagerInfo_table(管理员编号,管理员名称,密码等),用于记录管理员信息.影视信息表MovieInfo_table(影视编号,影视名称,影视图片等),用于记录影视信息.公告信息表BulletinInf_table(公告编号,公告标题,公告内容,更新人员,更新时间),用于记录发布的公告信息.下载记录表Download(下载编号,影视编号,下载次数,最后下载时间),用于记录影视下载信息.影视类型表Movietype(类型编号,类型名称,备注),用于记录影视类型信息.点播记录表Order(点播编号,影视编号,点播次数,最后点播时间),用于记录点播信息.

3 Struts组件设计

根据Struts的设计思想,再结合前面的系统功能模块设计,利用面向对象的程序设计思想,归纳出整个系统中需要管理的对象有管理员、用户、影视节目、公告、点播记录和下载记录等[3].经分析得出各个管理对象所对应的Struts组件,包括:ActionS-ervlet、ActionForm、Action、FormBean等,如表1所示.

表1 系统各模块对应的Struts组件

4 系统实现

4.1 运行环境

系统采用Web服务器为Tomcat5.0,流媒体服务器为RealServer,数据库为SQL Server 2000,Java版本为JDK1.5的运行环境,使用Dream-Weaver8.0和JSP技术进行网络应用程序的开发,利用JDBC技术对后台数据库进行访问[4].

4.2 连接池配置

在在线影院系统中采用数据库连接池技术提高访问数据库的效率[5].在数据源中事先建立了多个数据库连接,这些连接保存在数据库连接池中.Java程序访问数据库时,只需从连接池中取出空闲状态的数据库连接;程序访问数据库结束之后,再将数据库连接放回连接池.在Tomcat_Homeconfserver.xml中加入:

4.3 Struts配置

创建web.xml文件[3],这是一个基于Servlet的Web应用程序都需要的部署描述文件,在其中加入对ActionServlet和标签库的描述,部分代码如下所示:

根据以上配置,ActionServlet在Web应用启动时就被加载并初始化,在Web应用中,所有“*.do”形式的URL都由ActionServlet来处理.在修改完web.xml文件后,在WEB-INF目录下创建struts-config.xml的文件.在struts-config.xml中包含form-beans(定义ActionForm类)、global-forwards(配置全局转发)、action-mappings(配置ActionMapping)和messageresources几个部分.

4.4 模块功能实现

在配置好服务器、初始化站点、配置数据源和Struts架构后,再进行各个功能模块的开发.以在线视听模块为例,这一模块包括的内容有:影视节目的后台业务逻辑实现、节目查询、节目点播.后台业务逻辑实现采用Struts架构,如图3所示.

MovieAction、MovieModel和MovieForm作为Struts构件.MovietModel表示影视信息,它对应数据库表中的字段.MovieForm是BaseForm即ActionForm的子类,具有MovieModel的属性并提供了对MovieModel字段的getX()和setX()方法.Action包含影视信息管理中所有操作的Action类,如查询、增加、修改和删除等操作,可以通过它调用数据库操作的类.MovieInfo与数据库表MovieInfo_table中的各个字段相对应,用于保存和传递数据.OrderMovie代表了在线视听中各个影视的信息,如影视名称、导演、主要演员、语言和发行国家等.OrderBean封装了在线视听中所有的业务逻辑,包括点播编号、点播次数和最后点播时间等操作.其它模块的实现与其类似.

图3 在线视听模块的Struts实现

5 结束语

采用Struts以及JSP、servlet、JavaBean和JDBC等技术,通过实现视图、模型和控制器的分离,大大简化了Web应用的开发过程,提高了Web应用的可重用性和可扩展性.以上系统的设计与实现,体现了软件工程的设计思想以及在Web应用中使用Struts的方法,可以方便地扩展框架,更好地适应用户的实际需求.

[1] 张炜,高原.基于Struts框架的Web应用系统设计与实现[J] .电脑知识与技术,2009,16(15):3 951-3 952.

[2] 聂刚,卿秀华.基于MVC模式的Struts框架在高校开放实验室系统的应用[J] .武汉科技学院学报,2007,20(6):5-8.

[3] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M] .北京:电子工业出版社,2004.

[4] 孙卫琴,李洪成.Tomcat与Java Web开发技术详解[M] .北京:电子工业出版社,2004.

[5] 飞思科技产品开发中心.JSP数据库开发应用详解[M] .北京:电子工业出版社,2004.

猜你喜欢
影视节目管理员影视
影视展
环球时报(2023-03-15)2023-03-15 17:22:12
文学转化影视,你需要了解这几件事
江南(2022年3期)2022-04-30 08:23:53
我是小小午餐管理员
我是图书管理员
少先队活动(2020年8期)2020-12-18 02:32:07
我是图书管理员
少先队活动(2020年7期)2020-12-18 01:48:39
影视节目对大学生旅游动机的影响
——以黑龙江工程学院
经济师(2020年2期)2020-03-19 12:07:26
可疑的管理员
影视节目策划制作探讨
传媒论坛(2018年9期)2018-03-28 16:48:13
影视风起
商周刊(2017年11期)2017-06-13 07:32:30
试析创新推广优秀中国影视节目的策略
传播力研究(2017年7期)2017-03-30 04:11:50