最新Java实训报告总结心得
Java项目实训报告项目:简易记事本院系:软件学院教师:陈海珠班级:软件1113班学生:时间:201*年6月28日实训成绩评语
一、实训项目
简易记事本
二、实训目的和要求
本次实训是对前面学过的所有面向对象的编程思想以及JAVAWEB编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写采用JSP+Servlet+JavaBean技术框架的应用系统综合实例,以掌握JavaWEB开发技术。
具体要求有以下几点:
1.问题的描述与程序将要实现的具体功能。
2.程序功能实现的具体设计思路或框架,并检查流程设计。3.代码实现。4.设计小结。
三、实训项目的开发环境和所使用的技术
基于J2SE基础,利用MyEclipse8.5以上版本的集成开发环境完成实训项目,界面友好,代码的可维护性好,有必要的注释和相应的文档。
四、实训地点、日程、分组情况:
实训地点:4栋303机房日程:
第一阶段:1.班级分组,选定课题,查阅相关资料半天2.划分模块、小组成员分工半天3.利用CASE工具进行系统设计和分析,并编制源程序5天
第二阶段:上机调试,修改、调试、完善系统2天
第三阶段:撰写、上交课程设计报告,上交课程设计作品源程序(每人1份)2天
五、程序分析
功能模块说明弹出菜单
for(intf=0;f
创建保存文件对话框
publicvoidsaveFile(){
创建打开文件对话框
privatevoidopenFile(){
JFileChooserfilechoose=newJFileChooser();intresult=filechoose.showOpenDialog(null);if(result==JFileChooser.APPROVE_OPTION)}
{try{
Filefile=filechoose.getSelectedFile();FileReaderfr=newFileReader(file);intlen=(int)file.length();char[]context=newchar[len];fr.read(context,0,len);fr.close();
jta.setText(newString(context));
JFileChooserfilechoose=newJFileChooser();intresult=filechoose.showSaveDialog(null);if(result==JFileChooser.APPROVE_OPTION)}
{try{
Filefile=filechoose.getSelectedFile();FileWriterfw=newFileWriter(file);fw.write(jta.getText());fw.close();
}catch(Exceptione){System.out.println("保存文件失败!");}}elsereturn;
}catch(Exceptione){System.out.println("打开文件失败!");}}elsereturn;
六、程序设计及实现
1、实现弹出菜单(JpopupMenu)2、设置字型,字体大小,字体颜色3、实现自动换行
七、实训总结
通过3天的实训,虽然实训的时间不长,但是总体上收获是很大的,我们的java课程学到的只是java和皮毛,一开始我还没有信心完成。我仔细看了书上的代码之后。对计事本有了一个大体的了解,在初训的实候知道自己应该做一个什么样的计事本了,在实训的过程中也遇到了不少困难,通过查API文档和看书,解决了问题,在写到字符的查找的替换时后,用到了上课时学到的知识,对字体的风格的保存里面的颜色分离和还原方法,是通过查API文档获得的,现在我所写的计事本只实现在一些基本功能。简单的复制粘贴,字体风格的设置,还有就是查找和替换功能以及一些字体风格的保存.对文件的操作基本都用到了。
在实现记事本的功能过程中,也不是很顺利,基本的文件读写和保存文档的复制、粘贴、删除等功能还比较容易实现,但如何改变字体、字体颜色和背景颜色,就比较麻烦了,要实现字体颜色和背景颜色,首先要调用系统的调色板,再进行设置。但如何调用系统调色板?我是通过查阅帮助文档来找到其调用方法的。像自动换行、设置字体等都是通过方法来调用,给相关事件加上监听,在进行响应事件。整个程序中方法才是最关键的,也是最困难的。所以像查找、替换、转到几个功能我都不知道用什么方法,也由于时间有限,没有完成其功能。总体的感觉是对java有了一个全新的认识,现在感觉用java做小的图形用户程序有些缺陷,但是在其的应用方面。尤其是有网络方面的应用,在整个实训我也尝试过做一个小的画图软件。但是由于时间关系还有一个是自身的知识的欠缺,最终这个事情被搁浅下来了。最后还是进行计事本的编写。由于在做画图软件时花了不了时间,所以现在的计事本的功能不是很全,如果有更多的时间,我会把这个记事体再完善一下,再把画图软件也做出来。实训的时间不长,但是我会在课外把它们的功能完善。然后再学习一下java和网络的编程,体验java的前沿技术。
在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的时间,我在做这个记事本的时间,其中也问到过许多问题,通过同学的帮助下解决了,提高了程序的开发进程。其他的同学有问题的话我也是给他们尽量解决。我认为学习知识的过程当中就应该是相互学习相互进步的。
Java是面在的主流技术我会努力将它学好,现在我缺乏的是坚持不懈的精神,我会向他学习。
虽然学习java的路还很找,但我会继续走下去。
扩展阅读:Java实训报告总结
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
博客系统的设计与实现
组别:第五组姓名:
学号:100234330909023433271002343140
100234314110023433010902343342
课程名称:JavaB/S架构应用系统设计实训指导老师:
提交日期:201*年6月20日
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
目录
摘要...........................................................................................................................................1前言...........................................................................................................................................3第一章概述.................................................................................................................................4
1.1系统背景及研究现状.......................................................................................................41.2可行性研究........................................................................................................................4第二章开发技术与工具.............................................................................................................12
2.1开发环境..........................................................................................................................122.2开发技术及工具简介......................................................................................................12
2.2.2JSP技术.................................................................................................................122.2.3开发工具-Tomcat...................................................................................................132.2.4MySql5.0简介......................................................................................................12
第三章需求分析.........................................................................................................................15
3.1系统功能要求..................................................................................................................15
3.1.1用户功能................................................................................................................153.1.2前后台功能............................................................................................................153.2系统用例图......................................................................................................................17第四章系统设计.........................................................................................................................20
4.1数据库设计......................................................................................................................20
4.1.1实体-联系图...........................................................................................................204.1.2数据库关系图说明................................................................................................214.1.3数据库表................................................................................................................234.2系统类图设计.................................................................................................................284.3项目组织结构图..............................................................................................................504.4系统功能图......................................................................................................................504.5系统流程图......................................................................................................................514.6系统界面设计..................................................................................................................53第五章系统实现.........................................................................................................................60
5.1系统界面预览..................................................................................................................60
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
5.2主要实现代码..................................................................................错误!未定义书签。第六章测试与运行.....................................................................................................................73
6.1系统测试概述..................................................................................................................736.2系统功能测试..................................................................................................................73
6.2.1测试内容................................................................................................................736.2.2测试用例................................................................................................................736.3系统部署及运行说明......................................................................................................76结束语...........................................................................................................................................95参考文献.......................................................................................................................................96
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
摘要
本系统是一个网络轻博客网站,是大众信息交流的平台。可以通过此博客,对最近发生的事情进行讨论,或者发表个人的一些观点或言论。本文研究了用Java编程语言实现网络轻博客的一般过程。设计与实现了一个基于B/S模式的轻博客系统。
轻博客精神的核心并不是自娱自乐,甚至不是个人表达自由,相反,是体现一种利他的共享精神,为他人提供帮助。个人日记和个人网站主要表现的还是“小我”,而轻博客表现的是“大我”。也许形式上很接近,但内在有着本质的差异。所有优秀博客网站中,真正表达作者个人的内容非常有限,最多只是点缀,而不像个人网站那样是核心。
本系统完成的功能包括前台和后台两个功能模块,前台主要实现了用户需要基本的功能,包括发博文、发图片等,后台主要实现了管理员对系统的管理。系统还对用户的权限进行管理,对每一个功能进行权限设定,只有具有相应权限的人才能进行相应的操作。整个系统采用JSP+Servlet+JDBC的MVC模式,配合一些组件实现界面的美化。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
Abstract
Thissystemiswebsitewhichaplatformusedforexchangesinformationinthecampus.Everyonecandiscussthethingswhathashappenedinoursidethroughtheblog,itcanalsopublishsomeannouncementaboutclassorschool.ThispaperstudieshowtouseJavaprogramminglanguagetorealizetheblog.ThesystemdesignandrealizationadoptsB/Smodelanditworksincampusinternalnetwork.
Thesystemcompletestwomodulesincludingfrontandback.Thefrontmodulerealizesomebasicfunctions,includingpostarticle,repeatarticlesandsoon.Thebackmoduleismaintohelpmanagermanagethesystem.Thesystemcouldmanagetheuser"sauthenticationandTheonlypeoplewhohavetheappropriatepermissionscoulddosomeoperationTheentiresystemusetheMVCmodeofJSP+Servlet+JDBC,withsomecomponentstoimplementinterfacebeautification.
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
前言
随着互联网日益深入社会生活,博客开发技术发展至今,从JSP,ASP,到PHP已经日趋成熟,功能也更加丰富,博客作为一种对外的展示窗口,进行内外信息交流,已成为大众的广泛需要。为了进行更好的交流,用户想就自己的专业和爱好能和其他的用户进行及时专业的交流,这就有了博客,这样以来我们就可以在网络这个虚拟的空间中方便地实现交流。Internet上发布信息主要是通过网站来实现的,获取信息是要在网站博客中和Internet“海洋”中按照一定的检索方式将所需要的信息的。因此博客建设在Internet应用上的地位显而易见,它已成为现代人勾通和获取信息的重要组成部分,从而倍受人们的重视。在博客上,同学与同学之间,老师之间可以非常轻松的进行交流,有网络的地方,不同的地区和国家的各种不同的人都可加入到博客上进行交流。
Java是未来的主流开发技术,具有很多优势。JSP则是Java在Internet/IntranetWeb上的重要应用技术,得到了广泛的支持和承认,它可以和各种Java技术完好地结合在一起,从而实现非常复杂的应用。本网站使用JSP+Servlet和后台数据库Mysql在WEB系统开发的,从而创建一个更为稳定,高效,安全的运行环境。
本文主要讨论了基于B/S模式的一种JSP博客的设计与实现,主要功能是实现客户端和服务器端的动态交互。其中有五个模块:博客用户登陆注册模块,博客帐户信息模块,博文发布模块,用户管理模块,信息管理模块。实现博客的基本功能,具体功能的实现利用Servlet技术进行控制,后台通过JDBC与数据库进行交互操作。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
第一章概述
1.1系统背景及研究现状
虽然现在有很多网络博客,但基本都是面向社会全部人群,以娱乐为主要目的,而方便简洁则相对较少。为了给用户提供一个舒适、安静、精致的记录工具和创作平台,所以决定开发一个不同于博客的厚重和微博的繁杂的轻博客系统。
于是在这种情况下,本文提出了目前比较流行的,基于MVC模式的轻博客,本套轻博客的优点在于它具有强大的可扩展性和可维护性且方便简洁。
博客的精神是:自由表达,开放宽容,个性张扬,专业精神。
在没有自己的博客之前,人们会经常进出于论坛发表贴子或者通过即时通信软件聊天,来表达自已的想法,可是这些都是零散的和杂乱的。博客的出现,让人们可以不断的把自己以前的和每天激发的一些想法或者感受整理放在自己的博客上,每次在写文章的时候,可能又会产生新的想法。虽然一些想法一些思考只是皮毛,没有什么深度,但是当下笔去写的时候每次都会对某个小小的问题有了更多的一点点思考,再写博客的时候就感觉到了一种满足感,一种想法得以释放思考得以延伸的满足感。生活中每天的一个小小的事情都会引起人们的思考,甚至是和朋友的聊天中一个小小的火花迸发。督促自己努力、把一时的想法变成观点,争取在生命中的每天里留下点什么,这也是人们写博客的目的之一。这样就能督促自己每一天不要浑浑噩噩,时光流逝无痕无声无息,写博客也是在自己的每一天上留下了一道浅浅的思考和划痕。
不仅如此,通过写博客、记录自己的想法可以帮助实现如下这些目的:a)记录生活,在自己的每一天上留下思考的划痕。b)整理思路,固化知识,获得更多更好的想法。c)分享,将自己的想法、经验与人分享。
d)交流、提高,通过交流产生更多的思维火花,相互提高。e)交友,互相鼓励,一路同行。
如果说博客网站是一个舞台,那么所有的博客都是其中的舞者,把自己有价值的真实的一面展示在网络世界中,相互交流沟通;如果博客仅仅为了写日志,那么博客是一面镜子,镜子中展现的是真实的自己;如果博客是一个自由媒体,可以把自身感觉有价值的信息通过博客这个工具发布,与网友共享[2]。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
1.2国内外现状
据不完全统计,到今天,全世界博客总量已超过一亿.其中中国的博客达到1600万。博客数量大约6个月翻一番,201*年4月份每天新增博客7万5千人。每天发贴120万篇,平均一小时5万贴。博客的影响力,早已超出了他作为个人,甚至作为自己所在行业的原有范围。开始引起主流媒体的强烈关注。自201*年以后,博客迎来了它的飞速发展时期,作为专业领域的知识传播模式,博客成为了该领域最具影响力的方式之一,博客的影响力也将超越传统媒体。它将成为一种全新的信息组织和传播方式,发挥更大的作用。
1.3博客发展趋势
趋势一:博客现在正在形成个人的信誉机制,有了博客之后就确立了一个个人虚拟身份,简单的来讲就是个人在互联网上是有名有姓的,而不再是一种匿名的行为,网民从流浪汉变成了一个定居者。以前在互联网上的各种行为都是在匿名状态中,相互之间是不认识的,但有了博客之后可以天天关注,而别的人也可以通过博客找到这个人。这样随着时间的积累就会产生一个新的东西,概括叫做“个人的信誉”,个人的信誉就是博客和博客之间发展各种关系的组合,这种信誉对每个人来讲可能是不同的,但对每个博客来讲就产生了新的评价机制,这个机制将是博客商业化的一个前提条件。
趋势二:博客越来越呈现出富媒体化,早期的博客是以文字为主,但随着多媒体发展博客相册、博客图片已经成为博客的基本配置,而现在许多博客网站已经提供了博客音频和博客视频。
趋势三:博客现在正在形成并完善精选机制,博客作为自媒体和个人媒体,产生的信息非常巨大。其中难免产生信息垃圾,随着博客的发展,博客通过精选机制精选出大家喜闻乐见的信息,像国内网摘、博客的评价系统等。
1.4课题研究的意义
随着Blog人数的增加,Blog作为一种新的生活方式、新的工作方式和新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构。它使交流和沟通更有明确的选择和方向性;单一的思想和群体的智慧结合变得更加有效;个人出版变成人人都可以实现的梦想。Blog正在影响和改变着我们的生活。
本系统采用MVC模式设计实现了一个简单的博客系统。MVC模式极大地提高了系统的灵活性、复用性、开发效率、适应性和可维护性,充分发挥了JSP、Servlet等J2EE组件的特点[3]。从而,使更多的人们通过文字、图片、声音、视频、无线等,尽情展示自我、
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
分享感受、参与交流,美好你我生活。Showyou,shareme,人人都可以博客,人人都需要博客。
1.5系统设计目标分析
本系统是用JSP实现的一个完全基于浏览器的博客系统,任何注册个人博客的人都拥有以下功能:
a)登录博客系统的后台管理平台。b)更改博客账号的基本信息。c)撰写日志。d)日志管理。e)评论管理。f)留言管理。
博客访问者具有以下功能:
a)浏览博客系统中的日志、留言、评论。b)发表评论及留言。c)检索日志。
1.3本文内容
本文介绍了实现轻博客系统的一般过程,包括需要解决的问题,系统的需求功能分析,系统的功能设计等。系统主要需要解决普通用户的基本发博文、评论功能,系统管理员对系统进行管理,主要包括系统的用户管理,博文管理等等。
本文首先从系统实现的技术与工具方面详细介绍了系统采用的工具与技术,其次,本文介绍了系统的需求,即系统需要实现的主要功能;介绍了系统对具体功能模块的设计与具体页面设计;最后本文介绍了系统的具体实现,包括最后的页面实现与部分代码实现。在本论文的最后,进行了系统的运行与测试。
1.4可行性研究
该轻博客系统的主要用户是大学校园的学生,所有人数不会太多,而系统规模上总的来说也不会很大,这从根本上减轻了开发的难度,此外,由于我们选择的开发工具和服务器基本上都是免费且开源的,开发的模式则是采用简单易行的B/S模式,因此从经济上来讲开发这样的一个系统是可行的。
从技术上来说,由于是基于Web的,而且是采用JSP/Servlet技术这对于计算机专业的学生来说难度不会很大,可以在一定的时间内完成开发。同时如今的互联网已经是非常的
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
发达,可以借鉴的博客网站也是相当的多,所以技术上也是可行的。
系统的实际运行方面,由于客户端只需要一个浏览器,通过浏览器来登陆系统;服务器端也只需要一台服务器,服务器要求一个数据库环境和一个网络应用开发的环境,实现起来比较容易,故从运行上来说是可行的。同时在系统中,赋予系统管理员的一些权限可以避免和减少不健康、不合法的言论在系统上呈现。在各种可行性研究保证和基于用户需求下,开发系统的方案经过不断论证和假设,确定出了一个最佳方案。
1.1系统的目标和研究方法
1.1.1系统目标
该目标主要是结合与传统系统(即传统以纸张或者磁盘、光盘为载体的写作模式)的比较而定。
(1)人力和设备的节省
传统系统主要是通过人力写作,并且载体是纸张、磁盘或光盘。而通过本系统,可以节省一定的写作人力,并且利用网络存储方式,节省了纸张资源和笔墨资源或者磁盘、光盘资源的使用。
(2)界面美观和便捷的提升
本系统相对传统系统而言,利用了多媒体的各种视觉效果,有明显的界面美观和直观的优势。
(3)编辑修改的提升
本系统可以使对文章或者一些图片背景等的编辑修改变得非常容易,非常便捷和快速。只要修改局部,不用返工,并且不会留下视觉瑕疵。(4)交流的广泛性和速度的提升
通过网络这种媒介,使得文章、日志的交流变得非常广泛,不会受到地域的限制。世界上任何人都可以互相交流,并且交流的速度比传统更加快速方便,不需要通过传统载体的传递。
1.1.2可行性的研究方法(1)调研传统系统的效率和特点
通过调研和对比传统系统的工作方式和特点,发现效率和实用性的差距。通过理论和现实技术发展的特点和要求,估算出效率和功能的提升。(2)参考目前已有的网站和案例
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
如今网络上的博客比比皆是,可以参考和学习一些已有的优秀博客的特点和成功之处,来发现传统系统需要改进的地方和新的开发入口。
1.2传统系统的分析1.2.1处理流程
传统系统处理流程如图1所示,该图给出了传统方式的写作文章以及交流的方式和流程途径。
D1获取创作信息作者思维创作信息事务文章作者1构思/写作文章2产生文章文章载体文章读者
图1传统系统处理流程
1.2.2数据流图
传统系统的数据流图如图2所示,该图主要给出了传统的以纸张或者磁盘为载体的文章、日志写作和交流的数据流程。
D1文章载体获得文章内容文章日志写作/修改命令文章作者事务1.1写作业务事务1.2写作文章1.3交流处理文章交流信息D2文章日志文章交流记录文章交流信息文章作者1.4交流处理图2传统系统数据流图
1.3所要开发系统的分析
对所要开发的系统的分析是从系统的描述和优越性,用所要开发的系统的处理流程图和所要开发系统的数据流图来说明的。
1.3.1系统的描述和优越性
该系统是在适应当前网络特点和用户个性的情况下开发的博客系统,主要用于文章和日志的写作以及评论的交流。随着网络的高速发展,自然而然产生了博客这样一个新兴事物,它不仅仅能取代传统的书写功能,还能加入图片、音乐,而且使得作者能更加无所拘
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
束地写出自己的所思所想,读者也能非常便捷地阅读并且加以评论,它还是展示用户个性的一个窗口。更重要的是博客系统利用网络的巨大优势,可以非常快捷、广泛且毫无限制地进行交流。交流速度快、交流范围广以及可以让网络中任何人浏览、评论是博客的最大特点。正是有了这些特点,博客现在已经成为很多人生活中必不可少的部分,它能让更多人了解作者的心声,方便了人与人之间的沟通和交流。
1.3.2处理流程
所开发的系统的处理流程如图3所示,该图给出了所要开发系统的系统工作、写作文章和文章交流的方式以及流程途径。
图3所要开发的系统的处理流程
1.3.3数据流图
所开发系统的数据流图如图4和图5所示,它们都是进一步分解后的数据流图。其中图4是用户管理功能的分解数据流图,而图5是文章管理以及评论功能的分解数据流图。图5涉及到用户文章和评论事务和数据库的频繁存储交互,体现了博客系统中文章、日志发表和评论的功能,是博客系统中最主要的一项事务过程。
用户登录事务3.1接受事务事务3.2登录事务处理登录信息D1成功/失败信息用户注册信息用户数据库游客注册事务成功/失败信息1.1接受事务事务1.2注册事务处理操作结果系统管理员权限事务账户事务2.1接受事务事务2.2用户管理事务处理管理操作
图4用户的管理功能
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
图5文章的管理、评论功能
1.4系统的其它可行性
前面主要运用了系统流程图和数据流图,通过对传统系统和所要开发的系统的比较分析了系统开发的可行性,下面将从其它一些辅助可行性来进一步分析和说明。
1.4.1技术可行性
本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。
系统采用优秀的关系型数据库管理系统MySQL作为后台数据库,能和Windows以及当前各种系统很好的兼容搭配。
其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的Dreamweaver8,还有一些图形处理软件如PhotoshopCS2等都是相当成熟和简便的开发工具。
1.4.2性能效益可行性
所开发的系统基本能满足个人博客的功能要求并且能展示博客的特点,在处理运算速度、存储量以及响应时间上完全能满足系统要求。
现在网络发展迅速,上网人数众多,博客作为用户个性和情感的展现舞台,相信有非常广阔的发展和应用空间。
1.4.3硬件可行性
系统所采用的技术和平台都是比较成熟且已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。
系统的基本硬件要求:网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和
┊┊┊┊┊┊
系统平台(WindowsXP)、支持PHP架构的能处理动态网页技术的浏览器(IE6.0以上等具备解释PHP技术的浏览器)。
1.5可行性结论
综上所述,作为毕业设计的一个项目,简要分析了系统的各种可行性,并且在各项可行性上完全满足开发要求,可以开始进一步的工作。
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
11┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
第二章开发技术与工具
2.1开发环境
开发环境:Window7代码开发工具:MyEclipse10服务器:Tomcat7数据库:Mysql5.0
调试浏览器:Firefox10.0,IE9,Chrome
2.2开发技术及工具简介
2.2.1
MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,MVC可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。
图2.1MVC模式图
2.2.2JSP技术
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要内容。2.2.3开发工具-Tomcat
Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。这种集成只需要修改一下Apache和Tomcat的配置文件即可。
从Apache官网下载的Tomcat的压缩包,解压后即可使用。启动Tomcat只需双击bin目录下的stratup.bat文件即可。Tomcat成功启动后,在浏览器中输入http://localhost:8080/,如果出现欢迎界面,则说明Tomcat启动成功。2.2.4MySql5.0简介
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySql的系统特性:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
3.为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4.支持多线程,充分利用CPU资源
5.优化的SQL查询算法,有效地提高查询速度
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径
┊┊┊┊┊┊
8.提供用于管理、检查、优化数据库操作的管理工具9.可以处理拥有上千万条记录的大型数据库10.支持多种存储引擎
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
14┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
第三章需求分析
3.1系统功能要求
本系统应具有通常轻博客(lightblogging)应该具有的功能。游客用户所具有的功能包括注册,浏览他人空间和文章,博文或用户搜索;游客通过注册即为系统会员,会员所具有的功能包括登录,维护个人资料,浏览、发表、转载、回复文章,博文或用户搜索。系统管理员可以通过专门的入口进入系统,对系统进行管理。3.1.1用户功能
本系统操作用户按不同级别依次可分为:游客、会员、管理员。游客功能要求:查看其他用户的空间和文章,注册成为系统会员;
会员功能要求:进行登录操作之后,可以维护个人资料,更换空间皮肤,浏览、发表个人文章,浏览他人空间,转载、评论他人文章、回复他人的评论,对其他会员添加关注,或取消关注。
管理员功能要求:查看博客系统的注册用户使用情况,注销用户3.1.2用户功能(一)
博主
图3.1博主功能图
登陆:系统自动记录用户登陆,只有登陆输入正确的用户名密码和验证码才能进入首
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
页;
论坛搜索:支持对论坛的标题、内容查询;
发表贴子:登陆(注册)用户可以自由在论坛内发表贴子,论坛应支持在线文本编辑器,可以设置文字的字体与大小等;
回复帖子:登陆(注册)用户可以对主题进行回复,发言格式同上;删除帖子:登录用户可以对自己的帖子进行删除操作;
个人信息维护:登录的用户可以修改个人信息,对自己的信息进行及时更新;搜索帖子:用户可以在论坛内按照帖子的标题或内容搜索帖子。(二)
游客:
图3.2游客功能图
公告管理:可以在论坛发布公告,并且对其进行删除、恢复操作;
用户管理:管理员可以在此模块中管理用户信息,包括查看用户信息,提升或降低用户信息;
版面管理:管理员可以在此模块中对版面进行管理,包括增加、删除、恢复版面分类,在每个版面分类中可以增加、删除、恢复版面;
帖子管理:管理员在此模块中对帖子信息进行管理,对不合法的帖子进行删除,删除后的帖子也可以进行恢复操作。
(三)系统管理员
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
3.2系统用例图
1系统用例图:
图3.2.1游客用例图
说明:对于未登录或注册的用户可以查看博客内的博文,选择注册成为博客会员。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
图3.2.2注册用户用例图
说明:对于注册的普通用户在登录后可以发表个人文章(包括文字、图片、视频等)和浏览他人的博客空间,并能对其评论、转载,还可以搜索文章类型和其他用户信息,另外注册用户还可以维护个人数据,更换个人皮肤,删除其发表的博文。
图3.2.3管理员用例图
说明:后台管理员可以对整个系统进行管理,后台管理包括用户管理,公告管理,博文管理。用户管理包括可以查看用户信息,博文管理使管理员可以删除用户博文等。
说明:对于登录后的管理员,有用户管理,相册管理,文档管理,公告管理。
用户管理:主要管理一些注册后的博主以及未注册的游客的信息及资料。相册管理:主要管理博主们的已经上传的相册
公告管理:主要管理最新公告信息,以及原有的公告信息。
文档管理:主要管理博主们所发表的贴子,以及回帖信息,和博主们的留言信息。
1.3博主用例图
┊┊┊┊┊┊
说明:对于博主有如下的功能:登录:博主登录个人博客。
找回密码:实现功能是当博主忘记密码时,通过该功能实现密码的找回。修改个人信心:对于登录的博主,可以对自己的个人信息进行任意修改。博文管理:博主可以发表博文,回复博文。
相册管理:博主可以实现创建相册,修改相册,上传照片,删除照片,对相册评论
┊┊┊┊┊┊┊装┊
┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
进行回复等功能。
留言管理:博主可以对好友进行留言,回复留言。换肤:更换博客页面的样式
好友管理:添加好友,删除好友,查找好友。
19┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
第四章系统设计
4.1数据库设计
数据访问层负责对业务层提供数据操作,也就是它负责和底层的数据库打交道。业务层或者通用层中所有的对象都通过数据访问层的对象访问数据库。数据访问层中的类是按业务对象来组织的,每个业务对象中包含的数据可能存在不同的几种数据表中,它由数据访问类统一组织成一个概念中的对象,它相当于是一个面向对象的数据库层,负责映射面向对象与关系数据库间的关系。4.1.1实体-联系图
usernamepassworduser
图4.1用户表ER图
说明:注册用户(user)在登陆页上输入正确的用户名(username)、密码(password)即可成功登陆博客个人主页。
usernameidsexbirthdayuserinfohead图4.2用户信息表ER图
说明:注册用户的个人信息(userinfo)包括用户(id)、用户名(username)、性别(sex)、生日(birthday)、头像(head)。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
attention_countskin_idpage_nameidpagedescriptionview_countturn_count图4.3页面表ER图
说明:页面表(page)包括页面(id)、页面拥有者(username)、页面用户名(page_name)、页面样式(skin_id)、页面描述(description)、被浏览次数(view_count)、文章转载次数(turn_count)、被关注次数(attention_count)。
attention_nameidattened_nameusermattentionnuser图4.4关注表ER图
说明:注册用户(user)之间可以互相关注(attention),关注联系中有关注(id),关注者用户名(attention_name),被关注者用户名(attened_name)
comment_authorarticle_ididcommentcommented_authorcommentcomment_time图4.5评论表ER图
说明:注册用户(user)成功登录以后可以对文章进行评论(comment),评论表中包含评论(id),被评论的文章(article_id),评论人(comment_author),被评论文章的作者(commented_author),评论内容(comment),评论时间(comment_time)。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
article_idusernameidphotophoto_namecreate_time
图4.6照片表ER图
说明:注册用户(user)发表文章(article)时上传的照片信息保存在照片(photo)表,每一张照片拥有照片(id),上传照片的用户(username),附带此照片的文章(article_id),照片名(photo_name),上传时间(create_time)。
article_ididturn_authorusermnturnarticle图4.7转载表ER图
说明:注册用户(user)可以转载(turn)别的用户发表的文章,每一条转载记录包含转载(id),被转载的文章(id),和转载者(turn_author)。4.1.2数据库关系图说明
adminPKnamepasswordPKboardboardidboardnameflagcreatedateuserPKuseridusernamenameemailpasswordcomefromjobdescriptionsignqqimagescoreflagregdateplatearticlePK,FK4FK3FK5idpidtitlecontpostdateflaguseridplateidPKFK1plateidplatenamedescriptionseelastpostdatelastpostuserflagcreatedateboardid
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
图4.4数据库表关系图
说明:user表存储用户主要的信息;article表主要存储用户发表的帖子信息;board表主要存储版块的类别;plate表主要存储版块的基本信息;admin表存储了系统管理员的基本信息。
表之间建立了外键约束,表示表之间的关联关系,如article表引用了User表中的用户ID号字段,用于表示发表帖子的用户,引用了plate表中的ID号表示了帖子所在的板块信息。
4.1.3数据库表
字段名数据类型usernamevarcharpasswordvarchar用户表:(user)用户名username,密码password
用户表(user)len主键100是40注释用户名密码
字段名idusername数据类型intvarchar用户信息表(userinfo)Len主键4是100注释用户id用户名(外键【user表主键】)性别生日头像sexvarchar10birthdaydateheadvarchar40用户信息表:(userinfo)用户id,用户名username,性别sex,生日birthday,头像head
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
关注表(attention)Len主键4是100字段名数据类型注释idInt关注id,Attention_namvarchar关注者姓名eattented_namevarchar100被关注者姓名关注表:(attention)关注id,关注者姓名Attention_name,被关注者姓名attented_name
字段名idusername数据类型intvarchar博文表(article)Len主键4是100注释博文id用户名(外键【user表主键】)博文标题博文内容博文类别博文标签发布时间更新时间公开对象(0:所有人【默认】;1:关注者;2:自己)头像被转载总次数titlecontenttypetag_namereport_timeupdate_timeface_objectvarcharvarcharvarcharvarchardatedateint500300401002headvarchar100turned_totalint4博文表:(article)博文id,用户名username,博文标题title,博文内容content,博文类别type,博文标签tag_name,发布时间report_time,更新时间update_time,公开对象face_object,
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
头像head,被转载总次数turned_total(0:所有人【默认】1:关注者2:自己)
字段名数据类型idintarticle_idintturn_authorvarchar转载表:(turn)转载id,博文article_id,转载用户turn_author
转载表(turn)Len主键4是4100注释转载id博文id转载用户
字段名数据类型注释idint皮肤idskin_cssvarchar皮肤样式skin_photovarchar皮肤模版descriptionvarchar描述皮肤表:(skin)皮肤id,皮肤样式skin_css,皮肤模版skin_photo,描述description
皮肤表(skin)Len主键4是404040
字段名
数据类型评论表(comment)Len主键25
注释┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
idint4是标签idarticle_idint4评论博文idcomment_authorvarchar100评论人idcommented_authorvarchar100被评论人idcommentvarchar400评论内容comment_timedate评论时间评论表:(comment)评论id,评论博文article_id,评论人comment_author,被评论人commented_author,评论内容comment,评论时间comment_time
字段名数据类型注释idint回复idcomment_idint回复评论idreply_author_idint回复人idreplyed_author_int被回复人idid,replychar回复内容reply_timeDatetime回复时间回复表:(reply)回复id,回复评论comment_id,回复人reply_author_id,被回复人replyed_author_id,回复内容reply,回复时间reply_time
回复表(reply)Len主键是
字段名idarticle_id
数据类型intint转载表(turn)Len主键4是426
注释转载id被转发博文的┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
turn_authorvarchar100转载表:(turn)转载id,被转发博文的article_id,转发人turn_author
id转发人id
字段名idpage_name数据类型intvarchar页面表(page)Len主键4是100注释页面id页面用户名(邮箱的前缀)页面样式页面描述被浏览次数文章转载次数被关注次数skin_idint4descriptionvarchar100view_countint4turn_countint4attention_counint4t页面表:(page)页面id,页面用户名:page_name(邮箱的前缀),页面样式skin_id,页面描述description,被浏览次数view_count,文章转载次数turn_count,被关注次数attention_count
字段名idarticle_id数据类型intint相册表(photo)Len主键4是4100100注释相册id文章id用户名相册名创建时间usernamevarcharphoto_namevarcharcreat_timedate相册表:(album)
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
相册id,文章idarticle_id,用户名username,相册名photo_name,创建时间creat_time
字段名idblog_nameblog_totalarticle_totalturned_totalattention_total数据类型intcharintintintint博文统计表(bloginfo)Len主键是注释统计id博客名称博客被浏览次数博客发表文章总数博客文章被转载总数博客被关注次数博客文章被评论次数comment_totalint博文统计表:(bloginfo)统计id,博客名称blog_name,博客被浏览次数blog_total,博客发表文章总数article_total,博客文章被转载总数turned_total,博客被关注次数attention_total,博客文章被评论次数comment_total
4.2系统类图设计
需求分析部分已经对系统的功能进行了叙述,下面将给出各功能的主要类图。下面将给出前后台管理员的详细操作的类图:
┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
29┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊
┊┊┊┊┊┊
30┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
31┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
32┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
33┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
34┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
35┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
36┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
37┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
38┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
39┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
40┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
41┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
42┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
44┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
45┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
46┊┊┊┊┊┊
┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
47友情提示:本文中关于《最新Java实训报告总结心得》给出的范例仅供您参考拓展思维使用,最新Java实训报告总结心得:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。