您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页JSP程序设计-个人博客系统的JSP网站设计

JSP程序设计-个人博客系统的JSP网站设计

来源:飒榕旅游知识分享网
武汉理工大学华夏学院 课程设计报告书

课程名称: JSP程序设计课程设计

题 目: 个人博客系统的JSP网站设计

系 名: 信息工程系

专业班级: 计算机1111班

姓 名: 学 号: *********** ****: ***

2014 年 6 月 27 日

武汉理工大学华夏学院信息工程系

课 程 设 计 任 务 书

课程名称: JSP程序设计课程设计 指导教师: 苏永红 班级名称: 计算机1111班 开课系、教研室: 软件与信息安全

一、课程设计目的与任务

JSP程序设计课程设计是《JSP程序设计》课程的后续实践课程,旨在通过一周的实践训练,加深学生对JSP程序设计中的概念,原理和方法的理解,加强学生综合运用JSP网站设计技术进行实际问题处理的能力,进一步提高学生进行分析问题和解决问题的能力,包含系统分析、系统设计、系统实现和系统测试的能力。

学生将在指导老师的指导下,完成从需求分析,系统设计,编码到测试的全过程。

二、课程设计的内容与基本要求

1、课程设计题目

个人博客系统的JSP网站设计 2、课程设计内容

运用JSP技术设计一个个人博客系统,由前台用户操作和后台博主操作模块组成,其规划功能模块如下:

(1) 前台用户操作

该模块主要包括查看文章、查看相册、查看好友、查看留言和博主登录等功能。 (2)后台博主操作

该模块主要包括文章管理、文章类别管理、相册管理、好友管理等功能。 具体要求为:

(1) 要求使用HTML页面布局、JSP指令标识、JSP动作标识、JSP内置对象、JavaBean技术、JDBC技术、SQLServer2005或MySQL5.0数据库操作技术等。

(2) 要求对用户登录信息进行判断,对不同的用户实现不同的访问控制权限,相关表的设计要求与实际应用模块关联,管理员对各个模块信息进行管理。

(3) 每个人需要检查设计的网站,设计报告文档,并提交纸质版的课程报告和电子版的网站设计资料,包括:源程序,网站运行效果截图,电子版的资料以班为单位刻成光盘后由学习委员统一提交。

3、设计报告撰写格式要求

1设计题目 2 开发环境 3 需求分析 4系统功能结构图

5 数据库设计(包含数据表的设计、表间关系、E-R图)

6模块的算法流程图,图居中显示,图下方要有图编号和图名称 7 公共类的编写(包括数据库连接及操作类、字符串处理类)

8、前台主页面设计 9、文章显示模块设计 10、博主登录模块设计 11、相册管理模块设计

12、调试过程和运行结果及结果分析(其中包括网站各个模块的运行结果和结果数据分析)

7 自我评价与总结 8 附录:程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释;

三、课程设计步骤及时间进度和场地安排

本课程设计将安排在第19周, 教育技术中心。具体安排如下: 第一天 下发任务书,学生查阅资料 第二天 系统设计和原型开发

第三,四天 系统功能实现,书写课程设计报告 第五天 系统调试 测试 打包和验收 周次 第19周 地点 星期一 第1-8节 现教222 星期二 第1-8节 现教222 星期三 第1-8节 现教222 星期四 第1-8节 现教222 星期五 第1-8节 现教222

四、课程设计考核及评分标准

课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。具体评分标准如下:

设置六个评分点

(1)设计方案正确,具有可行性、创新性; 25分 (2)系统开发效果较好; 25分 (3)态度认真、刻苦钻研、遵守纪律; 10分 (4)设计报告规范、课程设计报告质量高、参考文献充分 20分 (5)课程设计答辩概念清晰,内容正确 10分 (6)课程设计期间的课堂考勤、答疑与统筹考虑。 10分 按上述六项分别记分后求和,总分按五级记分法记载最后成绩。

优秀(100~90分),良好(80~分),中等(70~79分),及格(60~69

分),

不及格(0~59分)

1课程设计题目

个人博客系统的JSP网站设计

2系统设计目标分析

本系统主要实现博客用户与访问者之间的交流,展现博主的思想。

Blog博客网站致力于为广大博客提供优质博客页面服务的商业网站。每个博客都希望借助自己的博客页面宣传自己,而博客数量越多,网站的点击率越高就越能够吸引广大的企业客户选择该商业网站作为媒介,将自己的产品展现给客户。本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:

1)登录博客系统的后台管理平台。 2)撰写日志。 3)日志管理。 4)相册管理。 5)好友管理。 6)评论管理。 7)留言管理。

博客访问者具有以下功能:

1)浏览博客系统中的日志、留言、评论。 2)发表评论及留言。 3)检索日志。

3 开发工具

开发工具:

开发软件 :MyEclipse10开发 系统结构 操作系统 浏览器 数据库

: B/S结构 :windows xp :IE6.0浏览器支持 :MySQL2005数据库支持

应用服务器 :Tomcat6.0服务器支持 JDK开发包 :jdk1.5版本

4 需求分析

4.1 用户需求分析

本文研究的博客(BLOG)系统是互联网上的用户应用系统,它是一种发表个人思想,

网络链接,日志内容,通常按照时间顺序排列,并且不断更新的信息发布方式。

本系统有两类用户操作:前台用户操作和后台博主操作。

4.2 功能需求分析

从系统功能角度出发,一个典型的博客(BLOG)系统主要包含以下功能模块。

4.2.1 用户登入模块

此模块功能是已注册用户的登入。

4.2.2 博客主页显示模块

功能是根据用户的设定将博客内容显示给用户,这些内容包括用户的文章及相关的评论,用户的个性化信息以及其他信息导航。

4.2.3 文章管理模块

功能包括发表文章,浏览文章,修改文章,删除文章功能。

4.2.4 文章类别管理模块

功能包括添加类别,浏览类别,修改类别,删除类别功能。

4.2.5 相册管理模块

功能包括上传照片,浏览照片,删除照片功能。

4.2.6 好友管理模块

功能包括添加好友,浏览好友,修改好友,删除好友功能。

4.2.7 留言管理模块

功能包括浏览留言,,删除留言功能。

5 系统概要设计

5.1 博客登录管理

此模块功能是已注册用户的登入。用户登入模块流程图如图5.1所示:

进入 管理员 登入界面 填写用户名和密登入 身份验证 成功 进入后台 失败

图5.1 用户登入模块流程图

5.2 博客文章显示管理

本模块用于帮助网络用户快速定位到自己关注的博客页面及对应的文章信息中。在本模块中提供了最新文章推荐,还提供了按内容或标题等关键字快速查询所需文章信息。

5.3 发表文章管理

该模块实现了博主发表新文章的功能。只有是博主才能发表文章,对此进行了严格的身份验证。

5.4 发表及显示评论管理

该模块实现了与文章相关的评论管理。无论是否是本站用户都能对文章进行发表评论。 不过未注册用户显示信息为游客。

5.5 留言显示管理

实现了查看用户留言和查询用户/文章的管理,用户可以检索或浏览博客中的文章同时给感兴趣的文章。

6 系统功能结构图

6.1博客网站前台功能结构图

如图6.1所示:

访问博客 查看文章 发表文章评论 查看相册 查看好友 查看留言 给博主留言

图6.1 博客网站前台功能结构图

6.2 博客网站后台功能结构图

如图6.2所示:

博主登入 文章管理 文章类别管理 相册管理 好友管理 留言管理 发表文章 浏览文章 修改文章 删除文字 添加类别 流览类别 修改类别 删除类别 上传照片 浏览照片 删除照片 添加好友 浏览好友 修改好友 删除好友 浏览留言 删除留有 图6.2 博客网站后台功能结构图

7 数据库设计

这一阶段是在系统功能截个图的基础上进行的,设计出满足用户需求的各种实体以及它们之间的关系,为以后的逻辑结构打下基础。根据以上的分析结果,得到文章信息实体,文章类别信息实体,评论信息实体,相片信息实体,好友信息实体,留言信息实体和博主信息实体。下面介绍几个主要的信息实体的E-R图。

7.1 文章信息实体E-R图

如图7.1所示:

文章ID 访问次数 文章所属类别ID 文章描述 文章信息实体 文章标题 文章类别 发表时间 文章来源

图7.1 文章信息实体E-R图

7.2 文章类别信息实体E-R图

如图7.2所示:

类别ID 文章类别信息实体 类别名称 类别描述

图7.2 文章类别信息实体E-R图

7.3 相片信息实体E-R图

如图7.3所示:

相片ID 上传时间 相片地址 相片信息实体 相片描述

图7.3 相片信息实体E-R图

7.4博主信息实体E-R图

如图7.4所示:

密码 性别 博主信息实体 姓名 QQ号码

图7.4 博主信息E-R图

7.5 总体E-R图

如图7.5所示:

留言 查看 博主 上传 照片 发表 文章

图7.5 总体E-R图

7.6主要数据表的结构

表7.1 tb-article 字段名 id 数据类型 int 是否为空 NO YES YES YES YES YES YES YES 是否主键 YES 默认值 NULL NULL NULL NULL NULL NULL 0 描述 文章ID 文章所属 类别ID 文章标题 文章内容 发表时间 文章来源 文章描述 访问次数 article_typeID smallint article_title vrchar article_content vrchar article_sdTime vrchar article_create article_info article_count vrchar vrchar int 表7.2 tb-articleType

字段名 article type_id article type_name article type_info 表7.3 tb_photo 字段名 id photo_addr photo_info

表7.4 tb_master 字段名 maser_name master_password master_sex master_oicq

数据类型 varchar varchar varchar varchar 是否为空 NO YES YES YES 是否主键 YES NULL NULL NULL 默认值 描述 姓名 密码 性别 QQ号码 数据类型 int varchar varchar 是否为空 NO YES YES YES 是否主键 YES NULL NULL NULL 默认值 描述 照片ID 照片地址 上传时间 照片描述 数据类型 smallint varchar varchar 是否为空 NO YES YES 是否主键 YES NULL NULL 默认值 描述 类别ID 类别名称 类别描述 photo_sdTime varchar 8详细设计 8.1 数据库连接

关键代码如下:

package com.yxq.toolsbean; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DB {

private final String url = \"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_Blog\"; private final String userName = \"sa\"; private final String password = \"\"; private Connection con = null; private Statement stm=null;

/* 通过构造方法加载数据库驱动 */ public DB(){ }

/* 创建数据库连接 */ public void createCon() { try {

con = DriverManager.getConnection(url, userName, password); } catch (Exception e) { e.printStackTrace();

System.out.println(\"获取数据库连接失败!\"); } }

/* 获取Statement对象 */

try {

Class.forName(\"com.microsoft.jdbc.sqlserver.SQLServerDriver\").newInstance();

} catch (Exception e) {

e.printStackTrace();

System.out.println(\"加载数据库驱动失败!\");

}

public void getStm(){

createCon(); try {

stm=con.createStatement();

} catch (SQLException e) { }

e.printStackTrace();

System.out.println(\"创建Statement对象失败!\");

}

public boolean executeUpdate(String sql) {

System.out.println(sql);

boolean mark=false;

try {

getStm();

int iCount = stm.executeUpdate(sql); if(iCount>0) else

mark=false;

mark=true;

} catch (Exception e) { e.printStackTrace();

mark=false;

}

return mark; }

加载数据库驱动 public class DB {

private final String url = \"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_Blog\"; private final String userName = \"sa\"; private final String password = \"\"; private Connection con = null; private Statement stm=null;

/* 通过构造方法加载数据库驱动 */

8.2 前台主页面设计

8.2.1 前台主业的实现

前台主页面FrontIndex.jsp的实现,关键代码如下:

<%@ include file=”view/FrontEnd.jsp” %>

8.3 文章显示模块设计

8.3.1 首页面文章的列表显示实现过程

1)创建封装文章信息的值JavaBean-ArticleBean。该ArticleBean实现储存文章ID,文章所属类别ID,文章标题,文章内容,文章发表时间,文章来源,文章描述信息,文章评论信息,文章阅读评数。

2)创建操作数据库的ArticleDao类,在该类中实现了对数据库进行各种增,删,改,查的操作。按类别和不按类别查询文章,统计当前文章的评论数。

3)创建接收并处理访问首页请求的Servlet-IndexServlet,实现显示文章,显示文章发表时间,显示文章评论及阅读次数。

4)在FrontIndex.jsp页面中的内容显示区编写列表显示文章的代码。 5)在web.xml配置IndexServlet,配置代码如下:

indexServlet

com.yxq.servlet.IndexServlet

indexServlet

/IndexServlet

8.3.2 文章详细显示的实现过程

流程图如8.1所示:

进入文章管理界面 N 发表 文章 Y 保存文章 N 浏览 文章 Y 阅读文章 N 修改 文章 Y 修改并保存文章 N 删除 文章 Y 删除指定文章 结束

图8.1 文章管理流程图

8.4博主登入模块设计

8.4.1 博主登入实现过程

博主登入流程图如图8.2所示:

进入 管理员 登入界面 填写用户名和密登入 身份验证 成功 进入后台 失败

图8.2 博主登入界面流程图 1)页面设计

2)值JavaBean的创建

创建MasterBean类封装登入表单中的数据。 3)创建接受并处理登入请求的Servlet

在登入页面logon.jsp中,提交表单将触发”LogonServlet?action=logon”资源,通过在web.xml文件中的配置,logonServlet为某个Servlet的映射;传递的action参数则通知该Servlet进行的操作,取值为logon表示该登入作为查询数据表来验证输入的用户名和密码;与LogonServlet的映射的Servlet的为LogXervlet.java。

8.5相册管理模块设计

8.5.1 上传照片的实现过程

1)创建用来封装招聘信息的值javaBean-photoBean。photoBean实现了储存照片ID, 储存照片上传的存放位置,储存照片的描述信息,储存照片上传时间。

2)创建实现相册管理功能的业务处理类。该类实现了照片的上传,浏览,删除操作。流程图如8.3所示:

进入相册管理界面 N 上传照片 Y 保存照片 N N 浏览 照片 Y 查看照片 N 删除照片 Y 删除指定照片 结束

图8.3 相册管理流程图

9运行结果

9.1 博客首页界面

如图9.1所示:

图9.1 博客首页界面图

9.2 博主登入界面图

如图9.2所示:

图9.2 博主登入界面图

9.3 文章显示界面图

如图9.3所示:

图9.3 文章显示界面图

9.4 发表文章界面图 如图9.4所示:

图9.4 文章界面图

9.5 相册管理界面图

如图9.5所示:

图9.5相册管理界面图

9.6上传照片显示图

如图9.6所示:

图9.6上传照片面图

10自我评价与总结

这次JSP课设,我做的项目是个人博客系统的JSP网站设计。这次作课设使我更加扎实地掌握了JSP以及数据库的运用,同时让我巩固了JAVA的知识。这次作业跟以往一样,没有老师来指导我们,完全靠我们自己做。在做之前,我一点头绪都没有,但通过上网查找资料和向同学咨询,我终于有了做这个项目的思路,我带着信心开始了这次的设计,可在做的过程中我遇到了很多问题,但经过一次次地思考,一遍遍地检查,终于找出了原因所在,当然也少不了请教同学,做的过程中也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我掌握了课本里没有的知识。做课程设计让我对新的知识有了更深层次地了解和认识。

此次课程设计,我感慨颇多,的确,自从自己完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课设使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做一个项目,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说数据库,页面的跳转……通过这次JSP课程设计之后,我把前面所学过的知识又加强认识了一遍。

这次课设诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。我认为,在这学期的大作业中,不仅培养了思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在做的过程中,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。在对JSP的学习上是我学会了怎么将学到的理论知识用到实践中去,改变了过去的学习方法和学习态度,找到了一门自己很喜欢的学科。在这次大作业中作业不是由我一个人来完成,深深的感受到了一个人力量的单薄,了解到了在完成一个完整的项目上团队的重要性,在实际的程序开发中,团队的力量往往比个人力量之和要大上很多,并且在今后的开发中,我们都将是以团队的形式展开工作的,所以我们应该在现在学习的时候养成一种良好的团队精神,以为将来的开发打下一顶的基础。

11 参考文献

[1] 王克宏、郝建文. Java技术教程[M]. 北京:清华大学出版社,2002.9月 [2] 印旻.Java与面向对象程序设计教程[M].北京:清华大学出版社,1999.11 [3] 宛延闿.Java程序设计实例剖析.北京:国防工业出版社,2003.03

设计过程中质疑(或答辩)记载: 1.在做个人博客网站过程中运用到哪些工具? 答::MyEclipse10和MySQL2005。 1.创建封装文章信息的值JavaBean-ArticleBean实现了什么功能? 答:该ArticleBean实现储存文章ID,文章所属类别ID,文章标题,文章内容,文章发表时间,文章来源,文章描述信息,文章评论信息,文章阅读评数。 3.创建接受并处理登入请求的Servlet起到什么作用? 答:在登入页面logon.jsp中,提交表单将触发”LogonServlet?action=logon”资源,通过在web.xml文件中的配置,logonServlet为某个Servlet的映射;传递的action参数则通知该Servlet进行的操作,取值为logon表示该登入作为查询数据表来验证输入的用户名和密码;与LogonServlet的映射的Servlet的为LogXervlet.java。 指导教师评语: 签名: 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务