1、第 I 页本科毕业论文(20 届)E 品书香网站建设所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期第 II 页摘 要随着网络技术的不断发展。人们对于网络有了越来越多的要求Ebay,阿里巴巴,淘宝的出现,让电子商务重现曙光,google,baidu 的 出现,让人们通过网络进行信息检索,获取到有效信息的途径更加丰富。电子读物也是在网络产业中一枝独秀,如起点中文网,天下电子书等,许多人都走向了网络作家这个方向,而电子书网站正式为广大的爱好电子读物的人们提供了交流与共享的平台。 E 品书香网站基于电子读物资源共享、用户之间互动的功能,在开发设计中,采用 B/S(Browser/Serve
2、r) ,这种结构使得数据结果集合在浏览器中显示,数据的处理在服务器进行,用户只需要一个浏览器就可以遨游于使用本系统了了。数据库方面,业界具有常用的关系数据库管理系统 Mysql,使系统安全性能更高。同时采用当前正在流行的 J2EE 技术开发,采用 jsp 用户界面更加的友好简单易操作。当今论坛的界面设计非常的炫耀富丽,用户体验非常的良好,主要要到了 jquery 这个流行的 JavaScript 框架。在开发中选择了 struts2+spring+hibernate(SSH)三大框架,dao 层+service 层+action 层+view 显示层的 mvc 分层的开发模式,实现了应用程序逻
3、辑和页面显示分离,界面设计更简单。关键词:java;web;mysql ;电子书,社交,SSH,MVC,JavaSricpt, JqueryAbstractWith the continuous development of network technology. requirements for network has been increasing. Ebay, alibaba, taobao occurrence, let the electronic commerce recreate popular, Google, the emergence of baidu, let peopl
4、e through the network for information retrieval, obtain the effective ways of more abundant information rich. Of course,ebooks is most popular in the network ,such Qiandian , The Book Sky and so on.More and more people get to be netwriter.So the net of ebook is provide a plat for these men who like
5、to read ebook or to write ebook. When the E Book Home bases on sharing resource and users can communicate to each other. In the development of design, adopts B/S (is clicked/Server) structure, this kind of structure allows data only result sets in the Browser display, data processing in Server, user
6、s need not install client, and because by the Server unified management data, easy to ensure the consistency of the data. Database, recommend industry of the leading relational database management system, the system Mysql safety performance is higher. By adopting the JSP, popular web Server (Java) p
7、rogramming, are more 第 III 页friendly user interface currently.In developing chose JSP + JavaBean + Mysql model, realized the application logic and page shows the separation, interface design more simple. JavaBean reusable software component meet, and meanwhile make small application programmer input
8、s, energy and reusable components, in simple applications to consider.Keyword: java ,ebook, sns,struts2,spring,hibernate,B/S,JSP,JavaBean,ssh,mvc, JavaScript,jquery.第 IV 页目录1 系统概述 .11.1 课题的目的和意义 .11.2 国内现状分析 .11.3 开发环境简介 .12 可行性研究与需求分析 .22.1 可行性研究 .22.1.1 技术可行性 .22.1.2 经济可行性 .22.1.3 运行可行性 .22.2 需求分析
9、 .22.2.1 系统需求 .32.2.2 性能需求 .32.2.3 应用需求分析 .32.2.4其他需求分析 .33 实现技术简介 .43.1 Html5+Css3.0+Javascript简介 .43.2 Ajax和 JSON.43.3 JSP技术简介 .43.4 Struts+Spring+Hiberate技术 .53.4.1 Struts2.x技术 .53.4.2 spring技术 .63.4.3.hibernate技术 .64 系统的概要设计 .74.1 项目的功能概述 .74.2数据库概要设计 .134.3文件结构 .155 项目的详细设计 .165.1项目架构图 .165.2项目
10、 AJAX的请求 .175.3项目功能模块的详细实现 .175.4数据表库的详细设计 .235 总结 .27参考文献 .28致谢 .29第 5 页1 系统概述1.1 课题的目的和意义随着互联网和宽带上网的普及,娱乐性的网站也是在 IT 领域占有极大的比例,并日益渗透到人们的日常生活中。如书籍的在线阅读,对于闲暇时候,看看书陶冶情操的时候,无需去拿着一本厚厚的笨重的书籍走来走去,一个移动设备及可以满足我们的需要。电子书网站是运用现代通信技术、计算机和网络技术进行的一种社会形态,其目的是通过互联网共享知识资源,从而实现社会财富的最大化利用。在 E 品书香的网站中,涉及书籍资源的提供,查询,以及供用
11、户的阅读,同时网站提供了会员模式,用户可以注册网站的会员,然后可以对网站的书籍做一些评价,并且可以和其他用户在论坛里进行交流。本课题所研究的 E 品书香网站主要是为个人提供电子读物的搜索,阅读和用户之间交流 的一个平台,从而给个人带来方便。课题目标是设计并实现一个 B/S 体系结构的电子书资源提供网站。结合实践,加强网页开发技术和数据库方面知识,学习相关开发工具和应用软件,体验网站建设的过程,熟练掌握网络数据库编程方法。1.2 国内现状分析现在我国的信息管理水平还比较落后,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代传统的管理方法必然被计算机为基础的信息管理所取代。
12、软件作为一项有力的工具,只能当此种工具,与我们的实践相结合起来的时候,才具有重大的社会价值及使用价值。因此根据目前实际的情况开发这样一套管理系统是十分必要的。随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机进行管理,具有着手工管理所无法比拟的优点。例如:可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高工作的效率,也是信息正规化管理与世界接轨的重要条件。1.3 开发环境简介本项目开发工具及版本如下:Eclipse,jdk6.0,mysql5.6,Tomcat6
13、.0,struts2,spring3.0,hibernate3.6 final,在 window7 系统平台进行项目的开发,调试,与运行。本系统用时下流行的 javaweb 开发框架 SSH(Spring+Struts+Hibernate)进行开发,数据库采用轻巧稳定的 MySql,界面使用 jsp 实现。本论文主要涉及软件,数据库与网络技术等。涵盖知识面广,可有效地提高综合运用所学知识分析解决问题的能力,增强对事物的理解与掌握能力,掌握科学的研究方法,正确的设计思想,独立思考,勇于进取,探索创新,为今后进一步学习与工作奠定了良好的基础。第 6 页2 可行性研究与需求分析2.1 可行性研究2.
14、1.1 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是 SSH 框架开发,主打语言是 JAVA,由于框架对一些复用的代码做了很好的封装,并且提供了友好的 API,所以上手较快,开发效率也大大提高,采用流行的开发 IDE: Eclipse,对开发调试都有很好的支持,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。2.1.2 经济可行性 开发该系统所需的相关资料可以通过已存在的相关系统进
15、行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。2.1.3 运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。2.1.4 法律可行性 所有技术资料都为合法。 开发过程中不存在知识产权问题。 未抄袭任何系统,不存在侵犯版权问题。 开发过程中未涉及任何法律责任。2.2 需求分析需求分析是软件设计的一个重要的
16、环节。本阶段对系统管理系统的应用情况作全面调查,以确定系统目标。确定用户的需求。用户对系统的需求我们从以下几方面进行分第 7 页析。2.2.1 系统需求用 JSP 开发系统管理系统基于 B/S 模式,系统软件和数据集中存放于服务器中,软件的安装与升级在服务器上进行。所有的工作基于浏览器,安装、使用、维护、升级十分简单。2.2.2 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行。系统处理的准确性和及时性是系统的必要性能。由于本系统的添加功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,其准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证
17、系统的准确性和及时性。2.2.3 应用需求分析(表 2-1)系统需求硬件分析硬件 处理器:Intel 酷睿 i3内存:512M 或更大硬盘:20G 或更大服务器软件 Microsoft Windows XP 或以上硬件 无特殊要求客户机软件 Microsoft Windows XP系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。 硬件系统环境:C600、1G MB(RAM) 、500MB(HD) 。系统运行时对数据的保密性要求不高对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。2.2.4其他需求分析本系统有较好的可维护性、
18、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(经费、时间、可用的软、硬件资源等) ,使上述各方面最大限度的得到满足。第 8 页3 实现技术简介本系统开发使用了主流的 javaweb 开发技术,该系统核心开发部分Sturts+Spring+Hibernate,用户视图使用的是 jsp 做数据处理,使用 ajax 异步使用后台的数据到传输到视图层,并用 Html5.0+CSS3.0+javascript 对视图进行了修饰。数据的存储使用的是 mysql 数据
19、库。3.1 Html5+Css3.0+Javascript简介2012 年 12 月 17 日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5 规范已经正式定稿。根据 W3C 的发言稿称:“HTML5 是开放的 Web 网络平台的奠基石。到现在 html5 技术已经成熟,并在许多网站得以使用。Html5 相比 html4 有了更好的扩展,而且比之前的 html 语言要简练好用,增加了许多新的标签。同时也将一部分常用的 javascript 的交互操作进行了封装。用 html5.0 生成的页面,具有更好的效果。配合上 CSS3.0 的使用更是如虎添翼。在页面开发占据了重要的地位
20、。目前许多浏览器厂商都兼容 html 这种语言,html5 还支持移动的 app 开发。所以通过这次使用 html5 开发页面,着实加深了对 html 的掌握。页面的交互使用了 jQuery,jQuery 是用 javascript 开发的一个框架。使用 jQuery我们无须操心浏览器的兼容问题。jQuery 在浏览器兼容方面有了很好的支持,而且jQuery 语法简单,优雅简洁。可以使我们更好的维护前端部分。3.2 Ajax和 JSONAjax 并不是一门单一的技术,而是将多技术融合形成的一种数据处理方式,通过ajax 可以实现视图的局部更新。是的页面数据显示更加灵活。而对于 javascri
21、pt 一下简称 js 来说,ajax 从服务器请求到的数据时经过 js 做处理的。Js 可以处理xml,JSON,但是 JSON 成了本项目的 ajax 操作的数据传输格式。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式。js 操作 JSON 也是非常简单的,相对于 XMl,JSON 更易于 js 解码。3.3 JSP技术简介JSP(Java Server Page 服务器网页)
22、是从 1998 年开始出现的新技术。由 Sun 公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于 JavaServlet 以及整个Java 体系的 web 开发技术。在传统的网页 HTML 文件(*.htm,*.html)中加入脚本片段和JSP 标记(Tag),构成 JSP 网页(*.jsp)。JSP 技术为创建显示动态生成内容的 web 页面提供了简便的方法。JSP 作为 Java 家族的一员,承袭了 Java 的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用 JSP 作为网络应用程序的开发工具,而在国内,尽管 JSP 还第 9 页不是主流开发技术,但是由于
23、JSP 的强大优势,许多网站都已经准备转向 JSP,利用 JSP来开发动态网站。 本系统使用通过使用 jsp 对将后台处理过的数据进行格式化后给用户显示,是视图(view)核心部分。3.4 Struts+Spring+Hiberate技术本项目的服务端是在 Struts+Spring+Hiberate 这三大框架的基础上进行的开发的。对于 javaweb 的开发,这三大框架式目前开发领域比较流行,也是比较的经典和比较成熟的技术。3.4.1 Struts2.x技术Struts 是建立在 MVC 这种公认的好的模式上的,Struts 在 M、V 和 C 上都有涉及,但它主要是提供一个好的控制器和一
24、套定制的标签库上,也就是说它的着力点在 C 和 V上,因此,它天生就有 MVC 所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性和可伸缩性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;其次,它是个开源项目得到了包括它的发明者 Craig R.McClanahan在内的一些程序大师和高手持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善;最后,是它对其他技术和框架显示出很好的融合性。Struts可以规范程序员的行为 Struts 是对 MVC2 模型的实现,下图是 spring 的基本原理:S t r u t s P r e p
25、 a r e A n d E x e c u t e F i l t e rR e u l s tA c t i o nJ S P / h t m lI n t e r c e p t o r用户请求S t r u t s 2 内置拦截器用户编写的Ac ti on 类F o rw a rd对应的映射视图3.4.2 spring技术Spring 框架对于在 java 开发领域是一个并不陌生的框架,是一款优秀的组件管理框架,其框架有着如下特点:1、spring 能简化企业级开发, spring 可以用简单的 java bean 来代替实现复杂的图 3-1 struts 流程图第 10 页EJB。
26、2、spring 是一个轻量级的 IOC 和 AOP 框架,可以 spring 的 IOC 实现松耦合,而作为一个 AOP 框架他又能分离系统服务,实现内聚开发 。3、spring 是非侵入式,基于 spring 的系统可以不依赖于 spring 的类。良好的 spring 运用可以使程序代码清晰,容易维护,容易测试。使用 Spring 可以避免 factory 和 siglton 的泛滥 ,Spring 的 IOC 容器通过配置文件,帮我们将业务逻辑类对象和依赖于它的对象全部实例化 ,不用我们去手工 new 对象,不仅降低了耦合性,而且使得程序员可以更关注于业务逻辑的实现。数据操作层和业务逻
27、辑层用 spring 管理,因为这些包含到事务注入以及以后的扩展,pojo 如果仅仅是用来传值,也不会在上边做什么改动的,则不用放在 spring 容器里好了. 同理 ,业务对象和持久层加以来让 Spring管理,这样可以使用 Spring 的事务支持,简单的 pojo,只充当 dto 功能的,不存在状态改变的,就不需要让 Spring 来管理了 DAO 模式需要为每个 DAO 组件编写 DAO 接口,同时至少提供一个实现类,根据不同需要,可能有多个实现类。用 Spring 容器代替 DAO 工厂。通常情况下,引入接口就不可避免需要引入工厂来负责 DAO 组件的生成。Spring 实现了两种基
28、本模式:单态模式和工厂模式。而使用 Spring 可以完全避免使用工厂模式,因为Spring 就是个功能非常强大的工厂。因此,完全可以让 Spring 充当 DAO 工厂。由 Spring 充当 DAO 工厂时,无须程序员自己实现工厂模式,只需要将 DAO 组件配置在 Spring 容器中,由 ApplicationContext 负责管理 DAO 组件的创建即可。借助于Spring 提供的依赖注入,其他组件甚至不用访问工厂,一样可以直接使用 DAO 实例。3.4.3.hibernate技术Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得
29、 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的J2EE 架构中取代 CMP,完成数据持久化的重任.这样我们就可以专注在业务逻辑代码中了。采用 Hibernate 作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。这样更加方便清晰地处理业务逻辑,更多的精力放在处理逻辑的上面。4系统的概要设计系统的概要设计是在系统分析的基础上由抽象到具体的过程。主要包括系统设计、数据库的需求分析以及网站的整体设计三大块。系统设计主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机运行环境的具体方案,进行系统的概要设计,为下一阶段系统详细设计提供必要的技术资料。