学校网站建设总结报告,网站目录结构设计,网上接效果图平台,企业怎么搭建网站目录
3. 系统开发环境及技术介绍
3.1 开发环境
3.2 开发工具
3.2.1 MyEclipse8.5
3.2.2 MySql
3.3 相关技术介绍
3.3.1 JSP技术简介
3.3.2 JDBC技术技术简介
3.3.3 MVC模式与Struts框架技术
4. 总体设计
4.1 系统模块总体设计
4.1.1 普通用户模块设计
4…目录
3. 系统开发环境及技术介绍
3.1 开发环境
3.2 开发工具
3.2.1 MyEclipse8.5
3.2.2 MySql
3.3 相关技术介绍
3.3.1 JSP技术简介
3.3.2 JDBC技术技术简介
3.3.3 MVC模式与Struts框架技术
4. 总体设计
4.1 系统模块总体设计
4.1.1 普通用户模块设计
4.1.2 管理员模块设计
4.2 数据库设计
4.2.1 数据库分析
4.2.2 数据库结构设计
4.2.3 数据库逻辑设计 前面内容请移步
基于JSP动漫论坛的设计与实现一
免费源代码毕业设计论文
基于JSP的动漫论坛的设计与实现.rar
3. 系统开发环境及技术介绍
3.1 开发环境 本动漫论坛系统的运行平台设置分为硬件环境和软件环境。
硬件环境系统的硬件环境配置为处理器Intel COREi5-3230M内存4G硬盘500G。软件环境系统的软件环境配置为操作系统Windows 7数据库MySqlJDK1.8、MyEclipse8.5开发工具包和MyEclipse自带的Tomcat服务器。
3.2 开发工具
3.2.1 MyEclipse8.5 MyEclipse是一个非常好的集成开发环境旨在简化多操作系统软件工具的开发过程可用于管理各种开发任务包括测试性能调优和程序调试还可以从 针对多个供应商的第三方应用开发工具。 通过集成大量插件Eclipse的功能可以扩展到支持各种不同的应用程序。主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大支持也十分广泛尤其是对各种开源产品的支持相当不错。
3.2.2 MySql
MySQL是一个关联的数据库管理系统由瑞典MySQL AB 公司开发它将数据与不同表中的数据进行关联而不是将所有数据放在大型存储库中。 这提高了速度并提高了灵活性。 MySQL的SQL结构化查询语言是用于访问数据库的最常用的标准化语言。MySQL是开源的所以不需要支付其他的费用可以到官方的网站进行下载。MySQL不仅支持中小型的数据库也支持拥有上万条数据记录的大型数据库。而且MySQL是适合于多个系统上的它支持很多语言。也正是由于其体积小速度快总体拥有成本低特别是开源这一功能许多中小型网站为了降低网站的总体拥有成本并选择MySQL作为网站数据库。
3.3 相关技术介绍 本系统中使用了JSP技术、JDBC技术、MVC模式与struts框架技术下面将简单介绍这些技术。
3.3.1 JSP技术简介 JSP和servelet一样都属于“web层”比起html这种直接把文件传到服务器供用户浏览的“静态网页技术”JSP属于“动态网页技术”。所谓“动态网页技术”就是根据客户发出的请求来做出响应并且生成页面并返回给用户。显而易见比起“静态网页技术”JSP是有很多好处的比如灵活性和数据保密等方面。当然也存在着不足那就是其响应速度相对较慢因此现在解决这一问题的方法就是把“动态网页”中相对固定的部分作为缓存。JSP将网页逻辑与网页设计的显示分离支持可重用的基于组件的设计使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术。 JSP是面向服务器的因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时JSP引擎将请求对象发送给服务器端的相关组件比如JavaBean组件、Servlet或EJB等然后由服务器端组件处理这些请示可能需要从数据库或数据存储中检索信息然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面根据JSP页面的HTML格式完成数据编排最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行网络上传送给客户端的仅是得到的结果。
3.3.2 JDBC技术技术简介 JDBCJava Data Base Connectivity,java数据库连接是一种用于执行SQL语句的Java API可以为多种关系数据库提供统一访问它由一组用Java语言编写的类和接口组成。有了JDBC向各种关系数据发送SQL语句就是一件很容易的事。换言之有了JDBC API就不必为访问Sybase数据库专门写一个程序为访问Oracle数据库又专门写一个程序或为访问Informix数据库又编写另一个程序等等程序员只需用JDBC API写一个程序就够了它可向相应数据库发送SQL调用。同时将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序只须写一遍程序就可以让它在任何平台上运行这也是Java语言“编写一次处处运行”的优势。简单来说。JDBC可以做三件事情与数据库建立连接、发送操纵数据库的语句、返回处理结果。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
3.3.3 MVC模式与Struts框架技术
MVC模式 MVC是一个设计模式它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型、视图、控制器。它们各自处理自己的任务。
视图V 视图是用户看到并与之交互的界面。对老式的Web应用程序来说视图就是由HTML元素组成的界面在新式的Web应用程序中HTML依旧在视图中扮演着重要的角色但一些新的技术已层出不穷它们包括Macromedia Flash和像XHTMLXML/XSLWML等一些标识语言和Web services. 如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生不管这些数据是联机存储的还是一个雇员列表作为视图来讲它只是作为一种输出数据并允许用户操纵的方式。
模型M 模型表示企业数据和业务规则。在MVC的三个部件中模型拥有最多的处理任务。被模型返回的数据是中立的就是说模型与数据格式无关这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用所以减少了代码的重复性。
控制器C 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求然后再确定用哪个视图来显示返回的数据。
Struts框架技术 Struts 框架就是基于Model 2 的架构也就是基于MVC模式的框架技术。它是一个免费的开源的WEB层的应用框架,具有很高的可配置性和有一个不断增长的特性列表。一个前端控制组件一系列动作类动作映射处理XML的实用工具类服务器端java bean 的自动填充支持验证的WEB 表单国际化支持生成HTML实现表现逻辑和模板组成了struts的灵魂。
4. 总体设计 总体设计阶段的基本目标就是回答“概括的说系统应该如何实现”这个问题因此总体设计又称为概要设计或初步设计。通过这个阶段的工作开发人员将划分出组成系统的物理元素如程序、文件、数据等。但这些物理元素还处于黑盒子的形式具体的内部细节在详细设计考虑。总特设计的另一项任务是设计软件的总体结构即确定系统中的每个程序有哪些模块组成每个模块的功能及模块和模块之间的接口、调用关系等但所有这些都不要求涉及模块内部过程的细节。
4.1 系统模块总体设计 九重天动漫论坛系统在设计时应满足以下几个目标 1使用人机交互的操作查询信息快捷方便后台管理确保数据库的稳定性其次是尽可能使界面美观。 2为用户提供一个方便、快捷的专业特色信息查看功能。 3实现在线添加专业特色。 4. 操作简单易于理解便于使用。 5. 屏幕设计简洁明快屏幕元素布局合理。 6用户随时都可以查看自己发表的建议。 7系统要尽可能的设计成便于管理员维护和方便操作。 8系统运行稳定安全可靠。 九重天动漫论坛的总体设计包括两大部分一是前台的总体设计也就是对于普通用户模块的设计包括注册会员会员登录浏览帖子发表帖子回复帖子的功能二是后台的设计也就是对于管理员的模块设计包括管理员对版块进行增加修改删除的操作对用户进行删除操作对帖子进行删除操作等基本功能。
功能结构如图4.1.1 4.1.1 普通用户模块设计 1、会员注册与登录 访问到论坛主页时所有用户都默认为游客只能执行浏览、搜索帖子的功能希望进行下一步操作需要进行会员登陆。 如果用户为非会员用户通过注册经审核通过之后成为会员获得一个登陆身份登陆之后可以进行发帖评论等功能。 2、会员登录 如果用户为会员可以直接登陆。登陆之后才能进行发帖、评论等功能。 3、浏览帖子 访问到论坛时页面会显示版块、分区和发表的帖子用户可以直接浏览帖子的内容也可以选择感兴趣的版块或者分区从里面浏览该分区内的帖子的内容。该模块没有权限设置无论是会员还是管理员都可以进行操作。 4、发表帖子 用户登陆后可以发表一些帖子来与他人共享最新资讯。 5、回复帖子 用户登陆后可以在自己或别人发表的帖子下发表评论或者回复发表自己的想法。 会员在登录后可进行的操作如图4.1.2所示 4.1.2 管理员模块设计
1、 管理员登录 对于已经登录的用户若权限为管理员可以进行管理员的登录登陆之后才能有权限进行下一步操作。
2、帖子管理 管理员可以对发表的帖子进行查询、删除等操作。
3、分区管理 论坛中的分区管理员可对其进行添加、修改、删除等操作。 4、版块管理子版块管理 论坛中的分区下有不同的版块可以对指定分区下的版块进行添加、修改、删除等操作。
子版块位于版块之内可以对指定版块进行添加子版块编辑和删除子版块的操作。
5、用户管理 用户注册成功后管理员可以对用户进行删除操作。 管理员模块设计结构如图4.2.1 4.2 数据库设计 良好的数据库设计可以大大方便在开发过程中的编程。一个合理、有限的数据库设计可降低程序的复杂性使程序开发的过程更为容易。 本系统是一个中小型的动漫论坛系统考虑到开发成本、用户信息量客户需求等问题决定采用MYSQL作为项目中的数据库。 MySQL相对来说是个小型关系型数据库管理系统由瑞典的MySQL AB公司开发在2008年被SUN公司收购。而2009年,SUN又被Oracle收购.Mysql是最流行的关系型数据库管理系统在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统关联数据库将数据保存在不同的表中而不是将所有数据放在一个大仓库内这样就增加了速度并提高了灵活性。MySQL软件采用了双授权政策本词条“授权政策”由于其体积小、速度快、总体拥有成本低尤其是开放源码这一特点一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越搭配PHP和Apache可组成良好的开发环境。
4.2.1 数据库分析 通过对系统的需求和功能的分析将系统的数据结构主要划分为四个部分用户、管理员、帖子、模块这四个。 用户执行的主要是注册会员会员登录浏览帖子发表帖子回复帖子的功能。 管理员则主要进行后台管理包括对分区、版块以及子版块进行增加修改删除的操作对用户进行删除操作对帖子进行删除操作等基本功能。 帖子是用户之间进行交流的直接手段其中包括帖子的题目内容发帖人发帖时间所属板块信息。 模块是最先展示给用户的包括具体的分区、板块和子版块。模块间的关系如同级、上下层的关系要把握好。 从这上面的信息我们可以将数据库这样设计 设计四个表信息如下 t_user用于存放用户注册信息。 t_topic用于存放版面信息。 t_threads用于存放贴子信息。 t_forums用于存放论坛类别介绍。 这四个表的详细的逻辑设计详见4.2.3.
4.2.2 数据库结构设计 E-R模型的基本概念 ER图即实体关系图是描述实体和关系的图。ER图构建实体间的关系模型。ER图的思想是项目所有参与者能理解ER图。ER图的构成要素是实体关系类型属性。实体是现实事物的形象或者抽象描述必须有业务意义。特性是用来描绘实体关系存在于实体之间 1实体现实世界中的各种事物 2属性事物的特性 3联系事物之间的关系。实体的关系有一对一、一对多、多对多联系。 根据系统的总体设计我们可以看出看系统的主要实体有用户、管理员、帖子、模块这四个。 大体的概念模型设计如下图4.2.2所示 4.2.3 数据库逻辑设计
表1 t_user用户信息表 序号 名称 别名 类型 长度 1 id 编号 int 11 2 userName 用户名 varchar 50 3 userPW 用户密码 varchar 50 4 realName 真实姓名 varchar 50 5 email 邮箱 varchar 100 6 userType 用户权限 int 11 7 isDel 删除标记 int 11
该表用于存放用户注册信息 id是t_user表的主键是表示用户的编号。 userName是用户名是用户登录所需要的信息之一。 userPW是用户密码和用户名一起作用于用户登录。 userPW是用户真实姓名用于用户注册对管理员可见。 Email是邮箱用于注册对管理员可见。 Usertype 是用户类型用来表示用户的权限我们设置usertype为0的是管理员具有更高的权限usertype为1的是普通用户只能实现前端的功能。 isDel是删除标记表示该用户是否被删除被删除用户发表帖子依旧能显示在论坛中所以删除用户不是讲用户从数据库中移除而是将其删除标记置为1。
表2 t_forums论坛类别介绍表 序号 名称 别名 类型 长度 1 fid 模块编号 int 11 2 type 类型 varchar 10 3 name 名字 varchar 100 4 fup 上级编号 int 11 5 status 状态 smallint 6
该表用于存放论坛类别介绍 fid是编号用来表示管理员最近添加或者修改删除的分区、版块、子版块。是该介绍表的主键 Type表示的是类型用来表示管理员实施操作是对分区、版块还是子版块进行的通过type表示区分三者。 Name是名称表示管理员实施操作时的分区、版块及子版块的名称。 Fup表示的上级模块默认最顶层的为0即每个分区的上层为0每个版块的上层对应的编号是每个分区的编号fid每个子版块对应的上层编号是每个模块对应的编号fid。 Status表示状态即这些模块存在与否对于存在的记为“1”不存在的记为“0”.
表3 t_topic版面信息表 序号 名称 别名 类型 长度 1 pid 新帖编号 int 11 2 fid 模块编号 int 11 3 author 作者 varchar 100 4 authorid 作者id int 11 5 subject 标题 varchar 100 6 view 观看 int 11 7 replies 回复 int 11 8 addtime 发表时间 datetime 0
该表用于存放版面信息。 Pid即新帖编号也就是发布的新的帖子的编号是该表的主键。 fid是编号用来表示新帖所属的模块子版块。 Author表示发帖的作者名字。 Authorid 表示发帖的作者编号。 Subject 表示发表的新帖子的内容。 View 表示有多少观看量浏览量。 Replies 表示回复帖子的数量。 Addtime 表示帖子发布的时间。
表4 t_threads贴子信息表 序号 名称 别名 类型 长度 1 tid 帖子编号 int 11 2 pid 新帖编号 int 11 3 fid 题目编号 int 11 4 ftype 类型 int 11 5 author 作者 varchar 50 6 authorid 作者id int 11 7 subject 标题 varchar 100 8 Content 内容 varchar 10000 9 addtime 发表时间 datetime 0 10 tnum 帖子数量 int 11
该表用于存放贴子信息。 Tid 即帖子的编号这个帖子可以表示新发布的新帖也可以表示是回复的帖子是该表的主键。 Pid 即新帖编号也就是发布的新的帖子的编号如果帖子是回复帖子的话该编号反应的是回复帖子所属于的帖子的编号。 Fid 是编号用来表示新帖所属的模块子版块。 Ftype 表示帖子的类型如果帖子的类型标志为“0”啧表示该帖是新发布的帖子如果帖子的类型标识为“1”则表示该帖子是回复别的帖子的帖子。 Author表示发帖的作者。 Authorid 表示发帖作者的编号。 Subject 表示帖子的题目。 Content 存放帖子的内容。 Addtime 表示帖子发布的时间。 tnum 表示帖子的数量。 论坛中所有的操作所产生的数据如注册登录浏览帖子发表帖子回复贴子所产生的数据都需要放到数据库中存储。数据库中以数据表来存放各个功能模块相关的数据数据库的设计对系统非常重要 数据库设计的合理与否安全性稳定性这些方面都直接影响着计算机论坛的运作。一个好的数据库设计方案能够使网站的效率事半功倍。在对数据库的设计要格外的认真的分析考虑的要周全细致。 要确定数据库的物理结构在关系数据库MYSQL中主要是指存取和存储结构。若物理设计满足设计要求即可实施否则需要重新设计或者修改物理结构严重时甚至需要返回逻辑设计阶段对数据模型进行修改。 数据库是众多用户共享的系统很多时候对同一关系需要建立多条存取路径才能满足多用户的多种需求。现代技术的飞速发展使得数据库存储变更简单、方便、易行。索引法和聚簌法都可以使物理设计顺利实现。
4.2.3 数据库连接
bean iddataSourceclassorg.apache.commons.dbcp.BasicDataSourceproperty namedriverClassNamevaluecom.mysql.jdbc.Driver/propertyproperty nameurlvaluejdbc:mysql://localhost:3306/db_bbs?useUnicodetrueamp;amp;amp;amp;amp;amp;characterEncodingutf-8/propertyproperty nameusername valueroot/propertyproperty namepassword valueroot/property