基于JSP的个人博客系统

资源下载地址:https://download.csdn.net/download/sheziqiong/85811390
资源下载地址:https://download.csdn.net/download/sheziqiong/85811390
目 录
摘要 I
Abstract II
第一章 概述 1
1.1 选题背景 1
1.2 问题的提出 1
1.3 系统的开发目标 2
第二章 系统设计 3
2.1 需求分析 3
2.2 功能模块介绍 6
2.3 系统分析 8
2.4 系统的可行性分析 12
2.5 界面设计 13
第三章 开发环境的选择 17
3.1 开发语言的选择 17
3.2 数据库的选择 18
3.3 开发工具的选择 19
第四章 数据库设计 21
4.1 概念设计 21
4.2 定义(数据词典) 21
4.3 数据库逻辑结构设计 21
第五章 系统的测试及发布 26
5.1 应用环境配置 26
5.2 系统的发布和运行效果 27
结束语 29
参考文献 30
2.2功能模块介绍
2.2.1博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的维护及管理,同时也便于通过博客档案将网站最新动态及相关信息方便地传达给每一位浏览的用户。
该功能模块实现了以下几个子功能。
(1)新博客在线注册。
(2)博客主登录。
(3)跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。
该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性。注册成功的博客主登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
2.2.2博客日志模块
日志模块为网络注册用户提供便捷的管理功能,可以添加、删除、修改日志,以及日志阅读浏览等功能,同时日志的评论信息也能够及时反馈给网络用户。
该功能模块实现了以下几个子功能。
(1)添加博客日志
发表博客日志主要是提供用户发表和张贴个人的日志或是对某些事务的独到见解等的功能,通过发表的日志,其他用户可以发表相关的评论,以便能够同其他来访者进行交流,是一个展现自己的网络交流平台。
该功能通过日志的Servlet来控制完成并写入到数据库中。在保存过程中,系统会在数据库中为该日志自动生成一个唯一的日志ID编号,这个编号是自动递增的生成,用以唯一的标识一篇日志。
(2)单独日志的显示,评论查看和发表评论
发表日志的评论是在查看单篇日志的前提下操作的,当访客查看单独的一篇日志时,即可通过页面下方的评论输入框来进行评论的发布。
该模块能够在网页中随时提供在线的最新日志信息。网络用户可以随时获得最新日志以及最新的博客评论。在用户选择了某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客主进行交流互动。
2.2.3博客图片模块
当网络用户进入某个人博客相关相册页面后,在该页面中将提供博客图片列表的显示,也提供对单个图片的浏览及评论的浏览。该功能模块实现了如下几个子功能。
(1)添加相册和图片。
进入相册模块后,可以点击创建相册来新建一个相册,建立相册后,可以进入相册模块点击上传按钮进行相关的上传操作。上传的文件将被保存在IMAGE的文件夹中。图片将以存放的相对地址存入数据库中,以便保存和读取。
(2)浏览图片。
可以进入相应的相册进行相册图片的查看,这时所有该相册的图片将会显示在浏览器中,通过单击相应的图片可以进入单个图片的查看页面。
(3)浏览单个图片及发表评论。
发表图片的评论是在查看单个图片的前提下操作的,当访客查看单独图片时,即可通过页面下方的评论输入框来进行评论的发布。
2.2.4博客留言管理模块
博客留言管理模块用于实现用户对博客个人留言的管理和显示。
该功能模块实现了如下几个子功能:
(1)查看留言。
(2)各种用户发表留言。
借助该模块,允许用户对博客的留言进行查看及其发表。
2.2.5博客个人维护管理模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。
该功能模块实现了如下几个子功能:
(1)个人注册信息的修改,密码的修改等。
(2)个人基本信息维护管理。
借助该模块,允许用户对博客的个人信息进行维护及其管理。
2.2.6博客后台管理模块
在博客后台管理模块中博客系统的管理员可以登陆后台进行整个博客系统的管理,进入某一管理页面可以查看相关方面的信息,可以随时对相关信息进行人为审查,如评论,日志中是否有敏感词,博客主上传的图片是否含有暴力色情等等,同时也可以查看到其他人的评论和留言中是否含有人身攻击等。
该功能模块实现了如下几个子功能:
(1)对各个分类如日志、图片、评论的显示。
(2)对各个相关信息单独的显示。
(3)对不符合规定的相关文件进行删除。
借助该模块,允许管理员对博客的各个信息进行维护及其管理。
2.3系统分析
在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。
在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。
blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。所以选择Java技术作为blog 的开发语言。
为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了高性能PC作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL。
该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:

  1. 服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000及以上;
  2. 数据库:MySQL 5.0.27版本;
  3. Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式;
  4. 客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器的操作系统;
  5. 客户端运行工具:目前的系统采用浏览器作为客户端,应该选择使用IE 5以上版本浏览器。
    本网站以windows xp为Web平台,JSP+Servlet+JavaBean为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。
    1、系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。
    2、系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
    3、系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
    4、系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。
    本系统采用MVC模式,主要有如下几个分层。
  6. 表现层:由JSP 页面组成。
  7. 中间层:使用Servlet和DAO。
  8. 模型层:由各个功能模块相应的JAVABEAN文件对应实现。
    2.3.1系统架构说明
    本系统严格按MVC 模式设计,分为控制层,表示层,模型层三层,MVC 层的控制器不进行持久化操作,只参与业务逻辑的实现,持久化的操作通过DAO来实现,表现层采用传统JSP 技术,模型层则用JAVABEAN来实现。
    本系统采用的是典型的J2EE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Servlet和DAO技术来实现 。该系统中间层的介绍如下:这层实际上就是MVC 模式里面的C,负责模型层和表现层的交互。调用DAO,并将业务数据返回给表现层作组织表现。以DAO为基础,通过对DAO 组件的正面模式包装,完成系统所要求的业务逻辑。DAO就负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
    2.3.2实现DAO
    DAO还有助于提升系统的可移植性。独立的DAO层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO层,不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。
    DAO(Data Access Object)数据访问接口。数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。
    以下为系统中一个DAO的部分代码实例:
    该段代码功能为读取某个用户的最新日志返回一个日志的实体。
public DailyBean getIndexDaily(String userid1) {
		try {
con = GetDbCon.getDbConn();//通过调用数据库类得到数据库连接
			Statement stm = con.createStatement();
int userid = Integer.parseInt(userid1);
//执行数据库指令返回结果
			ResultSet result = stm
					.executeQuery("select * from daily where userid = "
							+ userid + " order by dailyid desc limit 1 ");
//读取结果存入一个DailyBean中
			while (result.next()) {
				int dailyid = result.getInt("dailyid");
				String dailyname = result.getString("dailyname");
				String daily = result.getString("daily");
				java.sql.Date postingdate = result.getDate("postingdate");
				java.sql.Date modifytime = result.getDate("modifytime");
				db.setUserid(userid);
				db.setDailyid(dailyid);
				db.setDailyname(dailyname);
				db.setDaily(daily);
				db.setPostingdate(postingdate);
				db.setModifytime(modifytime);
			}
			result.close();
			stm.close();
			con.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return db;//返回刚刚已存入信息的DailyBean
	}

2.3.3DTO
DTO就是数据传输对象(Data Transfer Object)的缩写。DTO模式或称VO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。DTO类似信使,是同步系统中的Message。该JavaBeans可以是一个数据模型Model。常见的方式就是为实体对象建立一个Model类,该类只包含这个对象所有字段的getter和setter。例如用户User实体有name, password字段,则建立一个UserModel类,public方法有getName,setName,getPassword,setPassword。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
资源下载地址:https://download.csdn.net/download/sheziqiong/85811390
资源下载地址:https://download.csdn.net/download/sheziqiong/85811390

猜你喜欢

转载自blog.csdn.net/sheziqiong/article/details/125500663