J2ee课程设计报告--基于SSH的个人博客系统.doc_第1页
J2ee课程设计报告--基于SSH的个人博客系统.doc_第2页
J2ee课程设计报告--基于SSH的个人博客系统.doc_第3页
J2ee课程设计报告--基于SSH的个人博客系统.doc_第4页
J2ee课程设计报告--基于SSH的个人博客系统.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

J2EE基于SSH的个人博客系统课程设计J2EE企业级应用开发课程设计报告基于SSH的个人博客系统学 号88888888姓 名99999班 级88888指导教师kkkkkkk安徽工业大学工商学院2013年12月目录1 引言22 系统分析32.1 需求分析32.1.1 功能需求分析32.1.2 可行性分析42.2 开发工具简介42.2.1 MyEclipse 8.642.2.2 MySQL 5.142.2.3 Tomcat 6.043 系统设计63.1 总体设计原则63.2 架构概述63.3 系统模块设计63.4数据库结构设计64 系统实现84.1 系统的开发环境84.2 登录模块的实现84.2.1 功能描述84.2.2 模块实现84.3 博文管理模块实现104.3.1 功能描述104.3.2 模块实现104.3.3 分类管理模块实现114.3.4 用户管理模块实现114.3.5 评论管理模块实现124.3.6 首页管理模块实现134.3.7 其它功能模块实现13-155 总结与展望156 参考文献161 引言现在越来越多的人都拥有了自己的私人博客,而且很多公司,单位也都有自己的博客,在这些博客中每个都有自己独立的特点,都有自己的风格,为自身树立了一个与众不同的形象,博客也变得越来越普遍,它逐渐成为一个随时可以记录自己以及身边发生的一切的地方,在这里可以发表自己的观点,谈自己的想法,也可以和别人交流,学习到更多东西,研究博客具有很大的价值博客代表着新的生活方式和新的工作方式,更代表着新的学习方式。通过博客,让自己学到很多,让别人学到更多。在网络上发表Blog的构想始于1998年,但到了2000年才真正开始流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。 博客正在改变社会交流方式。2 系统分析2.1 需求分析2.1.1 功能需求分析登录个人博客个人发表过的博客个人分类管理分类信息博 客 管 理外部实体(人或部门)数据处理数据存储数据流向评论管理评论信息注册新用户用户信息图 2-1 系统数据流程图注册新用户没有博客账号的用户,可以通过此功能注册一个新的博客。用户登录用户填写正确的用户名和密码,否则提示相应信息。博客管理用户登录博客后,可以发表属于自己的博文,还能对发表的博文进行管理,包括编辑、删除等。分类管理用户可以为博文添加自己喜欢的分类,还能对已添加的分类进行编辑、删除等操作!评论管理用户登录博客后,可以对自己感兴趣的其他人的博文进行评论,当然,对于其他人对自己博文的评论,用户可以删除。退出用户操作完毕后,点击退出,将重新返回登录页面!2.1.2 可行性分析(1) 技术可行性:(2) 经济可行性:(3) 法律可行性:(4) 社会可行性:(5) 操作可行性2.2 开发工具简介该系统的后台主要是在MyEclipse 8.6中开发完成的,其中数据库使用的是MySQL 5.1,为了更好地操作数据库进行Windows图形化界面的数据库操作工具,服务器使用Tomcat 6.0。2.2.1 MyEclipse 8.6MyEclipse3,是一个十分优秀的用于开发Java,Java EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错,如图2-2所示。图 2-2 MyEclipse 8.6它是功能丰富的Java EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts2,JSP,CSS,JavaScript,Spring,MySQL,Hibernate。2.2.2 MySQL 5.1MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。2.2.3 Tomcat 6.0Tomcat5是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。是目前比较流行的Web 应用服务器,如图2-4所示。图 2-4 Tomcat 6.0 5 / 17J2EE基于SSH的个人博客系统课程设计3 系统设计系统设计主要对系统的总体功能如何设计,如何划分模块,系统的数据库如何设计进行研究,它为系统的实现做铺垫。在系统的设计过程中起着非常重要的作用。3.1 总体设计原则(1) 开放性、可扩充性、可靠性原则(2) 安全性原则(3) 良好的用户操作界面(4) 实用性原则3.2 架构概述本项目涉及关系数据库理论的规范化,以解决函数依赖和数据依赖问题。整个系统基于SSH(Struts2 + Spring + Hibernate)技术10,不但可以有效提高系统开发效率,而且在系统安全性、稳定性和健壮性上都有良好的改进。表现层使用了Struts2框架11,实现了视图控制分离。业务层使用了Spring框架12。Spring是一个业务层框架,一个整合的框架,能够很好地黏合表示层与持久层。Hibernate框架13是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate的强大缓存机制能一定程度上的缓解服务器端频繁读取数据库的压力,这也是Hibernate被广泛使用的重要原因之一。3.3 系统模块设计(1) 根据第2章的功能需求分析用户模块用例图,如图3-1所示。图 3-1用户模块用例图3.4数据库结构设计用户表:记录用户名和密码,用于管理员的登录。博文表:记录发表过博文的一些属性:如博文名和发布日期等。分类表:记录博文所属分类的表,包括分类名,用户ID等属性。评论表:记录用户对博文所发评论的表,包括评论内容,评论日期等属性。3.4.1 数据库的设计数据库的概念设计15,即利用数据模型进行概念数据库的模式设计。根据个人博客管理系统的需求,设计出以下的实体-属性模型图。(1) 用户实体-属性如图3-8所示。用户名用户用户ID用户密码图 3-8 用户实体-属性图(2) 博文实体-属性如图3-9所示。博文内容博文发布日期分类ID博文ID博文标题用户ID图 3-9 博文实体-属性图(3) 评论实体-属性如图3-10所示。评论博文标题评论时间评论内容评论ID评论标题评论人图 3-10 评论实体-属性图(4) 分类实体-属性如图3-11所示。分类等级分类用户ID分类ID分类名图 3-11 分类实体-属性图4 系统实现4.1 系统的开发环境(1) 服务器端: 操作系统平台:Windows 系统开发平台:Java EE; Web服务器:Tomcat 6.0; 数据库:MySQL 5.1; 开发语言:Java、HTML、JavaScript。(2) 客户端: 操作系统:Windows、 浏览器:IE。4.2 登录模块的实现4.2.1 功能描述 个人博客管理系统的用户登录模块,可以实现用户的安全登录,其中Radio Button和Submit按钮均是采用JQuery UI中的主题。使用HTML5的required进行客户端数据的验证。其中用户的密码不是直接传送到服务器上的,而是经过浏览器JavaScript17的MD5加密再上传至服务器,目的是为了防止用户密码的明文被截获而造成用户账号的安全问题。该登录模块实现了国际化。 4.2.2 模块实现 如图4-1所示,为程序运行时,用户登录个人博客管理系统的截图: 图 4-1 用户登录图10用户登录流程如图4-2所示。在数据库中查找该用户ID登录页面用户ID和密码空?用户ID存在?密码正确?登录成功提示用户是是否是是否否图 4-2 用户登录流程图用户登录代码片段如下所示。ApplicationContext wctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext(); IUserDao userDao = (IUserDao)wctx.getBean(userDao); response.setContentType(text/html;charset=UTF-8); PrintWriter out = response.getWriter(); String userName = request.getParameter(userName); userName = URLDecoder.decode(userName,UTF-8); if(userName = null | userName.length() = 0) out.println(用户名不能为空); else User user = userDao.getUserByName(userName); if(user != null) out.println(对不起,您输入的用户名     + userName +     已经存在,请从新输入); else out.println(恭喜,您输入的用户名    + userName +     不存在,你可以注册!); 4.3 博文管理模块实现4.3.1 功能描述博客管理模块主要包含以下几个功能模块:编辑博文、删除博文、添加博文。4.3.2 模块实现博客管理模块如图4-3所示。图 4-3 博客管理模块4.3.3 分类管理模块实现单击“分类管理”,用户可以对博客的分类进行编辑、删除和添加,如下图所示,用户执行分类管理操作。图 4-4 编辑博文分类图 4-5 分类管理4.3.4 用户管理模块实现博客系统秉着公平的原则,一旦用户注册以后,将不能再修改用户名,本系统提供了修改用户密码、修改每页显示博文信息数、修改每页显示评论数等功能。 图 4-6修改用户资料图 4-7修改用户密码4.3.5 评论管理模块实现单击评论管理,用户可以对自己的评论内容进行管理,包括添加评论,删除评论等。图 4-8 评论管理图 4-9 发表评论4.3.6 首页管理模块实现博客的首页给人一种简洁舒服的感觉,并且实现了国际化和文字滚动效果,用户可以不用登陆,直接搜索其他人的博客进行观看,也可以直接从下方滚动的账号中选择一个观看。图 4-10 首页管理4.3.7 其它功能模块实现用户密码修改流程如4-11所示。原始密码是否正确?开始输入原来的密码,修改密码和确认密码修改密码是否等于确认密码?确定?输出密码修改成功!结束否否是是是否图 4-11 管理员密码修改当用户单击“退出”时,用户则安全退出了管理模块,同时系统销毁所有的Session。用户注销代码片段如下所示。private User user;private Map session;public String execute() throws Exception user = (User)session.get(SESSION_USER);session.remove(SESSION_USER);return SUCCESS; 16 / 17-5 总结与展望本次的系统设计在历经了两个多月后终于结束了,在这次的实验中我有了很深刻的体会,无论是在知识技术方面还是个人自身素质的培养等方面都有 了更新的认识。这次的实验过程中有悲有喜,虽然在此之前做过了课程设计,熟悉了系统开发的流程,但在这次的实验中还是碰到了很多的问题。经过近两个月的辛苦忙碌,我的系统设计终于完成了,通过这次系统设计我感觉到了要想做好一个好的“个人博客管理系统”是多么的不容易。先要确立好网站的主题风格,然后就是收集素材,接着就是规划好网站的各个模块,最后就是使他们更好的连接在一起形成一个有机整体。在这次系统设计中,我熟练的掌握了MyEclips

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论