第3章 系统概要设计
3.9界面原型设计
SNS主界面展示:
LOGO登录注册已注册用户列表 图3-10 SNS主界面显示
SNS个人空间主页展示:
LOGO博客主页个人主页文章相册影音留言管理个人形象展示四张照片文章信息列表推荐博客用户影音展示 图3-11SNS个人空间主页展示
- 32 -
第4章 系统详细设计与实现
第4章 系统详细设计与实现
4.1系统的工程结构
本SNS博客系统基于B/S架构、采用MVC模式、即JSP+JavaBean+Servlet模型。MyEclipse开发环境下整个软件项目的结构见图4-1:
图4-1项目结构图
src文件:项目的所有包及源文件都在中、这个目录下,负责完成整个应用程序的功能实现及事件处理。
JRE:Java运行环境系统库
Webroot目录:应用程序用到的资源文件存放在Web里面,例如css目录、images目录、js目录等。其中images目录存放软件中应用程序用到的图片;css目录主要放置程序用到的界面布局文件;pages目录存放系统中各个部分程序文件:WEB-INT目录主要放置程序的配置文件。
- 33 -
第4章 系统详细设计与实现
4.2面向对象程序设计
使用Session对象HTTP协议是一种无状态协议。一个用户向服务器发出请求(request),然后服务器返回响应(response),连接就被关闭了。在服务器端不保留连接有关的的信息,因此当下一次连接时,服务器已经没有以前的连接信息了,无法判断这一次连接和以前的连接是否属于同一用户。
HttpServletRequest对象request调用getSession方法获取用户的session对象: HttpServletRequest session=request.getSessioon(true)
一个用户在访问服务器期间,可能请求多个servlet对象,那么服务器端为该用户获取的session对象是完全相同一个,但是,服务器端为不同的用户获取的session对象互不相同。
Session对象的生存周期:一个用户在某个Web服务目录的session对象的生存期限依赖于用户是否关闭浏览器、依赖于session对象是否调用invalidate(方法)使得session无效或session对象达到了设置的最长发呆时间。如果用户关闭浏览器,那么用的session消失;如果用户长时间不关闭浏览器,用户的session也可能消失,这是因为Tomcat服务器润需用户最长的发呆时间为30分钟,发呆状态时间是指用户对某个Web服务目录发出两次的请求之间的间隔。 4.3数据库选择
本系统使用的是Mircrosoft SQL Server 2008关系型数据库。
SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
这个平台有以下特点:
可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
- 34 -
第4章 系统详细设计与实现
4.4数据库的SQL语句的实现
本系统中的SQL语句类似相同,以下是对基本的SQL语句的举例: 1.文章建表语句:
CREATE TABLE [dbo].[tb_article]( )
2.相册建表语句:
CREATE TABLE [dbo].[tb_photo]( )
3.注册用户建表语句:
CREATE TABLE [dbo].[tb_user](
[id] [int] IDENTITY(1,1) NOT NULL, [user_name] [varchar](50) NULL, [user_pswd] [varchar](20) NULL, [user_ico] [varchar](50) NULL, [user_motto] [varchar](50) NULL, [user_sex] [varchar](2) NULL, [user_oicq] [varchar](15) NULL, [user_email] [varchar](100) NULL, [user_from] [varchar](100) NULL, [user_blogName] [varchar](100) NULL, [user_ctTime] [datetime] NULL, [id] [int] IDENTITY(1,1) NOT NULL, [photo_whoId] [int] NULL, [photo_src] [varchar](200) NULL, [photo_info] [varchar](1000) NULL, [photo_uptime] [datetime] NULL [id] [int] IDENTITY(1,1) NOT NULL, [art_whoId] [int] NULL, [art_title] [varchar](50) NULL, [art_fenlei] [varchar](50) NULL, [art_content] [ntext] NULL, [art_pubTime] [datetime] NULL,
[art_count] [int] NULL
- 35 -

