




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉工商学院信息工程学院项目名称: 个人博客网站的实现(Java) 学生姓名: 学 号: 班 级: 12计科本1 指导教师:2014年12月23日目录1 绪论11.1系统应用意义11.2主要设计任务11.3开发及运行环境11.3.1 JSP的基础Servlet 技术11.3.2 JavaBean原理和机制11.3.3 开发平台:Eclipse21.3.4 数据库:Microsoft SQL Server 200522 系统需求分析32.1功能需求分析32.1.1 前台32.1.2后台32.2系统功能结构43 系统设计与实现43.1数据库的设计与描述43.2页面设计与描述53.3 数据库连接64 功能测试74.1功能实现75 总结161 绪论1.1系统应用意义博客,又译为网络日志、部落格或部落阁等,是一种通常由个人管理、不定期张贴新的文章的网站。博客上的文章通常根据张贴时间,以倒序方式由新到旧排列。许多博客专注在特定的课题上提供评论或新闻,其他则被作为比较个人的日记。一个典型的博客结合了文字、图像、其他博客或网站的链接、及其它与主题相关的媒体。能够让读者以互动的方式留下意见,是许多博客的重要要素。大部分的博客内容以文字为主,仍有一些博客专注在艺术、摄影、视频、音乐、播客等各种主题。博客是社会媒体网络的一部分。博客秉承了个人网站的自由精神,但是综合了激发创造的新模式,使其更具开放和建设性。它作为一种新表达的方式,它的传播不仅情绪,包括大量的智慧、意见和思想。某种意义上说,它也是一种新的文化现象,博客的出现和繁荣,真正凸现网络的知识价值,标志着互联网发展开始步入更高的阶段。1.2主要设计任务博客网站系统的总任务是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的个人博客网站,为网络用户提供进行在线交流的网络平台。通过个人博客网站可以结交更多的朋友,表达更多的想法,它随时可以发布文章。可以浏览别人的博文。1.3开发及运行环境1.3.1 JSP的基础Servlet 技术Java Servlet是JSP技术的基础,JSP本身就是预先被编译成Servlet,然后再运行的,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成,Servlet这个名称大概源于Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采用Servlet这个名称而不做任何翻译,读者如果愿意,可以称之为“小服务程序”。Servlet其实和传统的CGI程序和ISAPI、NSAPI等Web程序开发工具的作用是相同的,在使用Java Servlet以后,用户不必再使用效率低下的CGI方式,也不必使用只能在某个固定Web服务器平台运行的API方式来动态生成Web页面。许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器也可以通过附加的应用服务器和模块来支持Servlet。得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完全平台无关且是Web服务器无关的。由于Java Servlet内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Java Servlet效率非常高。但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。这就是为什么SUN还要推出Java Server Pages的原因。1.3.2 JavaBean原理和机制JavaBean是Java的可重用组件技术,提供了一定的通用功能,可以在Java应用(包括基于JSP的Web应用)中重复使用,JavaBean是一种符合某些命名和设计规范的Java类,通过封装属性和方法而具有某种功能或处理某个业务,简称beans。由于JavaBean是基于JAVA语言的,因此JavaBean不依赖平台,它具有以下特点。(1) 可以实现代码的重用。(2) 易编写,易维护,易使用。(3) 可以再任何安装了Java运行环境的平台上使用,而不需要重新编译。JSP页面是由普通的HTML标签和Java程序组成的,如果程序片HTML大量的交互在一起,页面就显得混杂,不易维护。因此,不提倡在JSP页面中嵌入大量的Java程序片来处理数据。通常提倡在JSP的web应用中集成JavaBean组件,由JavaBean处理业务逻辑,然后在JSP中调用,而JSP页面着重网页界面的设计,以此实现业务逻辑和前台显示的分离。JSP页面将数据的处理过程封装到一个或几个beans中,只需要在JSP页面中调用beans即可。使用JavaBean的好处有:(1) 可以是JSP页面变得清晰。(2) 节省软件开发时间(可以直接使用已经测试和可信的已有组件,避免重复开发)。(3) 降低系统维护的难度。(4) 为JSP应用带来了更多的课伸缩性,使系统变得健壮和和灵活。JavaBean的传统应用是在可视化领域,如Java图形界面中使用的按钮,文本框或列表框等。自从JSP诞生后,JavaBean在非可视化领域得到了更多的应用,在服务器端的应用的方面变现出越来越强的生命力。在非可视化的JavaBean是指没有图形界面的JavaBean用于封装业务逻辑。封装数据,同常与JSP搭配使用,实现业务逻辑与前台程序(JSP页面文件)的分离。使得系统具有更好的健壮性和灵活性。通过JavaBean可以很好的实现逻辑的封装,提高程序的可维护性。例如在web应用中要是实现在购物车中添加一件商品的功能。在引入JavaBean之前,直接使用脚本片段把这些处理操作写在JSP文件中,但这样的JSP页面可能有成百上千好代码,不便于程序的修改和维护。掌握JavaBean相关知识后,就可以创建一个实现购物车的JavaBean,建立一个共有的additem()方法,在JSP文件中使用该JavaBean并调用additem()方法,用来实现添加商品的功能。以后如果需要考虑添加商品时要判断库存是否还有该货物,没有该货物是显示缺货,这时就可以直接修改JavaBean的additem()方法。加入相关的处理语句,完全不用修改JSP程序。1.3.3 开发平台:EclipseEclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。1.3.4 数据库:Microsoft SQL Server 2005Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 Notification Services 是用于开发生成并发送通知的应用程序的平台,也是运行这些应用程序的引擎。可以使用 Notification Services 生成并向大量订阅方及时发送个性化的消息,还可以向各种各样的应用程序和设备传递消息。使用 Notification Services 平台,可以开发功能齐全的通知应用程序。订阅表达了订阅方在特定信息(称为事件)方面的兴趣,可以根据事件的到达或计划对其进行评估。事件数据本身可以源自数据库内部、其他数据库或外部源。通知是事件和订阅匹配的结果,在发送给订阅方之前,可以采用各种格式。2 系统需求分析2.1功能需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。人们不在局限于打电话,接电话,而是发微博,微博就像一个平台一样,不论是熟人还是陌生人,都会相遇在这个平台,只要你愿意,就会交更多的朋友,真正实现“海内存知己,天涯若比邻”。该系统所实现的功能:(1)游客可以任意的写博文和浏览博文;(2)游客也可以注册一个自己的账号,用来登录;(3)管理员可以修改和删除用户信息(4)管理员可以删除和修改用户的博文;为了达到以上的开发目的,个人博客网站应遵循一定的设计和开发与原则:1).模块接口定义清晰;2).基础类库和接口设计合理,尽量建立叮扩展的接口和抽象类;3).数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度;4).采用开放的标准和工具等;博客系统通常提供三类服务1).信息服务,它可分为:博文显示,浏览博文2). 注册服务:游客注册一个新账号,用来登录3).管理服务:博主可以对自己的博客进行各种管理在此,我参考现有的几大博客网站如QQ空间,新浪博客等,采用Browser/Server结构,将个人博客网站划分为两个子系统:前台,后台。下面分析各个子系统的功能需求。2.1.1 前台在前台的功能实现上,可以分为以下几个部分:1).博文主页:游客可以浏览博客的首页,首页包括博文的摘要。2). 博文浏览:游客可以浏览博客中感兴趣的博文。2.1.2后台通过计算机网络将前台与后台的数据库相连,网站管理员将从前台得到的信息进行处理,实现文章管理,公告管理,投票管理,个人相册管理,朋友圈,用户设置及博主设置等子系统。1).博主登陆:博客主人用帐号,密码登录到网站。网站检测用户的帐号,密码并给予管理员权限对网站进行操作2).博文发布: 发布博文,包括博文标题,内容时间和人。3). 博文管理: 对博客中的文章进行删除,更新等操作。4). 修改密码:修改博主账号的密码。2.2系统功能结构 该系统主页上有登录功能,发帖功能,后台管理,注册功能,注销几大功能,在后台管理中,还分用户管理,和帖子管理,在用户管理中,可以更改用户名和密码,在帖子管理中可以更改用户发布帖子的内容和删除指定用户的帖子。在登录中,分为用户登录和管理员登录,在本系统中,管理员默认为admin。他能够进行用户管理和博文管理。在用户管理中,也分为修改和删除,在博文管理中也分为修改和删除。 图3-1系统功能结构3 系统设计与实现3.1数据库的设计与描述在这次系统设计的时候,数据库login里面共有两张数据表,一张是发博文表address1,主要用来存放用户发的帖子内容、时间、用户名、主题。另一张是userinfo表,主要用来存放用户的密码和用户名,方便登录的时候进行验证,注册的时候进行存放用户信息。表3-1 address1表列名数据类型允许空id(自动增长)int不text(内容)varchar(max)不title(标题)varchar(50)不people(发帖人)varchar(50)不time(发帖时间)varchar(50)不表3-2 userinfo表列名数据类型允许空id(自动增长)int不username(用户)varchar(50)不password(密码)varchar(50)不 在用户的数据库中,有两个实体,和一个id号,id号是自动增长,每次有新的用户注册进来的时候就会自增一,这样系统不论是在注册和登录,还是用户管理中,调用数据库的时候,都是根据id号来进行查寻,只要id不为空,那么用户的信息都会反馈给客户端。在帖子的数据库中,有四个实体,分别是主题,内容,时间,和发布者,在这四个选项中,尽量不能为空,尤其是id号,不能为空,不然就不能查找了。各实体之间的实体联系图如下所示。图3-1系统E-R分析3.2页面设计与描述在这次系统设计中,有两个包,一个包名字是servlets,在它的下面servlets的Java类,它负责的是界面的跳转,每次页面发送跳转请求的时候,它就会最做出相应的响应,跳转到另一个界面的时候就会实现另一个界面的功能,每次页面跳转都必须经过servlets,它负责每次页面请求的处理。就想一个中转站一样,每个jsp界面都会经过这个中转站。另一个包是bean,在包的下面是一个DBBean的Java类,它的功能就是一个类,当用户注册的时候需要调用它来实现把用户名和密码存到数据库,当用户需要查看用户列表的时候,它就会被调用,来显示用户的详细信息;当用户进行发帖的时候,系统会调用它来它来存到数据库address1中,当再次浏览的时候,系统又会调用这个类,将用户的发的博文显示在主页上。删除用户信息的时候,也会调用这个类,每次删除过后,系统会自从更新数据库。管理员删除博文的时候也会一样的调用数据库,界面上的操作一般都是针对数据库进行的。在该系统中一共用了19个JSP界面,每一个界面都有不同的功能,在index.jsp是用来显示主页的,这里需要调用数据库,因为要实现博文浏览的功能,所以它必须要调用数据库,将博文的内容显示在主页上。Register.jsp 是用来注册用户的,这里也离不开数据库,注册成功过后,数据库会存放来自客户端传过来的用户明和密码。Common.jsp和admin.jsp是用来用户和管理员登录的,登录的时候,会经过数据库进行验证,如果密码或者账号错误的话,将无法登录。Tiezimanage.jsp和commommanage.jsp是用来帖子管理和用户管理的,不过这些都必须是管理员进行操作,只有是管理员才能对用户名的密码进行修改和删除,还有对帖子修改和删除。Background.jsp界面中只有三个选项,用户管理和帖子管理,和返回首页。Del.jsp是用来删除博文的界面,删除过后就会自动跳转到主页面上去,delcommon.jsp是删除用户信息的界面,login.jsp是用来用户登录的界面,用户只需要输入自己的名字和密码系统就会自动的跳转到主页上去,进行博文的浏览。Updata.jsp是用来更新数据库的,客户端将请求发送到后台,后台进行数据库的更新和管理。与之对应的是Userupdata.jsp界面,用来用户信息的更新和操作。Address.jsp是发帖的界面,在该接卖弄中设置了四个框框,主题,内容,时间,发帖者,在address1.jsp中把帖子存到数据库中,并方便响应后来的请求。每次请求结束过后都会回到响应的主界面。方便用户进行博文的浏览。3.3 数据库连接JDBC访问数据库的步骤:1、 装载驱动程序Class.forName(“JDBC驱动程序类”);2、 与数据库建立连接Connection con=DriverManager.getConnection(url,Login,password);3、 建立语句对象Statement stmt=con.createStatement();4、 声明并执行SQL语句String sql=”select * from book”;ResultSet rs=stmt.executeQuery(sql);int i=stmt.executeUpdate(sql);5、 对结果集进行处理。6、 关闭对象。按照ResultSet、Statement、Connection的顺序依次关闭。 DBBean主要放在一个bean包中,作为一个类,就是系统每次需要调用数据库的时候,不用大段大段的写代码了,直接调用 DBBean类就行了,这样节省了大量的时间,并且降低了出错的概率,这样是其它的界面更加清晰明了。关键性代码:public class DBBean private String driverStr=com.microsoft.sqlserver.jdbc.SQLServerDriver;private String connStr=jdbc:sqlserver:/localhost:1433;DatabaseName=login;private String dbusername=sa;private String dbpassword=123456;private Connection conn=null;private Statement stmt=null;public DBBean()tryClass.forName(driverStr);conn=DriverManager.getConnection(connStr,dbusername,dbpassword);stmt=conn.createStatement();catch(Exception e)System.out.println(无法同数据库建立连接!);public int executeUpdate(String s)int result=0;tryresult=stmt.executeUpdate(s);catch(Exception e)System.out.println(执行更新错误!);e.printStackTrace();return result;public ResultSet executeQuery(String s)ResultSet rs=null;tryrs=stmt.executeQuery(s);catch(Exception e)System.out.println(执行查询错误!);e.printStackTrace();return rs;public void close()trystmt.close();conn.close();catch(Exception e)4 功能测试 1 浏览博文界面当游客访问该网站的时候,就会有一个首页出现,在首页的界面中,可以登录,发博文,进入后台,注册,和注销等界面,在首页上面可以浏览用户所发的的博文,会以一张表格的方式显示出来,有一个人性化的设置就是可以看到当前系统的时间。下面是主页的界面。图4-1博客首页界面图2 用户注册对于新的游客来说,可以注册一个用户账号,用户名和密码自己设定,不过提示游客的是:密码和用户名一般要简单容易记住的比较好,不然连自己都记不住。下面是注册界面。图4-2用户注册图当用户注册成功过后,系统会提醒你,注册成功,系统会自动把账号和密码写进数据库里面,并且存档。如图。图4-3用户注册成功图3 获取用户列表在注册的成功,可以查看当前的用户名,就是查看哪些用户名已经被占用,或者如果知道自己好友的用户名的话,就可以浏览他们的博文,关注他们的最新动态,下面是查看当前用户名的界面。图4-4用户列表图 4 用户登录注册成功过后便可以直接点击登录了,不过要输入正确的用户名和密码,这样才能进入主页浏览博文,下面是登录的界面。图4-5选择用户登录图用户登录的时候,需要输入登录名和密码,只有密码正确的时候,用户才能进入首页中去浏览别人和自己的博文,如图。图4-6用户登录图用户点击登录过后,系统会自动的跳转到首页,在首页的最左上方,就会显示用户名,欢迎你进入,还可以看到当前时间,如图。图4-7用户成功登录图5 发布博文当然最重要的肯定是发博文了,下面是发博文的界面,当用户进入这个界面的时候,会有四个框框,主题,时间,发布者,内容。完成了这四个框框后,点击发布,过后提示发布成功,直接跳转到主页上,用户就可以看到自己的博文了,这是发博文的界面。图4-8用户发博客图点击发布的时候,系统会提醒你添加成功,单击确认过后,系统会自动跳转到首页,用户会在首页上看到自己的博文和发布时间,如图。图4-9用户成功发博客图6 进入后台管理员只有一个,当然也有特殊的权利,可以进入后台,用户和游客想进入后台,系统会提醒用户和管理员,非管理员,不得进入后台,下面是管理员登录界面。图4-10进入后台图7 管理员登录在后台管理中也分两种,一个是用户管理,用户管理就是对用户名和密码进行操作,不过这些都要经过用户的同意才行,下面是用户管理的界面。图4-11管理员登录图8 修改和删除博文后台管理中还有一个是帖子管理,类似于用户管理,帖子管理就删除和修改帖子,对于不符合规范帖子,管理员可以删除。以下是帖子管理的界面。图4-12博文管理图在帖子管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通拥堵问题及解决方案
- 幼儿园校舍出租合同
- 2025年肿瘤科干细胞治疗实践技能评估试题答案及解析
- 基础强化人教版8年级数学上册《整式的乘法与因式分解》专题练习试题(含答案解析版)
- 电机基础知识培训计划表课件
- 2026届河北省承德二中化学高二第一学期期中教学质量检测模拟试题含解析
- 四川省眉山市东坡区部分学校2023-2024学年高二下学期6月期末地理试题(解析版)
- 解析卷江苏省东台市7年级上册期末测试卷定向测试试题(解析版)
- 现代采购与供应管理:挑战与机遇
- 2026届甘肃省银川二中高三化学第一学期期中综合测试试题含解析
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- 变频及伺服应用技术(郭艳萍 钟立)全套教案课件
- 2024新译林版英语八年级上单词汉译英默写表(开学版)
- 美的集团工作流程体系
- 港口和码头基本知识培训课件
- 美容外科安全应急预案范文(3篇)
- 水利工程拦水坝建设方案实例
- 新学期+心动力+课件-2025-2026学年高二上学期开学第一课主题班会
- (2025年标准)出资收车协议书
- 6G多维度切片QoS保障-洞察及研究
- 老年人能力评估师考试题能力模拟题及答案
评论
0/150
提交评论