1、毕业论文 文客久久 本科 毕业论文 (设计 ) 题 目: 基于 JAVA的微博个人主页面设计 学 院: 学生姓名: 专 业: 电子信息工程 班 级: 指导教师: 起 止 日期: 毕业论文 文客久久 基于 JAVA 的微博个人主页面设计 摘要 微型博客,简称微博( Micro-Blog), 是一个基于用户关系的信息分享、传播以及获取平台 ,用户以文字的形式更新信息,并实现即时共享。微博的公开性和即时性使其成为目前发展最为迅猛的互联网业务。 微博诞生时间虽不长,但其发展前景及产生的影响值得探讨。目前微博的 发展,仍存在着盈利模式不清晰、监管难度大、难以保持良久互动性等问题,但其未来的发展潜力仍被看
2、好,即时搜索功能、电子商务功能、手机微博类产品仍可能给微博带来良好的市场前景。而在“微动力”的推动下,新媒体时代的政界、商界以及传统媒体也借势微博产生了更多的新变化。 微博系统 在设计方面采用 B/S 模式 ,同时使用 JSP 和 SSH 框架 技术进行 基本 页面的设计与功能实现 ,后台数据库选用 MySQL 数据库。 本项目开发的核心内容就是实现将微博用户的最新信息即时传递给微博的关注者,让微博用户可以即时的看到你的最新信息,包括用户的个人信 息设置,发布新鲜事,转发好友的新鲜事,评论等功能。 注册用户 能通过广播 找朋友 ,对你喜欢的用户添加关注, 发布 带话题和图片的 消息 , 回复
3、你看到的用户发布的 消息 ,可以给你关注的微博用户 发私信 , 查看个人首页 , 查看回复消息 和 查看私信 等 。 微博的主要特点就是简短写作和快捷发布,实时感和动态感更强。 由于我的课题是基于 JAVA 的微博个人主页面的设计,所以我实现的功能基本上有微博的发布、微博的评论及转发、与其它微博用户的互粉等等。 关键词: JAVA; SNS; SSH 毕业论文 文客久久 Abstract Micro-blog, called micro-Bo (Micro-Blog), is a relationship based on user information-sharing, dissemina
4、tion and access platform, users update information in the form of text and instant sharing. Because of its openness and instantaneity, Micro blog become the fastest growing Internet business. The Micro-blog birth time is not long, but its development prospect and influence should be discussed. At pr
5、esent the development of Micro-blog, there is still not clear, the profit pattern supervision is difficult, difficult to maintain a very long interaction, etc, but their future development potential is still seen as instant search function, e-commerce function, mobile phone Micro-blog products could
6、 still give the Micro-blog bringing good market prospect. And in “the power“ of the promotion, new media times government, business and traditional media also produced more Micro-blog taking advantage of the new changes. Micro-Blog system in design adopts B / S mode, while using the JSP and SSH fram
7、e technology in the basic page design and implementation of function, the background database use MySQL database. The core of the system development is to achieve the latest information of the micro-Bo user instant transfer to micro-Bo concern person, including setting the users personal information
8、, publishing news, forwarding friends , news, comments and other functions. Registered users can find your friends through radio, add attention you like, publish the news with topics or pictures , reply micro blogs, can send personal letter to your concern users, view personal homepage, view reply l
9、etters and check it and so on. The main characteristic of Micro-blog is brief writing and quick publishing, real-time feels and dynamic feels are stronger. Because of my subject is based on a JAVA personal homepage design of Micro-blog, so I realize there are basically the function of Micro-blogs re
10、lease, the Micro-blogs comments and forwarding, and other Micro-blogs user of both powder, etc. Keywords: JAVA; SNS; SSH 毕业论文 文客久久 目录 前言 . 1 第 1 章 基于 JAVA 的微博个人主页面设计的研究 . 2 1.1 项目开发背景 . 2 1.2 国内外研究史 . 2 1.2.1 国外 . 2 1.2.2 国内 . 2 1.3 相关技术介绍 . 3 1.3.1SNS . 3 1.3.2 开源框架整合 SSH 技术 . 3 1.3.3 开发工具 . 5 1.4
11、项目实现意 义 . 5 1.5 论文章节 . 5 1.6 小结 . 6 第 2 章 基于 JAVA 的微博个人主页面设计的需求分析 . 7 2.1 项目可行性分析 . 7 2.1.1 技术可行性分析 . 7 2.1.2 社会经济效益分析 . 7 2.1.3 用户操作可行性分析 . 7 2.1.4 项目主要风险分析 . 7 2.2 项目需求分析 . 7 2.2.1 项目需求 . 7 2.2.2 需求功能用例分析 . 8 2.2.3 总体设计原则 . 10 2.3 小结 . 11 第 3 章 基于 JAVA 的微博个人主页面设计的内容 . 12 3.1 项目体系结构设计 . 12 3.2 类图设计
12、 . 12 3.3 数据库设计 . 13 毕业论文 文客久久 3.4 详细设计 . 14 3.5 小结 . 16 第 4 章 基于 JAVA 的微博个人主页面设计 的实现 . 17 4.1 开发环境配置 . 17 4.2 界面实现 . 19 4.3 项目亮点及关键技术 . 21 4.3.1P0 层 (数据持久化对象层 )的实现 . 21 4.3.2DAO(数据访问对象层 )的实现 . 22 4.3.3Action 层 (业务逻辑层 )的实现 . 22 4.3.4Web 层的实现 . 22 4.4 小结 . 22 第 5 章 基于 JAVA 的微博个人主页面设计的测试 . 23 5.1 测试方案
13、 . 23 5.2 测试结果 . 23 5.3 小结 . 23 小结 . 24 致谢 . 25 参考文献 . 26 毕业论文 文客久久 . 前言 微博,即微 博客 ( MicroBlog)的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过 WEB、 WAP 以及各种客户端组建个人社区,以 140 字左右的文字更新信 息,并实现即时分享。最早也是最著名的微博是美国的 Twitter,根据相关公开数据,截至 2010 年 1 月份,该产品在全球已经拥有 7500 万注册用户。 2009 年 8月份中国最大的 门户网站新浪网 推出 “ 新浪微博 ” 内测版,成为门户网站中第一家提供
14、微博服务的网站,微博正式进入中文上网主流人群视野。 微博最大的特点就是继承化和开放化,你可以通过你的手机、 IM 软件( gtalk、 MSN、QQ、 skype)和外部 API 接口等途径向你的微博发布消息。 国内知名 新媒体 领域研究学者陈永东在国内率先给出了微博的定义:微博是一种通过关注机制分 享简短实时信息的广播式的社交网络平台。其中有五方面的理解: 1.关注机制:可单向可双向 2.简短内容:通常为 140字 3.实时信息:最新实时信息 4.广播式:公开的信息,谁都可以浏览 5.社交网络平台:把微博归为社交网络 微博在 这里有两方面的含义: 首先,相对于强调版面布置的 博客 来说,微博
15、的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低,而且在语言的编排组织上,没有博客那么高。 其次 ,微博开通的多种 API 使得大量的用户可以通过手机、网络等方式来即时更新自己的个人信息 。 毕业论文 文客久久 第 1 章 基于 JAVA的微博个人主页面设计的研究 本章介绍了项目开发的背景,及其国内外研究现状和发展趋势,同时介绍了项目在实现过程中采用的相关技术。 1.1 项目开发背景 近几年来,互联网发展的十分的快速,许多新型的网络媒体以及网络营销工具都应运而生。面对目前网上各路微博,如新浪微博、腾讯微博等,不难发现微博已经变得很流行了,我分析了其流行的原因后,可总
16、结归纳为: 1.简单易用 相对于强调版面布置的博客来说,微博的内容组成只是由简单的只言片语组成,从这个角度来说,对用户的技术要求门槛很低。而且在语言的编排 组织上,没有博客那么高,只需要反映自己的心情,不需要长篇大论,更新起来也方便。 2.人际圈的影响 相对于博客来说,用户的关注属于一种“被动”的关注状态,写出来的内容其传播给的大众也并不确定。而微博的关注则更为主动,只要轻点“ follow”,即表示你愿意接受某位用户的及时更新信息。从这个角度上来说,对于商业推广、明星效应的传播更有研究价值。同时,对于普通人来说,微博的关注友人大多来自事实的生活圈子,用户的一言一行不但起到发泄感情、记录思想的
17、作用,更重要的是维护了人际关系。 3.与 web2.0 相结合 相对于博客 需要组织语言陈述事实或者采取修辞手法来表达心情,微博只言片语“语录体”的即时表达更加符合现代人的生活节奏和习惯。而新技术的运用则使得用户(作者)也更加容易对访问者的留言进行回复,从而养成良好的互动关系。综上所述,微博占据了天时地利人和,想不红都难。 在这个大背景前提下,我准备基于 JAVA 设计微博的个人主页面。 1.2 国内外研究史 1.2.1 国外 2006 年 3 月,博客技术先驱 blogger 创始人埃文威廉姆斯 (Evan Williams)创建的新兴公司 Obvious 推出了大微博服务。在最初阶段,这项
18、服务只是用 于向好友的手机发送文本信息。 Twitter 是 2006年 3 月由 blogger 的创始人威廉姆斯 (Evan Williams)推出的,英文原意为小鸟的叽叽喳喳声,用户能用如发手机短信的数百种工具更新信息。 Twitter 是一个社交网络及微博客服务。用户可以经由 SMS、即时通信、电邮、 Twitter 网站或 Twitter 客户端软件(如 Twitterrific)输入最多 140 字的文字更新, Twitter 被 Alexa 网页流量统计评定为最受欢迎的 50 个网络应用之一。 在 2007 年 5 月,国际间计算总共有 111 个类似 Twitter 的网站。
19、2005 年从校内网起家的王兴,在 2006 年把企业卖给千橡互动后,于 2007 年 5 月创建了饭否网。而腾讯作为一个拥有 4.1 亿 QQ 用户的企业,看着用户对随时随地发布自己状态的强烈需求后,也忍不住尝试了一把, 2007 年 8 月 13 日腾讯滔滔上线。 1.2.2 国内 从 2007 年中国第一家带有微博色彩的饭否网开张,到 2009 年,微博这个全新的名词,以摧枯拉朽的姿态扫荡世界,打败奥巴马、甲流等等名词,成为全世界最流行的词汇。 2009年 7 月中旬开始,国内大批老牌微博产品 (饭否、腾讯滔滔等 )停止运营,一些新 产品开始进毕业论文 文客久久 入人们的视野,像开放的叽
20、歪, 6 月份开放的 Follow5, 7 月份开放的 9911, 8 月份开放的新浪微博,其中 Follow5 在 2009 年 7 月 19 日孙楠大连演唱会上的亮相, 是国内第一次将微博引入大型演艺活动,与 twitter 当年的发展颇有几分神似。 2010 年国内微博迎来来春天,微博像雨后春笋般崛起。四大门户网站均开设微博。根据相关公开数据,截至 2010 年 1 月份,该产品在全球已经拥有 7500 万注册用户。 2011 年上半年,我国微博用户数量从 6331 万增至 1.95 亿,半年增幅高达 208.9%。 微博在网民中的普及率从 13.8%增至 40.2%。从 2010 年底
21、至今,手机微博在网民中的使用率比例从 15.5%上升到 34%。 至今,新浪微博用户数超过 1 亿,得益于抢占了先机,而且在整体的战略执行上也比较彻底到位,所以获得了现在的地位。仅仅两年时间,新浪微博就为新浪生下了一个价值几十亿美金的金蛋。 高校教育平台也随之建立,如腾讯微博校园上的高校新闻哥微博体系的发展,推动了中国教育事业信息化发展的步伐。 2012 年 1 月,据中国互联网络信息中心( CNNIC)报告显示,截至 2011年 12 月底,我国微博用户数达到 2.5 亿,较上一年底增长了 296.0%,网民使用率为 48.7%。微博用一年时间发展成为近一半中国网民使用的重要互联网应用。 有
22、人说, 2010 年是中国的微博元年,那么 2011 年就是中国的微博壮年。 1.3 相关技术介绍 本 项目 主要使用 JSP、 Struts 技术对 项目 进行设计和开发。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回给 客户端 的就是一个 HTML 文本,因此客户端只要有 浏览器 就能浏览。 而且 使用 MySQL 数据库作为后台数据库。 B/S 结构,即 Browser/Server(浏览器 /服务器 )结构,是随着 Internet 技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过 WWW 浏览器实现,一部分事务逻辑在前端
23、实现,但是主要事务逻辑在服务器端实现,形成所谓 3-tier 结构。 1.3.1SNS SNS,全称 Social Networking Services,即社会性网络服务,专指旨在帮助人们建立社会性网络的互联网应用服务。也指社会现有已成熟普及的信息载体,如短信 SMS 服务。 SNS 的另一种常用解释:全称 Social Network Site,即“社交网站”或“社交网”。社会性网络( Social Networking)是指个人之间的关系网络,这种基于社会网络关系系统思想的网站 就是社会性网络网站 (SNS 网站 )。 SNS 也指 Social Network Software,社会性
24、网络软件,是一个采用分布式技术,通俗地说是采用 P2P 技术,构建的下一代基于个人的网络基础软件。 1.3.2 开源框架整合 SSH 技术 Struts 是一种 MVC 的框架,主要实现了视图和控制器的分离,其核心是 web work, 主要分为模型 (Model)、视图 (Viewer)和控制器 (Controller)三部分,其主要的设计理念是通过控制器将表现逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性和可重用性。 为 了能够能够实现视图和控制器的分离,它使用大量的能够截获用户请求的拦截器。当用户发送 HTTP 请求的时候,核心控制器根据用户的请求找到对应的 Action,然后将用户
25、的参数传递给 Action 中对应的处理函数,并按照执行该函数,进行业务逻辑处理。当业务逻辑处理完成后,系统会根据配置文件中指定的结果返回给请求的发出者,返回的结果不仅限于 JSP,也可以是其他的视图,比如文件,图像等。 毕业论文 文客久久 Spring 是一个轻量级 J2EE 框架,实质上是一个 Bean 工场,能够很好地完成对 JavaBeans的管理,使得开发更加便捷,组 织更加合理有效。其最重要的功能是控制反转和面向切面的编程。前者可以使对象摆脱对依赖的查询,框架会主动将对象所关联的依赖注入给对象。后者则有利于实现业务分离,它将核心业务代码从和常规业务代码分离开来,让开发者更加关注于业
26、务的实现。 Spring 框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。 Spring Core Container 是一个用来管理业务组件的 IoC 容器,是 Spring 应用的核心; Spring DAO 和 Spring ORM 不仅提供数据访问的抽象模块,还 集成了对 Hibernate、 JDO 和 iBatis 等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性; Sprnig Web模块提供了 Web 应用的一些抽象封装,可以将 Struts、 Webwork 等
27、Web 框架与 Spring 整合成为适用于自己的解决方案。 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。底层数据库的改变只需要简单地更改初始化配置文件(hibernate.cfg.xml或者 hibernate.properties)即可,不会对应用程序产生影响。 Hibernate有自己的面向对象
28、的查询语言 HQL,而且还是目前应用支最广泛的 O/R 映射工具。 而 SSH 为 Struts+Spring+Hibernate 的一个集成框架,是目前较流行的一种 Web 应用程序开源框架。著名的软件大师 Ralph Johnson 对框架 (Framework)进行了如下的定义:框架是整个系统或系统的一部分的可重用设计,由一组抽象的类及其实例间的相互作用方式组成。目前,市场上出现了一些商业的、开源的基于 J2EE 的应用框架,其中主流的框架技术有:基于 MVC 模式的 Struts 框架和基于 IoC 模式的 Spring 框架以及对象 /关系映射框架 Hibernate等。 集成 SS
29、H 框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的 Web 应用程序。其中使用Struts作 为系统的整体基础架构,负责 MVC的分离,在 Struts框架的模型部分,利用 Hibernate框架对持久层提供支持,业务层用 Spring 支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,并给出Hibernate 的 DAO 实现,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 Sp
30、ring 完成业务逻辑。 系统的基本业务流程是: 1.向服务器发送 search.do; 2.服务器会到 web.xml 里看看有 没有匹配 search.do,一般你是配 *.do; 3.这里服务器就会找到 ActionServlet; 4.ActionServlet 就会用 ActionForm 收集表单数据 ,然后交给查询的 Action, 叫search.java; 5.search.java 就会调用 Service 层的 search 方法 ; 6.Service 拿到传过来的参数或对象 (一般 dto),在这个方法调用前 Spring 就开启好事务 ; 7.Service 调用多
31、个或一个 DAO 完成操作 ,由 DAO 查询数据库,如果逻辑复杂才加 Model毕业论文 文客久久 层 ; 8.Service 中的 search 完好完成 , Spring 就关闭事务 ,否则回滚 ; 9.search.java 完成这个操作后就转向到你所配的 url; 10.JSP 里接收返回来的数据 。 采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。 1.3.
32、3 开发工具 1.服务器系统采用 Win7;应用服务器采 用免费的应用服务器资源 Tomcat 6.0,开发工具采用 MyEclipse 9.0。因为 MyEclipse 是完全开源的 Java 开发工具,提供了一个可视化的开发集成环境,可以方便地开发纯 Java 应用程序, Applet, JavaBeans 以及兼容 J2EE 的分布式的企业应用,而且可以免费得到,并可以在此基础上开发各自的插件。 2. StarUML:面向对象的统一建模语言的可视化建模工具 。 3. MySQL:建立系统后台数据库。 1.4项目实现意义 微博的魅力,在于传递更在于分享,中国人似乎从来都缺少表达权和 话语权
33、,尤其是平民。个人的想法和抱怨往往只能在小范围内得到一定的传播,至多便是被当地的新闻机构所报道。主流话语权被政府和媒体所控制,所谓的 “ 民间的声音 ” 往往都是 “ 被代表 ” 和 “ 被表达 ” ,人们真正的想法却无从发泄。然而在这个人人渴望表达和话语权的年代,博客的出现恰恰为人们提供了一个合理表达和发泄的平台,而微博则更进一步使人人都有了被关注的可能。用户用 140 个以内的字来发布信息,有鸡毛蒜皮的琐碎的生活细节,有及时更新的新闻资讯,有个人的心情思想感悟,有对最近新闻热点的自我评述,所用的语言也更加诙谐幽默和生活化。 只 要你把自身的状态表达出来,就有可能被成千上万人看到,有人跟帖回
34、复分享一方面是一种信息的扩散,另一方面也从别人的跟帖回复中获取资源,微博的这一文化的交互式传播更像是一张网为世界带来了一个“人人能发声、人人都可能被关注的时代”,这也许就是微博能在国内甚至全世界迅速走红的最重要原因。 1.5 论文章节 本论文分为七章。 第 1 章 阐述了本论文研究项目的开发背景;讨论了该项目国内外的研究现状和发展趋势;分析了项目应用到的技术与其应用特点;提出了本论文的主要研究内容、开发工具和实现意义。 第 2 章 对本项目进行了可行性 分析和需求分析,设计了项目各个模块的用例,并对每个用例进行了详细的描述。 第 3 章 对本项目进行了分析和设计,在需求分析的基础上就项目体系结构、项目类结构设计、数据库设计、项目详细设计四个个方面进行了项目设计。 第 4 章 对本项目的实现进行了展示,主要包括项目结构,视图层、控制层和持久层三个层次的实现,以及项目的关键技术点。 第 5章 对基于 JAVA的微博个人主页面设计进行了测试,包括单元测试和整体模块测试、以及功能性测试等。