logo资料库

基于SSH框架的音乐网站设计与实现.doc

第1页 / 共78页
第2页 / 共78页
第3页 / 共78页
第4页 / 共78页
第5页 / 共78页
第6页 / 共78页
第7页 / 共78页
第8页 / 共78页
资料共78页,剩余部分请下载后查看
第一章 绪论
第一节 开发背景
第二节 开发意义
第三节 论文结构
第二章 技术简介
第一节 Java Web
一、Servlet技术
二、JSP技术
三、Filter过滤器
四、Listener监听器
五、JSTL标签
六、JSP 2.0自定义标签
第二节 MVC模式
第三节 SSH框架
一、Struts 2.x框架
二、Hibernate框架
三、Spring框架
第四节 AJAX技术
第五节 开发工具与平台
第三章 需求分析
第一节 系统简介
第二节 图形界面与功能需求
一、图形界面
二、功能需求
第三节 面向管理的需求定义
第四节 面向体验的需求定义
第五节 面向维护的需求定义
一、前台JSP页面的复用
二、后台代码的复用
三、码表:可扩展性
四、系统安全性
第四章 总体设计
第一节 开发规范
一、包定义
二、前台路径定义
第二节 功能模块的一般逻辑
第三节 用户权限设置
第四节 数据原型的依赖关系
第五节 前台界面设计概要
第五章 详细设计
第一节 数据库设计
一、Singer(歌手)
二、Album(专辑)
三、Song(歌曲)
四、User(用户)
五、News(新闻)
六、Playlist(播放列表)
七、Code(数据字典)
第二节 DAO层接口/实现类
第三节 码表/自定义标签/安全性
一、码表工具类
二、自定义分页条件查询标签
三、安全性实现
第四节 单态登录/忘记密码/注册
一、登录/忘记密码-页面设计
二、登录/忘记密码-业务逻辑
三、关于单态登录
四、注册-页面设计
五、注册-业务逻辑
第五节 展示与搜索
一、主页-页面设计
二、主页-业务逻辑
三、全局搜索-页面设计
四、全局搜索-业务逻辑
五、分类详情-页面设计
六、分类详情-业务逻辑
第六节 用户/新闻/播放列表管理
一、用户管理-页面设计
二、用户管理-业务逻辑
三、新闻管理-页面设计
四、新闻管理-业务逻辑
五、播放列表-页面设计
六、播放列表-业务逻辑
第七节 歌手/专辑/歌曲管理
一、页面设计
二、业务逻辑
第八节 播放器与推荐曲目
一、页面设计
二、业务逻辑
三、推荐算法
四、AJAX删除
第六章 系统测试
第一节 测试的意义
第二节 测试方法及结果
一、测试方法
二、测试结果
第七章 总结与展望
第一节 开发总结
一、系统规模
二、开发周期
三、项目原创性
第二节 项目展望
一、关于后台重构
二、关于jQuery控制播放器
三、关于评论功能的扩展
参考文献
致 谢
基于 SSH 框架的音乐网站设计与实现 DESIGN AND IMPLEMENTATION OF AN SSH-BASED MUSIC WEBSITE 专 姓 业:软件工程 名: 指 导 教 师: 申请学位级别:学士 论文提交日期:2013 年 6 月 15 日 学位授予单位:
摘 要 音乐在过去半个世纪以来一直作为人们日常生活中不可或缺的一部分,如今 的音乐媒体已经趋于多元化、国际化。从早期的唱片碟到上世纪 80 年代的卡带, 再到本世纪初的光碟,最终到今天日益兴盛的数字媒体,音乐的形式已经全面数 字化。互联网作为数字音乐的最大载体,在音乐发展历程中扮演着非常重要的角 色。 本音乐网站基于 Java Web 技术,采用 SSH 轻量级框架组合进行设计与实现。 网站利用 UML 建模,结合用户体验进行开发。网站的功能模块主要包括:登录 注册、个人信息维护、用户/音乐/新闻管理、排行榜、播放器、个人收藏列表以 及信息检索等。 网站重点实现了单态登录、管理员权限控制、静态信息的码表结构、HTML5 播放器、推荐算法等功能,并利用 JSP 2.0 自定义标签极大地实现了页面复用。 全文共分为技术简介、需求分析、总体设计、详细设计、系统测试、总结与 展望共 6 部分。 关键词:SSH 框架; 音乐网站; Java; UML 建模; MVC 模式 I
ABSTRACT Music in the past half century has been an integral part of people's daily life, as part of today's music media has become more diversified, international. Disc recordings from the early 1980s to the cassette, then CD-ROM of this century, and ultimately to today's burgeoning digital media, music form has been fully digitized. Internet is the biggest digital music carrier, in the course of development of the music, Internet plays a very important role. The music site based Java Web technology, using a combination of SSH lightweight frame design and implementation. Website use UML modeling, combined with the user experience for development. Site function modules include: Login Register, personal information maintenance, user / music / news management, leaderboards, players, personal favorites list, and information retrieval. Website focus to achieve: single state registry, administrator access control, static information code table structure, HTML5 player, recommendation algorithms, and using JSP 2.0 custom tag page greatly achieved reuse. This thesis is divided into technical brief, requirements analysis, design, detailed design, system testing, Summary and Outlook, totally 6 parts. Keywords: SSH Framework; Music Website; Java; UML Modeling; MVC Pattern II
目 录 第一章 绪论.............................................................................................1 第一节 开发背景.....................................................................................1 第二节 开发意义.....................................................................................1 第三节 论文结构.....................................................................................2 第二章 技术简介.....................................................................................3 第一节 Java Web......................................................................................3 第二节 MVC 模式...................................................................................8 第三节 SSH 框架.....................................................................................9 第四节 AJAX 技术................................................................................11 第五节 开发工具与平台.......................................................................12 第三章 需求分析...................................................................................13 第一节 系统简介...................................................................................13 第二节 图形界面与功能需求...............................................................13 第三节 面向管理的需求定义...............................................................15 第四节 面向体验的需求定义...............................................................16 第五节 面向维护的需求定义...............................................................18 第四章 总体设计...................................................................................21 第一节 开发规范...................................................................................21 第二节 功能模块的一般逻辑...............................................................22 第三节 用户权限设置...........................................................................23 第四节 数据原型的依赖关系...............................................................23 III
第五节 前台界面设计概要...................................................................25 第五章 详细设计...................................................................................27 第一节 数据库设计...............................................................................27 第二节 DAO 层接口/实现类................................................................32 第三节 码表/自定义标签/安全性........................................................ 33 第四节 单态登录/忘记密码/注册........................................................ 38 第五节 展示与搜索...............................................................................44 第六节 用户/新闻/播放列表管理........................................................ 51 第七节 歌手/专辑/歌曲管理................................................................ 58 第八节 播放器与推荐曲目...................................................................64 第六章 系统测试...................................................................................69 第一节 测试的意义...............................................................................69 第二节 测试方法及结果.......................................................................69 第七章 总结与展望...............................................................................70 第一节 开发总结...................................................................................70 第二节 项目展望...................................................................................71 参考文献...................................................................................................72 致 谢....................................................................................................... 73 IV
第一章 绪论 第一节 开发背景 听音乐是长久以来人们日常生活中必不可少的休闲活动之一,如今已不再有 人使用留声机或录音机听音乐了。音乐的形式正在不断创新,本世纪初,光盘是 最为流行的音乐介质,而今天的音乐早已经更加趋于数字化。互联网是数字音乐 的最大载体,如今的人们更加青睐于使用 PC 听音乐,或使用手机、音乐播放器 等移动设备从网上获取数字音乐资源。 Java 技术近年来的发展非常迅猛,由于其在 Web 开发领域中的表现卓越, 越来越多的网站使用 Java 平台进行开发。例如淘宝网就曾经考虑到业务规模的 不断扩大,而放弃原有的 PHP 架构,转型成为 Java 平台架构。国家铁道部的 12306 网站是交通领域中最为重要、知名度最高的购票网站,其技术架构也是使用 Java 平台下的 SSH 框架开发的。 使用 Java 技术开发的网站涉及到各个领域,但其中用于音乐网站开发的案 例并不多。现有的音乐网站中,多使用 PHP 或 ASP.NET 平台进行开发,而且目 前很少有网站在音频解码方面使用最新的 HTML5 标准,仍然有不少网站使用 Windows 提供的控件或自有的解码控件。这将不利于用户在 Android、iOS 等移 动平台上获得良好的音乐体验。 第二节 开发意义 由于目前 Java 平台技术逐渐成为主流,并且使用 SSH 框架进行 Web 开发的 案例越来越多,在这样的背景下,以设计实现音乐网站为题目学习 SSH 框架具 有非常深刻的意义。 研究 Struts 2.x 框架的 MVC 思想实现及标签库的使用方法,掌握 Hibernate ORM 框架的映射关系维护和加载策略,了解如何使用 Spring 的基本整合配置对 系统架构优化——这将非常有利于加深对 Java 平台技术的深刻理解,并且切实 提升 Web 开发的技术水平。 本音乐网站在页面复用方面达到了很高的复用标准,这为理解软件工程的复 用思想提供了实践经验;通过 JavaScript/HTML5/CSS 和细小的图片素材处理, 实现完全自主原创的音乐播放器,这对开发真正跨平台的流媒体控件有很大帮 助;网站使用码表实现数据字典扩展功能,这实现了设计模式中的开闭原则(对 扩展开放,对修改关闭)。 1
第三节 论文结构 全文共分为技术简介、需求分析、总体设计、详细设计、系统测试、总结与 展望共 6 部分。 其中技术简介部分将对 Java Web 与 SSH 框架进行简要的技术描述;需求分 析部分将主要阐述项目用例;总体设计部分主要讨论接口设计、业务流程等;详 细设计部分将描述数据库建模、功能类设计、页面设计、业务逻辑设计等;功能 测试部分将从测试角度对网站进行评测;总结与展望部分将对系统进行总体评 价,如架构是否合理、效率能否进一步优化、如何应对未知的需求扩展等,同时 也将对目前尚未得以完善的功能进行讨论。 2
第二章 技术简介 本网站主要使用 Java Web(Servlet、JSP、Filter 过滤器、Listener 监听器、 JSTL 标签、JSP 2.0 自定义标签等)技术;在业务逻辑的流程方面使用 Struts 2.x 框架实现 MVC 思想;在数据持久化策略方面使用 Hibernate 框架托管;在系统 架构方面,为了实现更好的可扩展性,使用 Spring 框架进行解耦;网站另外使 用了 AJAX 等新型前台技术。下面将对这些关键技术进行简要介绍。 第一节 Java Web Java 最为核心的部分是 Java SE(Java 2 Platform Standard Edition),多用于 开发 Java Application 类型的程序。而如今 Java 语言在互联网中的应用最为广泛, 市场占有率最高,因而在掌握了 Java SE 的核心内容后,面向 Web 开发时主要使 用的是 Java EE(Java 2 Platform Enterprise Edition),这是 Java Web 的主体所在。 Web 开发领域有两个最为重要的概念:客户端和服务器端。Java 在客户端的 应用有 Java Applet,但是在实际开发场景中使用得比较少;而服务器端的应用却 非常丰富,最常用的如 Servlet 技术、JSP 技术、过滤器、监听器、自定义标签等。 一、Servlet 技术 早在上个世纪末,动态页面生成技术就已经对 Web 开发进行了一次成功的 革命,它节省了大量的人力物力,使得原本投注在静态页面维护工作上的精力可 以用来生产更加高效的页面。动态的 Web 应用程序可以根据客户发送的不同请 求,动态地返回所对应的结果信息。而这种专门用于产生动态页面的程序,我们 称之为 CGI(Common Gateway Interface,公共网关接口)程序。 实现动态输出的 CGI 程序是运行在服务器端的,Java 语言当然可以用来编 写 CGI 程序,但是这种 Java CGI 程序的执行效率非常低下。这是因为要执行一 个这样的 CGI 程序,除了必须在操作系统中启动一个进程之外,还必须在进程 中启动一个 JVM(Java Virtual Machine,Java 虚拟机),然后才能在 JVM 中执行 Java CGI 程序,耗费的系统资源非常大。而作为服务器端的程序,由于数据量往 往很大,执行效率是最值得关注的问题。 为了解决 CGI 的效率问题,Java 推出了 Servlet 规范。Servlet 是一种改进之 后的 CGI,其目的是为了减少系统不断启动进程所消耗的资源,减少对 JVM 不 必要的频繁操作,从而提高程序效率。 Servlet 主要改进的地方有:操作系统当中将只提供唯一的进程和 JVM 就可 以满足 Servlet 运行的要求;如果有多次请求在逻辑上应该返回同一个相同的请 求结果,那么这时候 Servlet 将只加载一个 Java 类;CGI 程序不能直接和 Web 服 3
分享到:
收藏