毕业设计(论文)-个人博客网站设计的设计与实现.doc_第1页
毕业设计(论文)-个人博客网站设计的设计与实现.doc_第2页
毕业设计(论文)-个人博客网站设计的设计与实现.doc_第3页
毕业设计(论文)-个人博客网站设计的设计与实现.doc_第4页
毕业设计(论文)-个人博客网站设计的设计与实现.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

华科学院HUAKE INSTITUTE OF TAIYUAN UNIVERSITY OF SCIENCE & TECHNOLOGY全套设计加扣 3012250582 毕业设计(论文)题目:个人博客网站的设计与实现学 生 姓 名 学 号 班 级 计算机102201H 所属院(系) 计算机科学与技术系指 导 教 师 2014 年 5 月 20 日太原科技大学华科学院毕业设计(论文)任务书专业:计算机科学与技术系 时间: 2014年 3 月 4 日学 生 姓 名指 导 教 师设计(论文)题目个人博客网站的设计与实现主要研究内容1.Java面向对象程序设计2.JavaEE企业开发方式以及相关技术3.OA的核心概念以及Java平台的实现研究方法按照软件开发CMM标准实施,具体包括,需求分析、体系结构设计、模块设计、数据库设计等相关设计。主要技术指标(或研究目标)JavaEE企业核心技术(servlet、jsp、jdbc、框架ssh、工作流引擎jbmp)主要参考文献1.实践者的研究方法 (美)普雷斯曼 2.Java Web整合开发王者归来 刘京华3.JavaScript权威指南 (美)弗兰纳根4.Java与模式 闫宏 5.HTML+CSS网页设计与布局从入门到精通 温谦太原科技大学华科学院毕业设计(论文)个人博客网站的设计与实现摘要在这个变化的时代,随着我国经济的发展和科技的提高,人民生活质量的提高,我国拥有的电脑的数量越来越多,同时,在互联网上交流、学习、工作的人越来越多,并且我们可以肯定的是:在我国,电脑会越来越流行,成为人们生活中不可缺少的一部分。鉴于此种情况,开发一个好的博客系统,以满足人们网上交流的需要,是必须的。大量的网络用户通过博客,可以与不同的用户交流,并且可以把自己喜欢的照片、文章等发送到网上,供人们浏览。 课题目标是设计并实现一个博客网站。本系统基于B/S架构进行设计,采用当前流行的Java技术进行开发,后台数据存储采用SQL Server 2005数据库存储数据。根据当前的开发技术规范,将程序结构分为三个层次,即:控制层、模型层和视图层。关键词:博客系统,互联网,系统设计The design and implementation of a personal blogAbstractIn this changeable time, following the development of Chinas economic and technoleg, the number of computer which our Chinese hava is more and more plenty: Study-online, work-online and so on is more and more popularity in our nation. It is no doubt that computers perspective, as we all know, is brighter and brighter. It is necessary that hava a computer to help our doing things in our reality life. And one people who hava little known about computer is out-data. So it is a good way that build a blog website to help people communicate with others. More and more people can use the blog website commumicate with different people, they can send both photos and articles which they are like to Internet, let users of computer to view.The topic goal is designs and realizes a blog website. The system is based on B / S architecture design, using the popular Java technology development, background data is stored using SQL Server 2005 database to store data. Based on the current development of technical specifications, the program structure is divided into three levels, namely: presentation layer, logic layer and persistence layer.Key Words: Blog websiteInternetSystem designII太原科技大学华科学院毕业设计(论文)III目 录第1章 系统概述11.1 系统开发背景11.2 项目开发的环境21.2.1 硬件环境21.2.2 软件环境21.3 技术介绍及开发工具21.3.1 MyEclipse21.3.2 Sqlserver200521.3.3 Tomcat21.4 任务概述2第2章 系统需求分析42.1 系统实现的基本功能42.2 数据库设计52.2.1数据库概念结构设计52.2.2数据库逻辑结构设计62.2.3数据库物理设计6第3章 系统总体设计93.1 系统结构93.2 模块9第4章 系统详细设计和实现104.1 人机界面设计104.1.1 个人博客网站首页104.1.2 后台管理员登陆114.1.3用户注册114.1.4 心情日记124.1.5 留言板124.1.6 后台管理员界面134.2 技术介绍13 4.2.1 SSH框架的整合134.2.2 POI194.2.3 AJAX技术204.2.4 JavaScipt技术224.2.5 JQuery技术234.2.6 JavaEE234.2.7 增删改查的实现23第5章 软件测试275.1 测试的基本概念275.2 测试的任务和目的275.2.1 测试的任务275.2.2 测试的目的285.3 系统整体测试步骤285.4 本系统测试285.4.1 用户登录注册模块测试275.4.2 浏览日志模块测试295.5 本章小结30结论32致谢33参考文献34附录35II1第一章 系统概述1.1 系统开发背景当前面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以借助于搜索引擎到达自己想去的网上任何一个地方,为了满足不同人们对网路需求,各种特色,各种主题的网站也在不断增加,为了满足博客爱好者的需求,一批以博客为主题的网站也应运而生。当今社会是一个飞速发展的社会,人们每天快节奏的生活要想忙中偷闲的放松一下或许就只有博客,如今网络已渗入人们的生活,网络已成为信息传播的一大媒介,可以说网络资源的获取已逐步改变了人们以往的生活方式,网络已成为人们日常工作,休闲的主要工具之一。我选择的课题是博客网站的设计与实现,正是互联网与社会生活之间的紧密联系的体现。博客永远都是无国界的,博客通过网络这个媒介更多的进入人们的日常工作休闲中,随着网络技术的日趋成熟和普及,各类网站如雨后春笋般出现在互联网上,博客网站模式,它突破了传统博客的制作方法和传播模式的局限,更加贴近人们的生活。Blog是一个网页,通常由简短且经常更新的帖子构成,这些帖子一般是按照年份和日期倒序排列的。而作为Blog的内容,它可以是你纯粹个人的想法和心得,包括你对时事新闻的个人看法,或者你对一日三餐、服饰打扮的精心料理等,也可以是在基于某一主题的情况下或是在某一共同领域内由一群人集体创作的内容。它并不等同于“网络日记”。作为网络日记是带有很明显的私人性质的,而Blog则是私人性和公共性的有效结合,它绝不仅仅是纯粹个人思想的表达和日常琐事的记录,它所提供的内容可以用来进行交流和为他人提供帮助,是可以包容整个互联网的,具有极高的共享精神和价值。一个Blog就是一个网页,它通常是由简短且经常更新的Post所构成;这些张贴的文章都按照年份和日期排列。Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文。许多Blogs是个人心中所想之事情的发表,其他Blogs则是一群人基于某个特定主题或共同利益领域的集体创作。简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。1.2 项目开发的环境1.2.1 硬件环境酷睿处理器,2GB以上内存容量。1.2.2 软件环境Microsoft Windows7操作系统,Sqlserver2005数据库,MyEclipse8.5开发工具,服务器采用Tomcat 6.0.32。1.3 技术介绍及开发工具本系统采用Java语言,基于JavaEE企业级开发,前台采用用HTML,JavaScript,CSS,JQuery技术得到页面,后台用JQuery框架实现与数据库的交互,数据库采用Sqlserver2005,选用 Hibernate框架实现访问数据库,并用Spring框架来管理整个开发过程。1.3.1 MyEclipseMyEclipse,是一个十分优秀的用于开发Java, JavaEE的Eclipse插件集合。利用它我们可以在数据库和JavaEE的开发,他有着功能丰富的JavaEE集成开发环境,包括了详细完备的编码功能、调试功能、测试功能和发布功能,完整支持HTML,Struts,JSP,CSS,JavaScript,Spring,SQL,Hibernate。在本设计中用MyEclipse作为开发工具的角色出现。1.3.2 Sqlserver2005SQL Server 2005是一个提供了联机事务处理、数据仓库、电子商务应用的数据库和数据分析平台。数据库是数据和数据对象大的容器。数据库对象就是存储、管理和使用数据的不同机构形式,设计数据库的过程实际上就是设计和实现数据库对象的过程。1.3.3 TomcatTomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。本设计中,Tomcat是作为服务器的角色出现的,利用Tomcat来响应HTML页面的请求。1.4 任务概述Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文。许多Blogs是个人心中所想之事情的发表,其他Blogs则是一群人基于某个特定主题或共同利益领域的集体创作。简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。第二章 系统需求分析本系统运用Windows7作为操作平台,数据库采用Sqlserver2005数据库,运用的软件开发平台为MyEclipse,属于浏览器/服务器模式,数据库在浏览器上能运行,并提供数据库之间的数据复制功能,人员具备知识:Java核心,数据库的基本操作,Web网页的基本开发。从技术可行性的角度可以完成此设计。本系统采用B/S模式,博主进入自己的博客后,可以进行各种允许的操作;游客可以对他人博客进行诸如查看等操作。整个博客系统的框架设计遵循MVC模式,将表示层、业务逻辑层、控制层进行合理分离。确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:由于网站的操作是基于B/S结构,简单明了,用户只需相关电脑的基本知识,而管理员也无需具备专业知识,只需要对一些数据进行输入以及平时的日常维护就够了。所以,从可操作性上来看,也是合理的。2.1 系统实现的基本功能本系统一共分两个板块:博主和游客。博主板块为三大模块,游客板块分为四大模块。在表面上每个模块之间虽然是相互独立的,但在对数据库的访问上是紧密相连的,各个模块访问的都是同一个数据库,所不同的只是访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。博主板块的各模块:1 安全管理模块 登录管理:在登录时进行检查,确定该用户是否是合法用户。注册管理:为每个用户注册用。修改密码:博主可在此修改密码。修改个人信息:博主可在此修改个人信息。2 博文管理模块发表博文:博主发表自己的博文浏览博文:博主浏览已发表的的博文查找博文:查找已发表的博文对博文分类:对已发表的博文进行分类查看某类博文:查看发表的某类博文修改博文:对发表的博文进行修改删除博文:将无用的博文删除查看浏览次数:查看某篇博文共有多少人浏览查看发表日期:查看某篇博文的发表日期3留言管理模块查看留言:查看游客的留言回复留言:回复游客的留言删除留言:对自己不想保留的留言进行删除游客板块的各模块:浏览博文:浏览博主的博文评论博文:评论某篇博文发表留言:给博主留言查看留言:查看其他游客的留言2.2 数据库设计2.2.1数据库概念结构设计针对本个人博客网站,得到的总E-R图(见图2.1)和物理模型图(见图2.2)。 图2.1 总E-R图图2.2 物理模型图2.2.2数据库逻辑结构设计把上述的E-R图模型转化成关系模型为:用户(id,姓名,密码,备注,添加日期);个人相册(id,相册名称,添加时间,封面);用户注册(id,用户名,密码,姓名,性别,出生年月,QQ,邮箱,电话,身份证,头像,地址,备注)。留言板(id,昵称,QQ,性别,邮箱,电话,内容,添加时间,内容恢复)。2.2.3数据库物理设计建立一个具有良好的数据组织结构的数据库,应遵循的原则有:1可能减少数据冗余和重复2结构设计和操作设计相结合3数据结构具有相对的稳定性数据是系统中非常重要的资源,所以在数据库设计时一定要注意数据结构的安全性、完整性,并发控制与恢复,而一般的数据库管理系统都提供了一定的数据保护功能。本系统中的数据库采用SQL SERVER 2005数据库实现。本系统数据库名为:db_yywz,共包括4个数据表。1.tb_admin表,用来记录管理员信息,包括用户名、密码;设置如下表2-1所示。表2-1tb_admin序号英文名中文名类型长度(字符)1id管理员编号Int 42name用户名Varchar503password用户密码Varchar504bz备注Varchar502.tb_critique表,用来记录用户对日志的留言信息,包括留言姓名,留言内容,留言日期等信息。设置如下表2-2所示。表2-2 tb_critique序号英文名中文名类型长度(字符)1id留言编号Int42name留言姓名Varchar504neirong留言内容Varchar3005riqi留言日期Varchar503.tb_blog表,用来记录日志的信息,包括日志所属的风格、博主以及日志的名字、博主性别、发现日期、图片地址、博客地址等信息。设置如下表2-3所示。表2-3 tb_film序号英文名中文名类型长度(字符)1id日志编号Id50字节2name日志名VarChar200字节3types日志风格Varchar50字节4ticket博主名Varchar50字节5director博主性别Varchar4字节6sort类别Varchar200字节7intro发行日期Varchar200字节8impath图片地址Varchar200字节9blogurl日志地址Varchar200字节10good好Varchar50字节11midst一般Varchar50字节12verybad不好Varchar50字节4tb_users 表,用来记录会员信息,包括会员吗、会员密码、会员昵称和会员性别等信息。设置如下表2-4示。表2-4 tb_users序号英文名中文名类型长度(字符)1id用户编号int20字节2name用户名Varchar50字节3pwd用户密码Varchar50字节4petname昵称Varchar50字节5sex性别Varchar4字节第三章 系统总体设计3.1 系统结构博客网站设计与实现系统流程图如图3-1所示。图3-1 听风个人博客系统的设计与实现系统业务流程图新系统的目标确定后,可以从经济可行性、技术可行性和运行可行性三个方面对能否实现新系统目标进行可行性分析。3.2 模块根据博客网的具体情况分析,博客网流程是顺着用户登录的过程而进行的,内容包括用户管理、博文管理、评论管理、系统维护等分成这4个环节,其具体业务流程描述如下:1用户管理:管理员进入系统后,对用户的基本信息进行维护,实现用户信息的添加,以及在用户信息发生变更时及时的对信息内容进行维护,产生最确切的用户信息内容提交到系统数据库,以确保用户信息的及时性和准确性。2博文管理:管理员对日志进行修改以及更新。3评论管理:用户会对博客进行一些评价,这个评论有助于了解用户的喜好风格的动向,及时得到用户反映的最新消息,有助于对博文的及时调整,是服务更加人性化。4系统维护:通过验证等手段防止非法用户登录本网站,保护本网站的安全。第四章 系统详细设计和实现4.1 人机界面设计人机界面接口是接口设计的一个重要的组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。4.1.1 个人博客网站首页图4.1 个人博客网站首页4.1.2 后台管理员登陆图4.2 后台管理员登录界面4.1.3用户注册图4.3 用户注册界面4.1.4 心情日记图4.4 心情日记界面4.1.5 留言板图4.5 留言板界面4.1.6 后台管理员界面图4.6 后台管理员界面4.2 技术介绍本设计的亮点之一就是用传统的三大经典框架实现,SSH是指Struts2,Spring,Hibernate三大框架来完成本设计的开发过程。为什么要用这三个框架来实现呢?Hibernate对JDBC的轻量级封装使得程序员可用面向对象的编程思维来操作数据库。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的功能是一方面为Hibernate提供支持,另一方面通过管理service。4.2.1 SSH框架的整合新建一个工程renshi,一个普通的Java工程,先让其变成一个Struts2工程,步骤为加载类库,需要的类库见图4.7。图4.7 Struts2需要的类库然后在web.xml文件中添加代码:struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*然后再开发一个action开发的action需要继承ActionSupport,需要实现其中的execute方法,在此方法中实现相应的服务。然后把url和action,结果页面关联通过struts.xml,在struts.xml中配置package,实现相应的页面跳转。此时的工程已经成为一个Struts2工程了,接下来就该加Spring了。加Spring,右击本项目|MyEclipse|Add Spring Capabilities,需要的包见图4.8图4.8 Spring需要的包配置数据源,用连接池(dbcp),需要的包见图4.9图4.9 连接池需要的包然后在applicationContext.xml文件中配置数据源,代码如下:配置文件中注入bean(java类)生成代理类:com.renshi.service.IService在此需要整合struts2和Spring需要的一个包如图4.10图4.10 Struts2和Spring整合需要的包同时在web.xml中配置:contextConfigLocationclasspath:applicationContext-*.xmlorg.springframework.web.context.ContextLoaderListener此时Struts2和Spring已经整合好了,下面就要让他成为一个Hibernate工程了。加Hibernate需要在com.renshi.bean下建UserBean.hbm.xml文件,是Hibernate的配置文件 seq_puser 此时需要将Spring和Hibernate整合org.hibernate.dialect.Oracle9Dialecttruecom/renshi/bean/UserBean.hbm.xmlPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIRED,readOnly在此SSH2的框架已经搭建好了,为了使工程看着清晰,将业务,数据库连接,action分开得到的结构见图4.23.图4.11 SSH2整合好的结构此时启动服务器,会出现报错信息,原因是由于jar包冲突,此时只需删除asm.jar,asm-attrs.jar,cglib-2.1.3.jar.此时,一个完整的SSH2框架就搭建好了。4.2.2 POIPOI提供API给Java程序对Microsoft Office格式档案读和写的功能。在本设计中运用POI实现了对当前页面表格提供了一个excel下载,核心代码如下:public String execute() throws Exception if(page=0) page = 1;list = service.getStaff(page,state,profession,education);/ 创建工作簿HSSFWorkbook wb = new HSSFWorkbook();/ 创建工作表HSSFSheet sheet = wb.createSheet(sheet1);/ 创建一行HSSFRow row1 = sheet.createRow(0);/ 把查询数据写入excel中int i = 0;for(StaffBean bean:list) / 创建行HSSFRow row = sheet.createRow(i + 1);/ 创建单元格并赋值row.createCell(short)0).setCellValue(bean.getName();row.createCell(short)1).setCellValue(bean.getSex();row.createCell(short)2).setCellValue(bean.getBirth();row.createCell(short)3).setCellValue(bean.getNation();row.createCell(short)4).setCellValue(bean.getEducation();row.createCell(short)5).setCellValue(bean.getDept();row.createCell(short)6).setCellValue(bean.getJob();row.createCell(short)7).setCellValue(bean.getProfession();row.createCell(short)8).setCellValue(bean.getState();row.createCell(short)9).setCellValue(bean.getIdcard();row.createCell(short)10).setCellValue(bean.getSocietyno();row.createCell(short)11).setCellValue(bean.getRetiresalary();row.createCell(short)12).setCellValue(bean.getRetiretime();i+;String fileName =用户信息.xls;fileName = new String(fileName.getBytes(gb2312), iso8859-1);HttpServletResponse response = ServletActionContext.getResponse();response.setContentType(application/vnd.ms-Excel);response.setHeader(Content-disposition, attachment;filename=+ fileName);ServletOutputStream out = response.getOutputStream();wb.write(out);out.close();return NONE;4.2.3 AJAX技术在本设计中运用Ajax技术在添加新用户时提醒现在输入的用户名是否可用,在用户名的输入框失去焦点的时候出发一个checkUsername()函数,js代码如下:function checkUsername() var user = $(#username).val(); $.get(checkUserHave.action, name: user,temp:Math.random(), function(data) $(#userMessage).html(data); );将判断这一任务交给checkUserHave.action处理,即CheckUsernameAction(在配置文件中实现的),核心代码为:public String execute() throws Exception System.out.println(isHave:);HttpServletResponse response = ServletActionContext.getResponse();response.setContentType(text/html;charset=utf-8);Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;boolean isHave = false;PrintWriter out = response.getWriter();/ 获得连接conn = DBUtil.getConnection();/ 创建pstmtString sql = select * from p_user where u_username=?;try pstmt = conn.prepareStatement(sql);/ 赋值pstmt.setString(1, name); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();try / 执行sqlrs = pstmt.executeQuery();/ 处理结果集isHave =rs.next(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally DBUtil.closeAll(rs,conn,pstmt);System.out.println(isHave:+isHave);if(isHave)out.print(该用户名已存在,请更换其他用户名);elseout.print(该用户名可用);return NONE;4.2.4 JavaScipt技术在本设计中运用JavaScipt技术进行是否为空判断,身份证是否为18位数字的判断,并且在本设计中用JS实现了一个日历的插件。非空判断代码如下:function doSubmit() var name = document.getElementById(username).value; if(name = ) alert(请输入用户名); document.getElementById(username).focus(); return false; document.getElementsByName(form1)0.submit(); 身份证号必须是18位的判断,代码如下:function doSubmit() var name = $.trim($(#name).val(); var idcard = $.trim($(#idcard).val(); if(name = ) alert(姓名不能为空);$(#name).focus();return; var pattern = 0-918$; if(!

温馨提示

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

评论

0/150

提交评论