logo资料库

基于jsp个人博客系统.doc

第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
资料共37页,剩余部分请下载后查看
第1章 概 述
1.1 系统目的和意义
1.2 系统开发环境
1.3 系统基本功能
第2章 系统总体设计
2.1系统的功能模块设计
2.2数据库设计
第3章 系统的详细设计及编码
3.1数据库底层访问类
3.1.1添加DBManager
3.1.2编写公共方法
3.2 登录模块
3.2.1 View层构建
3.2.2 Model层构建
3.3.3 Controller层构建
3.3 管理系统首页面导航
3.4 文章类别管理
3.4.1 增加文章类别
3.4.2 分页查看文章类别
3.4.3 修改文章类别
3.4.4 删除文章类别
3.5 文章管理
3.5.1 分页查看文章
3.5.2 添加文章
3.5.3 修改文章
3.5.4 删除文章
3.6 好友链接管理
3.6.1 分页查看好友
3.6.2 添加好友
3.6.3 修改好友
3.6.4 删除好友
3.7 博主信息管理模块
3.7.1 修改个人信息
3.9 留言管理模块
3.9.1 删除留言
3.10 前台浏览模块
3.10.1 前台主页浏览
3.10.2 前台文章浏览
3.10.3 分类别文章列表
3.10.4 前台类别浏览
3.10.5 前台好友浏览
3.10.6 留言板功能
3.10.7 网站投票
结 论
参考文献
东北石油大学本科生课程设计(论文) 目 录 第 1 章 概 述.................................................................................................................. 1 1.1 系统目的和意义.................................................................................................. 1 1.2 系统开发环境...................................................................................................... 1 1.3 系统基本功能...................................................................................................... 1 第 2 章 系统总体设计.................................................................................................... 2 2.1 系统的功能模块设计........................................................................................... 2 2.2 数据库设计........................................................................................................... 3 第 3 章 系统的详细设计及编码.................................................................................... 5 3.1 数据库底层访问类............................................................................................... 5 3.2 登录模块.............................................................................................................. 6 3.3 管理系统首页面导航.......................................................................................... 8 3.4 文章类别管理...................................................................................................... 9 3.5 文章管理............................................................................................................ 14 3.6 好友链接管理.................................................................................................... 18 3.7 博主信息管理模块............................................................................................ 22 3.8 前台浏览模块.................................................................... 错误!未定义书签。 结 论.............................................................................................................................. 35 参考文献.......................................................................................................................... 36
东北石油大学本科生课程设计(论文) 第 1 章 概 述 1.1 系统目的和意义 本次课程设计的题目是“基于 MVC 模式的个人博客系统”的设计与实现,该设 计是对本学期前八周所学的 JSP 程序设计课程的巩固和深入应用,同时结合 Java 语 言、JSP 技术进行 Web 程序设计,利用前面学过的知识来解决实际问题,锻炼解决 问题的能力和动手编程的能力。同时使用目前企业实际开发中比较成熟的 MVC 模式 进行系统的整体架构设计,有效分离模块、功能之间的代码耦合关系,并逐步理解 软件开发步骤和软件工程思想。 1.2 系统开发环境 1.本系统采用 Browser/Server 体系结构。 2.系统开发环境 1)开发平台:MyEclipse5.5.1 GA 2)开发语言: Java、HTML 3)数据库:Microsoft SQLServer2005 3.系统运行环境 客户端:浏览器:IE8.0 服务器端:数据库:Microsoft SQLServer2005 应用程序系统 1.3 系统基本功能 该课题设计过程中,主要实现前台和后台两部分功能设计,其中前台包括对个人 信息、文章信息、好友链接信息,类别信息,留言及留言列表,后台包括登录、文 章类别管理、文章管理和好友链接管理,留言管理,网站投票,个人信息管理,其 中每类信息管理包括基本的数据维护功能,如增删改等。 1
东北石油大学本科生课程设计(论文) 第 2 章 系统总体设计 2.1 系统的功能模块设计 博客是一种通常由个人管理、不定期发表、转载新文章的网站。博客上的文章通 常根据发表时间,以倒序方式由新到旧排列。个人博客系统包括以下几个模块: 1、博主登录模块 博主通过输入用户名和密码和验证码进入后台管理系统,管理界面有导航功能, 通过点击不同的链接,从而进入不同的管理模块。 2、文章类别管理模块 博主通过后台管理系统的导航页面进入文章类别管理模块,可以对文章类别进行 普通的数据库维护,对文章类别信息进行增删改查。 3、文章管理模块 博主通过后台管理系统的导航页面进入文章管理模块,可以对文章进行普通的数 据库维护,对文章信息进行增删改查。 4、好友链接管理模块 博主通过后台管理系统的导航页面进入好友管理模块,可以对好友进行普通的数 据库维护,对好友信息进行增删改查。 5、博主信息管理模块 博主通过后台管理系统的导航页面进入博主信息管理模块,可以对博主信息进行 普通的数据库维护,对博主信息进行修改。 6、前台浏览模块 进入前台主页可以对文章信息,文章类别信息,好友信息,和博主个人信息进行 浏览,并且能对博主投票和留言。 7、留言管理模块 进入前台主页可以对博主进行留言,博主通过后台管理系统的导航页面进入留言 管理模块,可以对留言进行普通的数据库维护,对留言进行删除。 8、网站投票模块 进入到前台页面可以对网站进行五个等级的投票,并显示投票结果。 系统功能模块图如图 2-1 所示。 2
东北石油大学本科生课程设计(论文) 个人博客系统 登 录 模 块 文 章 模 块 文 章 类 别 模 块 好 友 信 息 模 块 博 主 信 息 模 块 留 言 管 理 模 块 前 台 浏 览 模 块 网 站 投 票 模 块 图 2-1 系统功能模块图 2.2 数据库设计 根据 2.1 节中的分析,个人博客系统数据库中包括博主信息表(user_info)、文章 信息表(article)、文章类别信息表(type)、留言信息表(reply)、投票信息表(vote)、 好友信息表(Reply)…… 表的结构、表字段的数据类型及相关说明如下: 列名 user_loginname user_nickname 说明 登录名 昵称 user_password 用户密码 user_gender user_qq 性别 QQ 号 表 2-1 博主信息表 数据类型 nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) int user_email 邮件地址 nvarchar(50) 约束 主键 列名 type_id type_name type_info 列名 article_id article_type 说明 类别 ID 类别名称 类别描述 说明 文章 ID 文章类别 表 2-2 文章类别表 约束 主键、自增长标识 数据类型 int nvarchar(50) nvarchar(50) 表 2-3 文章信息表 3 数据类型 约束 int int 主键、自增长标识 外键,引用 type_id
东北石油大学本科生课程设计(论文) article_title article_content 文章标题 文章内容 article_publishtime 文章发表时间 article_updatetime 文章修改时间 nvarchar(50) text varchar(50) varchar(50) 列名 friend_id friend_name friend_href 列名 reply_id reply_name reply_content reply_date 列名 vote_id vote_type vote_num 表 2-4 好友信息表 约束 主键、自增长标识 数据类型 int nvarchar(50) nvarchar(50) 约束 主键、自增长标识 表 2-5 留言信息表 数据类型 int nvarchar(50) text nvarchar(50) 表 2-6 投票信息表 约束 主键、自增长标识 数据类型 int nvarchar(50) int 说明 好友 ID 好友姓名 好友链接 说明 留言 ID 留言者 留言内容 留言日期 说明 投票 ID 投票类别 投票数量 以上就是个人博客系统所需的数据表,按照这些表结构设计,在 Microsoft SQLServer2005 中创建数据库 MyBlog,并创建相应的表。 4
东北石油大学本科生课程设计(论文) 第 3 章 系统的详细设计及编码 3.1 数据库底层访问类 本系统的设计使用基于 Servlet 的 MVC 架构模式,将系统的各个功能的实现过程 严格的划分为视图(View)、控制(Controller)、模型(Model),其中 View 负责界 面的显示, Controller 负责请求的转发和响应,Model 负责逻辑业务对象实体和业务实体。 由于本系统是一种信息管理系统,在这三层之下,还要建立数据库访问层,该层完 成数据库的连接、SQL 语句的具体执行等操作。这一层由 MVC 模式中的 Model 层 里的业务实体进行调用,从而完成逻辑业务的信息维护操作。 3.1.1 添加 DBManager 首先创建包 nepu.hjc.utils,在该包下创建名为 DBManager 的类,该类得职责用于 提供访问、操作数据库的公共方法。 添加公共类的方法和步骤如下: 1、在工程中的包名上点右键,选择【New】->【Class】菜单项,将弹出【New Java Class】对话框; 2、在【Name】填上 DBManager,然后单击【确定】即创建成功; 3.1.2 编写公共方法 3.1.1 小节为项目添加了一个 DBManager 类,该类用于存放连接、操作数据库的 公共方法,本小节介绍如何编写这些公共方法。 首先为 DBManager 类声明几个公共变量,其中 conn 为数据库连接对象,rs 为查 询数据库后得到的结果集,stmt 为 sql 语句对象,uri 为 JDBC 连接方式的数据库连 接字符串,user 和 password 分别为数据库连接时的用户名和密码。 private Connection conn = null; private ResultSet rs = null; private Statement stmt = null; private PreparedStatement pstmt = null; private String uri = "jdbc:sqlserver://localhost:1433;DatabaseName=MyBlog"; private String user = "sa"; private String password = "123456"; 5
东北石油大学本科生课程设计(论文) 1、数据库连接方法 getConnection() getConnection()方法使用 JDBC 技术连接数据库,首先要注册数据库的驱动到应 用程序中,然后使用 DriverManager 类得静态方法 getConnection()来获得数据库的连 接对象,getConnection()方法包括三个参数,第一个参数为数据库连接字符串,第二 个和第三个分别是连接时的用户名和密码,同时注意异常的处理。第一个异常就是 在注册驱动时有可能引发的异常 ClassNotFoundException,第二个异常是获取数据库 连接时引发的异常 SQLException。在相应的异常处理中,在后台分别打印不同的错 误信息。getConnection 方法的关键代码如下: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection(uri, user, password); 2、数据库查询方法 executeQuery() stmt = conn.createStatement(); rs = stmt.executeQuery(sql); 3、数据库增删改的操作方法 executeUpdate() stmt = conn.createStatement(); return stmt.executeUpdate(sql); 3.2 登录模块 登录是每一个成功项目中不可缺少的模块,好的登录模块可以保证系统的可靠性 和安全性。本节首先严格按照 MVC 架构模式为个人博客系统制作了一个简单的登录 模块,登录成功后,应当进入该系统的后台管理系统,因此本节还详细介绍了主窗 体的设计。 按照 MVC 模式进行构建登录功能的开发,对该模块的文件构建说明如下 1、Model 层:在 nepu.hjc.model 包中添加博主的实体 Javabean,类名为 UserBean。 在 nepu.hjc.DAO 包中添加业务 DAO,类名为 UserDAO。其中 UserBean 的代码如下: public class UserBean { private String name=""; private String nickname=""; private String password=""; private String gender=""; private int qq= 0; private String email=""; …… 此处省略get/set方法 //博主登录名 //博主昵称 //博主密码 //博主性别 //博主QQ //博主Email } 在业务 JavaBean 类 UserDAO 中将数据库名以及数据库列名都声明为静态字段, 以方便代码的管理和维护。 2、Ctroller 层:在 nepu.hjc.servlet 中添加类 UserServlet。 在UserServlet中添加几个私有方法以简便代码管理和维护(其他Servlete添加相同 6
东北石油大学本科生课程设计(论文) 方法)。添加方法setAttributeBySession,方便在servlete中存数据到session,核心 代码如下: HttpSession session = request.getSession(); session.setAttribute(key, object); 添加方法forward,方便在servlete中通过requestDispatcher跳转,核心代码如下: RequestDispatcher rd = request.getRequestDispatcher(pageUrl); rd.forward(request, response); 添加方法setAttributeBySession,方便在servlete中存数据到session,核心代码如下: HttpSession session = request.getSession(); return session.getAttribute(key); 3、View 层:在 Webroot/admin 文件夹下添加名为 login.jsp 的 JSP 文件 3.2.1 View 层构建 首先在 MyEclipse 的项目的 WebRoot 目录中建立 admin 文件夹,在其下建立 JSP 页面,在该页面中编写表单代码,其中注意表单的 action 属性为该表单信息提交的 服务端 URL 地址,method 属性为提交方式。在这里由于是按照 MVC 模式,将信息 提交给 Servlet,因此 method 必须 post。同时为避免复杂的 URL 的路径逻辑关系, 统一使用绝对路径。图 3-1 所示为登录界面图: 图3-1 登录界面设计 3.2.2 Model 层构建 在业务 JavaBean 类 UserDAO 中建立方法 userExist(),实现过程中借助 DBManger 数据库底层操作类,实现用户登录的判断。此方法是通过用户名和密码判断某用户 是否存在的方式完成登录功能的。主要的实现过程是:首先根据传过来的登录名和 密码,将 sql 语句改为通过 WHERE 子句根据用户名和密码查询条数,如果条数不为 0 则用户名密码正确,否则用户名密码错误。 该方法的核心代码如下: sql = "SELECT * FROM " + TABLE_NAME + " WHERE " + USER_NAME + 7
分享到:
收藏