基于J2EE的博客系统的设计与实现毕业论文 - 图文
更新时间:2023-09-11 07:41:01 阅读量: 教育文库 文档下载
- 基于j2ee的毕业设计推荐度:
- 相关推荐
(此文档为word格式,下载后您可任意编辑修改!)
本科生毕业论文(设计)
题目:基于S2SH的博客系统的设计与实现
系 名:电子通信与软件工程 专 业:07级计算机科学与技术 学 号: 姓 名:钟晓婷 指导教师:苑俊英
二○一一年五月
I 摘 要
当今社会已正式步入信息时代,而信息技术的主要目标就是如何使人们更方便地进行联系和交流。因此,各种信息交流工具应运而生。在所有的主流通信软件中,博客占有重要的一席之地。博客是一种新兴、以互联网为平台的网络型交友软件。随着计算机技术的发展,博客系统的开发技术也日趋完善。尤其是其安全性的提高以及完善的功能,使越来越多的人着迷于博客的独特魅力。因此,从市场占有率来看,博客具备持久的可开发性。
本文研究了一种基于S2SH架构的博客系统。本系统实现的功能主要包括:用户注册、用户登录、用户博客博文搜索、个人博客信息管理、访客用户评论、相册管理和点击率查看等。本系统采用的是Structs2+Spring+Hibernate三层架构,基于MyEclipse8.5和Mysql5.0相结合的开发模式。利用MyEclipse的相关技术,可以在数据库和J2EE的开发、发布以及应用程序服务器的整合等方面极大地提高工作效率;利用其提供的各种组件如MyEclipse Database Explorer,MyEclipse Java Enterprise等建立数据库、连接数据库、对数据库进行分析管理并建立相关页面,经过不断地改进,最终实现了博客系统。
关键词:博客系统,S2SH,Myeclipse,JAVA,Mysql
II ABSTRACT
Our society into the information age today, and information techno-
logy's main goal is to make people more easily to communicate and contact with each other. Therefore many kinds of information communication tools arise at the import role in the all mainstream communication software. Blog is a dating tool which is a new kind of software and take the network as the platform. By the computer technology’s development, the technology of Blog system is better and better. Especially due to the improvement of security and perfect function, more and more people are lost in blog unique charm. So blog S2SH framework. This system mainly realized functions includes: registration, login, userblogpersonalblog
search,
personalblog
information
management,
visitorsuser remark, photo album managem-
ent, . This system uses struts2+Spring+Hibernate framework on the structure and based on the development mode which MyEclipse8.5 combines Mysql5.0. With the MyEclipse technology, we can improve the work efficiency in integration of database and J2EE development, release and application server. Use of various components such as MyEclipse Database Explorer, MyEclipse Java Enterpris-
e and so on which its porivide can create databse, connect to Database,manage database and establish some pages. After continuous improvement, the blog system finally completed.
Keywords:Blog System, S2SH,Myeclipse, JAVA, Mysql
III 目 录
摘 要 ............................................................ I ABSTRACT ...................................................... II 目 录 .......................................................... III 第1章 绪论 ....................................................... 1 1.1研究背景及意义 ............................................... 1 1.2国内外博客现状比较 ........................................... 2 1.2.1博客作者的性别 ........................................... 2 1.2.2博客已经不是新事物 ....................................... 2 1.2.3写博客的目的 ............................................. 2 1.2.4关于博客与传统媒体 ....................................... 3 1.2.5博客在中国的公信力 ....................................... 3 1.2.6总结 ..................................................... 3 1.3研究的主要内容 ............................................... 3 1.4本文的组织 ................................................... 4 第2章 相关技术和配置 ............................................. 5 2.1 MyEclipse.................................................... 5 2.2 S2SH ........................................................ 5 2.2.1 Struts2 .................................................. 5 2.2.2 Spring ................................................... 5 2.2.3 Hibernate ................................................ 6 2.2.4 Struts2+Spring+Hibernate的整合 ............................ 6 2.3 Apache ...................................................... 7 2.4 Tomcat ...................................................... 7 2.5 FCKEditor ................................................... 7 2.5.1 FCKeditor简介 ........................................... 7 2.5.2 FCKeditor配置 ........................................... 8 2.6 Mysql数据库介绍和配置 ...................................... 12 2.6.1 Mysql数据库的介绍 ...................................... 12 2.6.2 Mysql在Myeclipse中的配置............................... 12 第3章 系统需求分析 .............................................. 18 3.1 系统概述 ................................................... 18
IV 3.2 功能描述 ................................................... 18 3.3 系统用例图 ................................................. 19 3.4功能描述 .................................................... 19 3.4.1 功能1 评论管理 ......................................... 19 3.4.2 功能2 首页 ............................................. 21 3.4.3 用例3 点击率 ........................................... 22 3.5功能活动图 .................................................. 22 3.5.1评论管理活动图 .......................................... 22 3.5.2 首页活动图 .............................................. 23 3.5.3 点击率活动图 ............................................ 25 3.6 术语表 ..................................................... 25 第4章 系统概要设计 .............................................. 26 4.1 系统架构设计 ................................................ 26 4.2系统关键抽象和类图 .......................................... 27 4.2.1系统关键抽象 ............................................ 27 4.2.2系统类图 ................................................ 28 4.3数据库设计 .................................................. 29 4.1.1 UserInfo表 .............................................. 29 4.1.2 BlogInfo表 .............................................. 29 4.1.3 BlogClick表 ............................................. 29 4.1.4 Remark表 .............................................. 30 4.1.5 Log表 .................................................. 30 4.1.6 LogClick表 ............................................. 30 4.1.7 Imagebook表 ............................................ 30 4.1.8 Visitor表 ............................................... 31 第5章 系统详细设计 .............................................. 32 5.1系统结构图 .................................................. 32 5.1.1 系统后台代码结构图 ...................................... 32 5.1.2 系统包图 ................................................ 32 5.1.3 系统前台页面设计代码结构图 .............................. 33 5.2系统功能设计 ................................................ 33 5.1.2评论管理(RemarkManagement) .......................... 33 5.2.2首页(Homepage)用例分析 ............................... 35 5.2.3点击(ClickNum)用例分析 ................................ 38
V
第2章 相关技术和配置
2.1 MyEclipse
Eclipse是一个可扩展的、基于Java的和开源的集成开发环境。对其而言,它是一个可被开发者定制的应用骨架和一组服务,其强大的地方在于建立在不同的开发需求下,它可以通过安装不同的插件来建立不同的开发环境以满足其对应的开发需求。另外Eclipse是一个给人免费下载其源代码的开放源代码项目,然后在下载到的源代码的基础上根据自己的需要去开发自己的功能插件。
MyEclipse是一个Eclipse支持下的J2EE开发插件,功能十分强大,具备完美的编码、调试、测试和发布功能并完整支持Struts、Spring和Hibernate等框架技术。MyEclipse插件基本上涵盖了众多Eclipse插件的功能,能满足我们的各种应用需求,基本上是安装了它就无须其他插件。甚至可以这样理解,MyEclipse就是一个比较完备的、功能十分强大的开发环境。
2.2 S2SH
2.2.1 Struts2
Struts2 是一个web应用框架。它不是一个Struts的新的发布版本,而是一个全新的框架。Struts2 是第二代基于Model-View-Controller (MVC)模型的web应用框架。 Struts2是java企业级web应用的可扩展性的框架。 它是WebWork和Struts社区合并后的产物。 这一版本的Struts2声称,Struts2会接近于原先版本Struts,并且会更容易使用。struts2没有继承struts1的血统,而是继承了webwork 的血统[1]。
2.2.2 Spring
Spring 框架是一个基于Java 语言的开放源代码的应用程序框架,其主要目标是解决J2EE 企业应用程序开发的复杂度过高的问题。应用复杂度的提高往往意味着开发周期的延长和开发成本的上升,为了解决这一问题,Spring 框架提供了统一的应用程序架构方式,以及大量的中间层功能模块,能够极大简化J2EE 的开发,同时提高企业应用程序的灵活性,使开发者能够更轻松地实现轻量级、可扩展的企业应用架构。
Spring体系架构如下图所示。Spring Core 提供了基于依赖注入技术的构件组装机制,是整个框架的基础; Spring AOP支持面向方面编程,为构件提供统一的事务、日志、安全管理等服务;Spring ORM负责集成Hibernate;Spring DAO 提供了一系列的数据库访问控制工具;SpringWebMVC 支持基于MVC模式的Web应用程序开发。图2-1为Spring的架构组件图。
5
图2-1 Spring架构组件图
2.2.3 Hibernate
Hibernate是一个基于Java的开放源代码的持久化中间层技术,它通过对JDBC进行轻量级的封装,不仅提供了对象关系映射服务,而且还提供了数据查询和数据缓存功能。利用Hibernate我们可以安装Java的基本语义进行持久层开发,使用完全面向对象的查询语言(HQL)操作数据库,使开发人员把主要精力集中在业务层上。
Hibernate的基础代码包含POJO类文件和Hibernate的配置文件、Hibernate的映射文件。配置文件名默认为hibernate.cfg.xml,它通常会配置持久层框架的如下信息:数据库连接JDBC、底层数据库方言等。POJO类就是数据库表所对应的域模型对象,它通常只包含getset方法。映射文件用来定义要持久化的对象,在这个文件中要描述持久化对象的变量属性和表字段的对应和对象与对象之间、表与表之间的对应关系[8]。
2.2.4 Struts2+Spring+Hibernate的整合
S2SH的架构图如图2-2:
图2-2 S2SH架构图
S2SH架构工作流程为:通过JSP页面实现交互界面,负责传递请求和接受相应;在表示层引入Struts2用户请求经由控制器Struts2中的Filterdispatcher
6 处理后,用户数据会传递给Action然后由Action类通过业务层Spring的LoC容器访问持久层Hibernate的DAO,由DAO负责与底层数据库的交互,最后再将结果返回JSP页面进行显示。
在S2SH 中Spring 处于核心地位。向上整合Struts2,向下整合Spring。Spring 充分利用Ioc容器的特性和功能,通过配置文件,将专注于控制业务逻辑组件和结果视图的Action、专注于业务逻辑实现的业务逻辑对象( Business Object,BO) 、专注于数据底层持久化操作的数据访问对象( DAO) 、底层数据库内存镜像的会话工厂( SessionFactory) 等组件统一在其管理之下,统一管理这些组件生命周期的各个阶段,并利用其依赖注入功能,实现可配置编码的耦合方式,实现Action 与BO、BO 与DAO、DAO 与SessionFactory 的低耦合,使得系统具
有良好的解耦性,从而保证利用S2SH 开发的应用系统在重构时不会发生“牵一发而动全身”的效果,提高了系统的可扩展性、可维护性和可复用性[4]。
2.3 Apache
Apache是一种开放源代码的Web应用服务器。Apache作为自由软件之一,是由许许多多的自由开发人员投入大量的时间和精力来实现并逐步完善。尽管从第一个版本开发以来,不断有新的漏洞被发现,但由于其OpenSource(开放源代码)的特点,漏洞总能很快被修补,因此,总的来说,其安全性还是相当的高的,使用也是最普遍的[9]。
2.4 Tomcat
Tomcat是一个免费开源的Servlet容器,它是由Apache基金会Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat不仅是一个Servlet容器,它也具有传统的Web服务器的功能,如处理HTML页面,简单的域名管理等。但是与Apache相比,它处理静态HTML文件的能力远不如Apache。那么在大多数企业应用中将Tomcat和Apache整合在一起,让Apache处理静态HTML文件,而Tomcat处理动态JSP文件和Servlet,这样可以发挥各自所长[9]。
2.5 FCKEditor
2.5.1 FCKeditor简介
FCKeditor 是一种功能强大的开源在线文本编辑器(DHTML editor) , 在W eb开发中使用FCKeditor 可以实现类似微软Word 桌面文本编辑器的许多强大功能。FCKeditor 的应用现在已经很广泛, 在开发论坛、Blog、新闻发布、内容管理等系统都要使用到FCKeditor。FCKeditor支持当前流行的浏览器, 主要有
7 IE 515+ , F irefox 110 + , Mozilla 113 +与N etscape 7+等。FCKeditor 是轻量级的,使用非常方便, 不必在客户端进行任何方式的安装。
2.5.2 FCKeditor配置
1.安装FCKEditor。
将FCKeditor_2.6.3目录中的fckeditor拷贝到工程中,如图2-3所示。
图2-3 WebRoot目录中的fckeditor
2.导入FCKEditor需要的jar包,由于本系统在导入S2SH的jar包时已经导入了FCKEditor所需的jar包,故此处不用再添加jar包。
3.在使用fckeditor的页面导入fckeditor标签库,其代码为:
<%@taglib uri=\ prefix=\代码2-1 fckeditor标签库
在系统中的添加情况如图2-4。
图2-4 fckeditor标签库
4.要设置FCKEditor的字体、工具条、表情等必须添加自定义配置文件,本系统添加的自定义文件命名为myconfig.js,此配置文件设置了FCKEditor的工具条、字体、字体大小,其代码如代码2-2。
FCKConfig.ToolbarSets[\['Preview'], ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], ['Bold','Italic','Underline','StrikeThrough'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], ['Image','Table','Rule','Smiley','SpecialChar','PageBreak'], 8 ['FontFormat','FontName','FontSize'], ['TextColor','BGColor'], ['FitWindow'] ] ; FCKConfig.ToolbarSets[\ ['Undo','Redo','-','RemoveFormat'], ['Bold','Italic','Underline','StrikeThrough'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], No comma for the last row. ['Image','Smiley'], ['FontName','FontSize'], ['TextColor','BGColor'], No comma for the last row. ] ; FCKConfig.FontNames = '宋体;华文行楷;黑体;方正舒体;仿宋;楷体;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ; FCKConfig.FontSizes = '5px;10px;15px;20px;25px;30px;35px;40px;45px' ; 代码2-2 myconfig.js文件
5.将自定义的配置文件myconfig.js载入FCKEditor的配置文件fckeditor.js中,即修改fckeditor.js中FCKConfig. CustomConfigurationsPath属性值,如代码2-3。
FCKConfig.CustomConfigurationsPath = FCKConfig.EditorPath + 'myfckconfig.js' ; 代码2-3 FCKConfig.CustomConfigurationsPath属性值
6.在FCKEditor中用户可以进行上传图片,为保证上传图片的正确性和安全性,需修改其配置文件,具体步骤如下:
(1)修改web.xml中的Connector和Struts2的配置,修改后如代码2-4。
com.zdnf.fckeditor.ConnectorServlet
(2)在src根目录下添加配置文件fckeditor.properties,如图2-5。
图2-5 src目录下的fckeditor.properties
(3)在fckeditor.properties中输入代码2-5即可上传图片。
connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl connector.userPathBuilderImpl=com.zdnf.fckeditor.UserPath 代码2-5 fckeditor.properties
7.若上传的图片名字有中文,则会出现乱码,所以仍需进一步对其进行配置解决上次中文名字图片出现的乱码问题,其配置如下:
(2)在src中新建com.zdnf.fckeditor包,并在该包中新建ConnectorServlet. java类,如图2-6。
图2-6 src目录下的ConnectorServlet.java
(3)找到Reference Libraries包中的java-core里的ConnectorServlet.class,如图2-6将该类中的的内容复制放到刚才新建的ConnectorServlet.java中,找
10 到代码2-6,如图2-7,将其修改为代码2-7,如图2-8。
upload.setHeaderEncoding(request); 代码2-6 ConnectorServlet.class
upload.setHeaderEncoding(\ 代码2-7 ConnectorServlet.class
图2-7 java-core下的ConnectorServlet.class
图2-8 ConnectorServlet.java
(3)在ConnectorServlet.java中找到图2-9,将其改成图2-10。
图2-9 ConnectorServlet.java
图2-10 ConnectorServlet.java
(4)打开web.xml,将
11
图2-11 web.xml
8.在上传图片处,可以创建文件夹存放图片,若创建中文文件夹则会出现乱码问题,需要修改ConnectorServlet.java中的配置。找到ConnectorServlet.java中的代码2-8,并将其修改为代码2-9即可解决乱码问题。
String newFolderStr = UtilsFile.sanitizeFolderName(request .getParameter(\ 代码2-8 ConnectorServlet.java
Stringnew FolderStr = UtilsFile.sanitizeFolderName(new String(request.getParameter (\ 代码2-9 ConnectorServlet.java
2.6 Mysql数据库介绍和配置
2.6.1 Mysql数据库的介绍
MySQL是一个小型关系型数据库管理系统,是瑞典MySQL AB公司开发并推广使用。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为开发使用的数据库。与SQL Server、DB2 、Oracle等其他的大型数据库相比,MySQL自有它的不足之处,如功能有限(MySQL Cluster的功能和效率都相对比较差)、规模小等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
2.6.2 Mysql在Myeclipse中的配置
在Myeclipse中配置Mysql的过程如下:
1.首先打开MyEclipse在工具栏上依次点击Window->Open Perspective-> MyEclipse Database Explorer,如图2-12,点击后进入图2-13所示界面。
12
图2-12 在Myeclipse中配置Mysql
图2-13 在Myeclipse中配置Mysql
2.在图2-13的左侧空白处单击右键选择new,如图2-14,点击后出现一对话框如图2-15。
图2-14 在Myeclipse中配置Mysql
图2-15 在Myeclipse中配置Mysql
13 3.在Driver name后的文本框填入你要的数据库名字(本系统为myblog),Coonection URL填上数据库地址(最后那个test是你要连接的数据库),在User name,Password依次填上用户名,密码,点击Driver JARs右面的Add JARs选择需要数据库驱动,然后点击Finish,如图2-16。
图2-16 在Myeclipse中配置Mysql
4.这时我们在左面会看到新建的数据库myblog,我们右键点击新建的数据库选择Open connection,如图2-17。
图2-17 在Myeclipse中配置Mysql
5.选择Open connection后弹出如图2-18所示的对话框,输入密码并点击OK,若在左边看到数据库myblog中的表则表示连接成功,如图2-19。
14
正在阅读:
基于J2EE的博客系统的设计与实现毕业论文 - 图文09-11
合作协议书01-20
Labview实验指导书07-07
无机材料热工基础习题库01-30
2014年辽宁教师考试 小学语文说课稿:《将相和》说课稿范文08-11
那闪耀的红领巾作文600字07-17
唯有牺牲多壮志,敢叫日月换新天01-21
家长会学生成绩分析及在校问题11-08
散打说课稿08-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 毕业论文
- 基于
- 实现
- 图文
- 设计
- 系统
- 博客
- J2EE
- 桥梁工程试卷及标准答案
- 灾害天气预警应急预案
- 涿鹿测量施工方案(W) - 图文
- 重庆市巫溪县文峰镇中学生运动会设计方案 - 图文
- 六年级数学上分数除法 解决问题(1)
- PLC编程实例PLC经典练习第九章二
- 北师大版六年级下册数学期末试卷毕业试卷模拟试卷(一)
- 电路图和实物图相互转化练习题
- CATIA绘图技巧
- 首届全国财政系统财税知识网络答题竞赛答案20140211
- 07021 - 2012 - 7 - 软件能力成熟度模型(CMM) - 图文
- 幼儿园中班区域自制玩教具
- 写作秘籍:高考写作能力提升系列之十五
- 蚌埠市地方海事局
- 侵权责任法试题及答案
- 毕业答辩工程造价有关问题答案
- 光的折射 透镜专题训练
- 科技社团教案 - 图文
- 城市规模与包容性就业下
- 胃肠减压技术的操作及评分标准