个人博客系统的JSP网站设计DOC.docx
《个人博客系统的JSP网站设计DOC.docx》由会员分享,可在线阅读,更多相关《个人博客系统的JSP网站设计DOC.docx(19页珍藏版)》请在冰点文库上搜索。
![个人博客系统的JSP网站设计DOC.docx](https://file1.bingdoc.com/fileroot1/2023-5/16/005adb29-c870-4066-a7e9-a87c04939f5e/005adb29-c870-4066-a7e9-a87c04939f5e1.gif)
个人博客系统的JSP网站设计DOC
武汉理工大学华夏学院
课程设计报告书
课程名称:
JSP程序设计课程设计
题目:
个人博客系统的JSP网站设计
系名:
专业班级:
姓名:
学号:
指导教师:
年月日
武汉理工大学华夏学院信息工程系
课程设计任务书
课程名称:
JSP程序设计课程设计指导教师:
班级名称:
开课系、教研室:
软件与信息安全
一、课程设计目的与任务
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、调试过程和运行结果及结果分析(其中包括网站各个模块的运行结果和结果数据分析)
13自我评价与总结
14附录:
程序清单,注意加注释(包括关键字、方法、变量等),在每个模块前加注释;
三、课程设计步骤及时间进度和场地安排
本课程设计将安排在第19周,教育技术中心。
具体安排如下:
第一天下发任务书,学生查阅资料
第二天系统设计和原型开发
第三,四天系统功能实现,书写课程设计报告
第五天系统调试测试打包和验收
周次
星期一
星期二
星期三
星期四
星期五
第19周
第1-8节
第1-8节
第1-8节
第1-8节
第1-8节
地点
现教222
现教222
现教222
现教222
现教222
四、课程设计考核及评分标准
课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。
具体评分标准如下:
设置六个评分点
(1)设计方案正确,具有可行性、创新性;25分
(2)系统开发效果较好;25分
(3)态度认真、刻苦钻研、遵守纪律;10分
(4)设计报告规范、课程设计报告质量高、参考文献充分20分
(5)课程设计答辩概念清晰,内容正确10分
(6)课程设计期间的课堂考勤、答疑与统筹考虑。
10分
按上述六项分别记分后求和,总分按五级记分法记载最后成绩。
优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),
不及格(0~59分)
1设计题目
个人博客系统的JSP网站设计
2开发环境
Windowsxp;
MyEclipse10;
Tomcat6.0;
MicrosoftSQLServer;
3需求分析
此次课程设计主要是加深学生对JSP程序设计中的概念,原理和方法的理解,加强学生综合运用JSP网站设计技术进行实际问题处理的能力,进一步提高学生进行分析问题和解决问题的能力,包含系统分析、系统设计、系统实现和系统测试的能力。
这次课程设计是运用JSP技术设计一个个人博客系统,由前台用户操作和后台博主操作模块组成。
前台用户可以查看文章、查看相册、查看好友、查看留言和博主登录等功能。
后台博主可以对文章管理、文章类别管理、相册管理、好友管理等功能。
4系统功能结构图
4.1博客网站前台功能结构图
图4.1博客网站前台功能结构图
4.2博客网站后台功能结构图
图4.2博客网站后台功能结构图
5数据库设计
5.1E—R图
在系统功能结构图中基础上,分析得知需要文章信息实体,文章类别信息实体,评论信息实体,相片信息实体,好友信息实体,留言信息实体,博主信息实体这几个实体能够满足用户的需求。
现画出4个主要的信息实体E—R图。
5.1.1文章信息实体
图5.1文章信息实体E-R图
5.1.2文章类别信息实体
图5.2文章类别信息实体E—R图
5.1.3相片信息实体
图5.3相片信息实体E—R图
5.1.4博主信息实体
图5.4博主信息实体E—R图
5.2数据表的设计
表5.1tb_article
表5.2tb_articleType
表5.3tb_master
表5.4tb_photo
表5.5tb_friend
表5.6tb_review
表5.7tb_word
5.3数据表间关系
6模块的算法流程图
6.1博客总体流程图
图6.1博客总体流程图
6.2相册管理流程图
图6.2相册管理流程图
7公共类的编写
7.1数据库连接及操作类
通过构造方法加载数据库驱动,创建createCon()方法来获取数据库的连接,executeQuery()方法来实现查询数据库的操作,executeUpdate()方法来实现增、删、改数据库的操作,closed()方法来关闭数据库连接。
/*通过构造方法加载数据库驱动*/
publicDB(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
}catch(Exceptione){
e.printStackTrace();
System.out.println("加载数据库驱动失败!
");
}
}
7.2字符串处理类
使用changeHTML()方法实现字符串中的特殊HTML字符;
publicclassMyTools{
publicstaticStringchangeHTML(Stringvalue){
value=value.replace("&","&");
value=value.replace(""," ");
value=value.replace("<","<");
value=value.replace(">",">");
value=value.replace("\r\n","
");
returnvalue;
}
使用changeTime()方法将日期型数据转换为字符串;
publicstaticStringchangeTime(Datedate){
SimpleDateFormatformat=newSimpleDateFormat("yyyy年MM月dd日HH:
mm:
ss");
returnformat.format(date);}
}
此方法的返回值是String型,需要创建一个strToint()方法将String型转换为int型,调用Integer类的parseInt()方法实现转换的操作。
8前台主页面设计
前台页面采用一种页面框架,该页面框架采用2分栏结构,分为4个区域:
页头、侧栏、页尾和内容显示区。
前台主页面的JSP文件为FrontIndex.jsp,布局如下:
图8FrontIndex.jsp页面布局
9、文章显示模块设计
此模块的主要功能是用户查看发表的文章列表及文章的详细内容,文章显示功能需要显示的信息包括文章标题、发表时间、文章的阅读次数等。
设计步骤为:
①创建封装文章信息的值JavaBean——AtricleBean。
②创建操作数据库的AricleDao类,在该类中实现了对数据库进行各种增、删、改、查的操作。
在该类中,创建一个queryArticle()方法用来获取在首页中进行列表显示的文章,也可用于其它情况下的文章列表显示。
③创建接收并处理访问首页面请求的Servlet——IndexServlet。
在该页面中将调用ArticleDao类中的queryArticle()方法来获取在首页面要显示的文章。
④在FrontIndex.jsp页面中内容显示区中编写列表显示文章的代码。
⑤在web.xml配置文件中配置IndexServlet。
10、博主登录模块设计
进入登录界面Logan.jsp,输入用户名和密码,在LoganDao中实例化数据库对象,在LogXServlet.java中将输入的用户名和密码与数据库中的数据进行对比,若相同则进入后台管理页面,否则重新登录。
图10.博主登陆模块流程图
11、相册管理模块设计
相册管理模块主要功能是上传、浏览、删除照片。
此模块的实现需要创建封装照片信息的值PhotoBean,创建实现相册管理功能的业务处理类PhotoDao,创建处理相册管理请求的。
上传照片的PhotoUpload.jsp页面中,点击“浏览”,会调用PhotoServlet中的addphoto()方法。
实现图片的上传。
浏览照片需要在PhotoServlet.java中创建用来接收“查看照片”请求的singlephoto()方法,代码如下:
publicvoidsinglePhoto(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,IOException{
PhotoDaophotoDao=newPhotoDao();
StringstrId=request.getParameter("id");
intid=MyTools.strToint(strId);
PhotoBeanphotoSingle=photoDao.queryPhoto(id);
request.setAttribute("photoSingle",photoSingle);
RequestDispatcherrd=request.getRequestDispatcher("/front/photo/PhotoSingle.jsp");
rd.forward(request,response);
}
12、调试过程和运行结果及结果分析
图12.1前台主页面
图12.2我的文章页面
图12.3博主登录界面
图12.4台管理页面
图12.5上传照片界面
13、自我评价与总结
在这一个星期里不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。
在设计的过程中难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,,通过这次课程设计之后,一定把以前所学过的知识重新温故。
除了以上所说的以外,我觉得其实去设计以及实现一个程序所花费的时间远不如测试时用的多,在测试的过程中,我懂得了一些调试的基本步骤,概括的说就是从小到大,从局部到整体,在实现了局部的功能后,应该学会怎么样去将它用最简洁的方法与整体融合起来。
而纠正错误的过程中,也要逐步的去排除,而不应当自己觉得哪里错了就去修改哪里,这样的后果只会事倍功半。
我觉得这些东西对于我以后的工作将有很大的帮助。
通过这次的课程设计,让我更加了解到JSP的重要性。
以及它对我们专业的发展发挥的作用。
对我们而言,知识上的收获很重要,但精神上的丰收更加可喜。
让我知道了学无止境的道理。
这次课程设计必将成为我人生旅途上一个非常美好的回忆!
同时在做课程设计时要能够从多方面去考虑,去研究,用多种方法去实现要求。
此次课程设计,学到了很多课内学不到的东西,比如独立思考解决问题,出现差错的随机应变,这些都让我受益非浅,培养了我的综合能力和运用所学知识,发现,提出,分析和解决实际问题的能力,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。
通过本次课程设计,我觉得不管做什么,始终都要相信自己。
不要畏惧,不要怕遇到困难,什么都要去尝试,有些你开始认为很难的事在你尝试之后你可能会发现原来它并没有你你想象的那么难。
如果没有自信,没有目标,没有信心就很难把事情做好,当其他人都在迷茫的时候,自己一定要坚信目标。
从学习这门课,到以后从事这方面的工作都需要不断地去学习去实践,这次实践可以给我们敲一个警钟,我们面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想。
设计过程中质疑(或答辩)记载:
1.如何实现照片的上传?
答:
应用了jspSmartUpload文件上传组件。
在上传照片的PhotoUpload.jsp页面中,选择上传照片后,提交到PhotoServlet.java进行处理。
首先在doPost()方法中获取用户的请求操作,调用addPost()方法实现照片的上传。
2.如何实现数据库的连接?
答:
创建createCon()方法,使用DriverManager类的getConnection()静态方法获取一个Connection类实例,来实现数据库的连接。
即:
con=DriverManager.getConnection(url,userName,password);
指导教师评语:
签名:
年月日