基于SSH框架开发的博客网站系统

 2023-03-01 10:03

论文总字数:11099字

摘 要

博客网的作用是为了给广大用户提供很好的交流互动的平台,不仅可以提高网站的知名度还能增加网站的访问量,从而得到了为企业展示更多产品的机会,提升了自己创新网站的价值和意义。为了满足博客网的需求,实现系统的静态页面和动态的相互分离,本系统采用了框架SSH和MySql数据库相结合的开发模式。

博客网站运用了SSH(Struts Spring Hibernate)框架的基础上还运用了jsp语言的开发。该博客功能比较齐全,在博客上我们能发表文章和上传图片,我们还能进入他人的博客进行分享一些自己的看法,查阅别人发表的文章。

关键字:博客,框架,Mysql数据库。

Abstract

The role of blog sites in order to provide customers with a good platform for interaction, not only can improve the visibility of the website can increase traffic to your site, thereby obtaining more products for enterprises to showcase opportunities to enhance their innovation website value and meaning. In order to meet the needs of blog networks, both static and dynamic pages are separated from each system, the system uses a framework combining SSH and MySql database development model.
Blog site using the basic SSH (Struts Spring Hibernate) framework also used on the development of jsp language. The blog features more complete, we can publish on the blog articles and upload pictures, we can enter other people"s blog to share some of his views, consult others published articles.
Keywords: blog, Framework, Mysql database.

目录

第一章 概述

1.1 博客网概述

1.2 博客发展趋势

第二章 博客系统的分析

2.1运用的技术分析

2.1.1Java和开发平台的介绍

2.1.2 MySQL数据库的选用

2.1.3 三层架构的优点

2.1.4 Tomcat容器

2.1.5 Servlet介绍

2.1.6 系统的层次

2.2系统需求分析

2.2.1 业务描述

2.2.2系统功能概述

  1. 博客系统的设计

3.1 Mysql数据库的设计

3.1.1 所用到的数据库表及关系建立

3.1.2数据库表结构的设计

3.2概要的设计

3.2.1系统的功能

3.2.2系统流程图

3.2.3 开发工具和开发技术的选择

  1. 系统的设计与实现

4.1 系统框架实现 

4.1.1底层数据库的建立

4.1.2持久化层的建立(hibernate) 

4.1.3 表示层的建立

4.2系统功能模块实现

4.2.1登入功能模块

4.2.2文章模块

4.2.3 个性化设置模块

4.2.4 相册图片上传模块

1.概述

1.1博客网概述

术语“博客”(Blog或博客)是“网络日志(博客)”的缩写,是一种非常简单的个人信息发布方式。任何人都可以像使用的免费邮箱一样,完成个人网页的创建,发布和更新。博客是开放的私人空间,可以充分利用超文本链接,交互性,动态更新等,在网络中,查看和精选最有价值的链接全球互联网的信息,知识和资源的选择;也可以将个人工作过程,生活故事,思想的过程和灵感等及时记录和发布,发挥每个人的表现能力;同时也可以通过朋友的文献,与朋友见面和聚会,进行深入的沟通。

“博客”当然是每一个人都很陌生的词,博客的英文名为“Blog或Weblog”(当对应于Blogger的人),是一个典型的网络新事物,查询最新的英语词典无法找到。一词源于“Web日志(博客)”的缩写,特别是特定的网络个人出版形式,内容按照时间顺序排列,并且不断更新。

博客网站是一个不需要很多成本和无复杂形势的网上发表自己观点的形势。

博客网站的概念通常包括三个组成部分(当然,不需要定义的这些限制):

(1)从页不断更新,许多部件的个性日志的主要内容。

(2)按时间顺序排列,但在反转方式,它是在顶部时,最早的在底部的最新。

(3)发表的内容可以有很多主题,不同的布局和自己书写文章的风格。

所以,博客是每一个人和大家庭的结合,其真正的本质不是一个思维,也不是一个主要记录每个人每天所干的事情;但从个人的角度去看整个相当于一个互联网领域,选择和发表每个人自己的观点和意见,在互联网上写上有趣的内容既可以让人得到乐趣也可以给人帮助,这使得它有很大的价值。

博客真正的核心精并不就是娱乐,也不是个人很自由的表达,相反,而是和他人去共享自己的生活方式,能够帮助到他人。自己的日记和自己的网站主要表现的还是一部分,而最主要的是它的表现形式。也许形式非常接近,但内在本质的不同。所有伟大的博客网站,笔者的实际表达的内容非常有限,最多只是点缀,而不是一个个人网站,是核心。

1.2 博客发展趋势

趋势-:博客现在正形成个人的信誉机制,已经建立了虚拟身份,简单的讲一个个博客建立之后,在互联网上由名称标识,而不是网民的匿名行为,网民从一个流浪者变成一个定居者。之前在互联网上的各种行为都是匿名的状态,它是不知道对方的,但有了博客之后网民之间既可以互相关注了,而其他人可以通过博客找到这个人。如时间就会产生一个新事物的积累,总结出所谓的“个人信誉”的个人诚信是博客之间的各种关系的组合的发展,这种声誉为大家可能会有所不同,但在每个博客方面产生新的将商业化的评价机制博客的先决条件。

趋势二:博客现在约而来越多变成了一种多媒体技术,一开始博客只能发布文章,但是后来就慢慢的有了相册的功能,在博客中上传图片慢慢的已变成主流,到如今博客又有了新的功能,还可以上传视屏和音乐和别人分享。

趋势三:博客已具雏形,完善选拔机制,因为博客媒体和个人媒体,产生了巨大的信息。这将不可避免地产生垃圾信息,具有开发博客,博客通过选择机构,用于我们的喜爱,像国内网摘,博客的评价系统信息选项。

2.博客系统的分析

2.1运用的技术分析

2.1.1Java和开发平台的介绍

Java语言和Java平台的发展是一个漫长而传奇的历史。在很长一段时间中,Java已经经历了很多的变化,也遇到过许多的争论。在很早的时候,Java被称为Java开发工具包或者JDK,是一门与平台精密奥耦合的语言。Sun公司在1995年推出了最早的alpha和beta版本,尽管按照今天的标准看来,Java的发展是极其缓慢和原始的,但它在软件开发领域掀起了一场革命。

Java技术栈被分割为以下几部分:

  1. Java 是一门包含了严格和强类型语法的语言。
  2. Java2平台标准版本,也被称为J2SE,指的是平台以及java.lang和java.io包中包含的类。它是构建Java应用程序的基础。
  3. Java虚拟机或JVM是一个可以运行编译后Java代码的软件虚拟机。因为被编译过Java代码只有字节码,JVM将在运行代码之前,把字节码编译成机器码。JVM还负责管理内存,从而实现了应用程序代码的简化。
  4. Java开发工具包或JDK曾经并且现在也仍然是JAVA开发者创建应用程序所需要的软件。它包含了Java语言编译器、文档生成器、与本地代码协作的工具和用于调试平台类的Java源代码。
  5. Java运行时环境或JRE曾经并且现在也仍然是终端用户用于运行编译后Java应用程序的软件。它包含了JVM但不包含任何JDK中的开发工具。不过JDK中确实也包含了一个JRE。

2.1.2 MySQL数据库的选用

Mysql是开放开源的小型关系型数据库管理系统,广泛应用在中小型网站中。它相当于Oracle 和 DB2相比成本要比较低还有就是规模也比较小。

结构化查询语言:

SQL:结构化查询语言

SQL是在关系数据库上执行数据操作、检索及维护所使用的标准语言,可以用来查询数据,操纵数据,定义数据,控制数据。所有数据库都使用相同或相似的语言。

SQL可分为:

-数据定义语言(DDL):用于增删改数据库的对象

-数据操纵语言(DML):用于改变数据库表中的数据,和事务相关,执行完后需要经过事务控制语句提交后才真正的将改变应用到数据库中

-数据控制语言(TCL):用于维护数据一致性的语句

-数据查询语言(DQL):用来查询用户所需要的数据

-数据控制语言(DCL):用于对权限的管理

2.1.3 三层架构的优点

1.采用的是分层方式的架构系统,可以让系统的组件直接进行替换,更新,只要直接换掉dll文件就能完成系统的更新。因为组件之间是相互独立的。
2.逻辑层主要在MVC中的C(controller)控制层中,你可以在这一层中写你的逻辑代码。
对于有着多变的系统存在着很大的优势
3.三层的设计就是按照面向对象的思想设计的,程序的可扩展性很强,针对不断变化需求的系统有很大的优势。如果不分层,只要改变一个小的地方,程序就得重新改写编译。
4.屏蔽数据库差异
三层架构系统,对于数据库的操作没有任何压力。D层一个最重要的任务就是屏蔽数据库的差异,抽象工厂模式 反射 配置文件可以使得你更换数据库很方便。即使数据库变成了设计是没有考虑在内的情况,也就是重新写个DAL和DBHelper,而对于系统本身来说也无需重新编译[6]。
适合大型项目及合作开发
5.三层架构使得合作开发成为可能,由于各层互相独立,一个小组只需负责一小块就可以。如果你的编程是趋于结构化的那么对大型项目会很无力,因为结构化设计一定会让程序变得很复杂。
安全性
6。三层架构使得界面,业务逻辑,数据访问相互独立。在各个层中你可以相互加密传你所需要的数据。业务逻辑层和数据库访问层可以在不同的服务器上部署。这样加上服务器的防火墙使得系统更加安全。

  1. Struts2框架介绍

Struts2是一个轻量级的MVC(M:模型 V:页面 C:控制)框架,主要解决了请求分发的问题,最主要的还是在控制层和显示层。

.轻量级

防止外界的侵入,可以减少与逻辑代码的耦合度。可以用注解的方法把对象注入到你所需要的方法中。

.MVC框架

Struts实现了MVC,并提供了一系列API,采用模式化方式简化业务开发过程

2.Spring框架

Spring是一个开源也是轻量级的非常适合用于企业开发的框架,可以减少很多不必要因素的侵入;

Spring提供了IOC(控制反转)和AOP(面向切面)的一些有用的工具,可以大大的降低各个组件之间的耦合度,即解耦,以便对日后的系统进行升级和维护。

Spring给系统整理一些对系统问题的解决方案,开发的人员不仅仅可以利用它本身提供的功能,还可以与第三方框架和技术进行整合,可以由开发人员自由的去选择哪些技术。

在Spring中,每一个的ava类和JavaBean都被当作Bean来进行处理,这些bean一般都交给容器进行管理和应用。

3.Hibernate框架的优点

(1)Hibernate提供了大量的工具,可以帮助程序员节省创建对象的代码。如果数据库表的字段非常多,采用Hibernate会大大提高开发效率;
(2)Hibernate可以很容易地实现不同数据库间的迁移,这使得软件产品具有更强的生命力;
(3)服务器无关性。Hibernate是对JDBC的封装,因此与服务器之间的耦合非常小;
(4)操作的灵活性。Hibernate可以和JDBC进行切换;
(5)结构的简洁。采用Hibernate设计的程序,出于操作的是对象,所以实现代码非常少,逻辑层次感非常强;

Hibernate的原理:它是利用数据库以及其他一些配置文件如Hibernate.properties,XML Mapping等来为应用程序提供了数据持久化服务的。Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系的中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API都被抽象了,Hibernate会照管所有的细节,它对于系统中的功能具有很好的管理以及调试的作用。

2.1.4 Tomcat容器

Apache Tomcat是最常见和最流行的Web容器。 Sun的软件工程师最初创建的Web容器,名为Sun Java Web服务器,它也是第一个JavaEE的Servlet规范的参考实现。又在1999年后,Sun将它捐赠给Apache软件基金会,此时它成为Jakarta Tomcat的,并最终成为的Apache Tomcat。也是很有意思的就是Apache Tomcat的改善了发展的Apache Ant构建工具,构建器已于今天成千上万的商业和开源项目使用。
Tomcat的主要优点是占用内存小,结构简单,长期参与社区活动。通常情况下,开发人员可以成功安装和运行Tomcat安装包,包括5至10分钟内的下载时间。 Tomcat的需要很少的额外配置,在开发计算机上成功运行,调整之后,它也可以在高负载,高可用性的生产环境中使用。你可以创造巨大的Tomcat集群以可靠的方式处理交通繁忙。因为Tomcat是简单和使用轻型帧,所以它经常在商业生产环境中使用。然而,与众多竞争对手,它在配置服务器时缺乏成熟的Web管理界面。相反,Tomcat提供只能处理基本任务简洁的界面,其中包括部署和卸载应用程序。对于更详细的配置,管理员必须运行一组XML和Java属性文件。此外,他还不是一个完整的应用服务器,因此缺乏许多JavaEE的组件,如Java持久性API的。

2.1.5 Servlet介绍

Servlet是所有Web应用程序的核心类,它是唯一的既可以直接处理和响应用户请求,也可以将处理工作委托给应用中的其他部分的类。除非某些过滤器提前终止了客户端的请求,否则所有的请求都将被发送到某些Servlet中。运行应用程序的Web容器将会有一个或多个内建的Servlet。这些Servlet将用于处理JavaServer Pages、显示目录列表和访问静态资源,列入HTML页面和图片。

所有的Servlet都实现了Javax.Servlet.Servlet接口,但通常不是直接实现的。Servlet只是一个简单接口,它包含了初始化并销毁Servlet和请求的方法。不过,无论什么类型的请求,甚至是非HTTP请求,也将会调用service方法。

2.1.6 系统的层次

用了SSH框架我把系统分为了4个层次。

  1. 可以实现分层结构。页面显示层,控制层,数据访问层。
  2. 可以大大的减少代码的重用。

持久层

DAO层

业务层

WEB层

剩余内容已隐藏,请支付后下载全文,论文总字数:11099字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;