JAVA EE课程设计报告个人博客.docx
《JAVA EE课程设计报告个人博客.docx》由会员分享,可在线阅读,更多相关《JAVA EE课程设计报告个人博客.docx(12页珍藏版)》请在冰豆网上搜索。
JAVAEE课程设计报告个人博客
JavaEE课程设计
设计题目:
个人博客系统
学生姓名:
学号:
专业班级:
指导老师:
如需源代码QQ1775953268
摘要
随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择作为学习和交流的工具。
博客的内容丰富多彩,有对其他网站的超链接和评论,有个人构思,还有新闻日志、照片、诗歌和散文等。
博客具有自主性、开放性、互动性和共享性的特点,是一个很好的交流的渠道,思想展现的舞台和学术探讨的园地。
Blog全名Weblog,中文意思是“网络日志”,后来缩写为Blog。
它是继Email、BBS、IM之后出现的第四种网络交流方式,是网络时代的个人“读者文摘”,是以超级链接为武器的网络日记,是代表着新的生活方式和新的工作方式,更代表着新的学习方式。
简言之,Blog就是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。
博客是个人性和公共性的结合体,其精髓不是主要表达个人思想,不是主要记录个人日常经历;而是以个人的视角,以整个互联网为视野,精选和记录自己在互联网上看到的精彩内容,为他人提供帮助,使其具有更高的共享价值。
本博客系统基于JavaEE模式下开发的,采用JSP+Servlet+JavaBean实现开发。
以微软的SQLServer2005作为博客的数据库系统,以及使用MyEclipse和Dreamweaver开发软件。
关键字:
博客BlogJSPServletJAVAEE
目录
第1章绪论---------------------------------4
1.1选题背景-------------------------4
1.2博客历史-------------------------4
1.3博客系统的开发目标---------------4
第2章开发环境和开发工具-------------------6
2.1MyEclipse------------------------6
2.2SQLServer2005------------------6
2.3Dreamweaver8--------------------7
2.4Tomcat---------------------------7
第3章开发技术-----------------------------8
3.1JSP------------------------------8
3.2Servlet--------------------------8
3.3JavaBean-------------------------8
3.4JSP网站开发模式------------------9
第4章系统分析与总体设计-------------------11
4.1需求分析-------------------------11
4.2注册登录模块---------------------11
4.3数据库设计-----------------------11
第5章主要功能的实现-----------------------12
5.1连接数据库-----------------------12
5.2用户登录-------------------------12
5.3博客首页-------------------------13
5.4注册界面-------------------------14
5.5登录界面-------------------------14
5.6日志分类界面---------------------14
5.7博客管理中心---------------------15
第6章个人总结-----------------------------16
第7章参考文献----------------------------17
第1章绪论
1.1选题背景
21世纪的今天,网络在人们生活中已经日益盛行,越来越多人已经离不开网络。
人们已经不再满足于了解最新信息、查找资料等一些传统的网络使用方式,而是过渡到娱乐、购物等新兴的网民生活。
网上娱乐,成了当今广大群众的时尚。
客户也通过博客把自己喜欢的东西写出来或是和别人一起分享那份快乐。
因此,博客已成为个人、公司、部门和团队之间越来越盛行的交流沟通工具。
Blog是未来信息化教育和个人知识管理的强大而简单易用的工具。
博客的精神是:
自由表达,开放宽容,个性张扬,专业精神。
1.2博客历史
最早,是由JornBarger在1997年12月提出博客这个名称。
但是在1998年,互联网上的博客网站却屈指可数。
那时,Infosift的编辑JesseJ.Garrett想列举一个博客类似站点的名单,便在互联网上开始了艰难的搜索。
终于在1998年的12月,他的搜集好了部分网站的名单。
他把这份名单发给了CameronBarrett,Cameron觉得这份名单非常有用,就将它在Camworld网站上公布于众。
其它的博客站点维护者发现此举后,也纷纷把自己的网址和网站名称、主要特色都发了过来,这个名单也就日渐丰富。
到了1999年初,Jesse的“完全博客站点”名单所列的站点已达23个。
由于Cameron与Jesse共同维护的博客站点列表既有趣又易于阅读,吸引了很多人的眼球。
在这种情况下,PeterMerholz宣称:
“这个新鲜事物必将引起大多数人的注意。
作为未来的一个常用词语,web-blog将不可避免地被简称为blog,而那些编写网络日志的人,也就顺理成章地成为blogger——博客”。
这代表着博客被正式命名。
随着博客数量的增多,每个博客网站上编写的网络日志的内容也混杂起来,以至把每一个新出的站点主要内容和特色都不可能搞清楚。
Cameron后来就只在网站上登载熟悉的博客站点了。
时隔不久,BrigitteEaton也搜集出了一个名叫“Eaton网络门户”的博客站点名单,并且提出应该以日期为基础组织内容。
这也建立了blog分类排列的一大标准。
1999年7月,一个专门制作博客站点的“Pitas”免费工具软件发布了,这对于博客站点的快速搭建起着很关键的作用。
随后,上百个同类工具也如雨后春笋般制作出来。
这种工具对于加速建立博客站点的数量,是意义重大的。
同年的8月份,Pyra发布了Blogger网站,Groksoup也投入运营,使用这些企业所提供的简单的基于互联网的工具,博客站点的数量终于出现了一种爆炸性增长。
1999年末,软件研发商DaveWiner向大家推荐EditThisPage网站,JeffA.Campbell发布了Velocinews网站。
所有的这些服务都是免费的,他们的目的也很明确:
让更多的人成为博客,来网上发表意见和见解。
1.3博客系统的开发目标
管理员通过博客首页进入后台管理中心,可以进行对博客的一切管理操作。
发表日志、上传照片、用户管理、评论管理、个人信息管理等。
注册会员除了能浏览博客任何内容信息外,还可以查看别人的评论和对博客进行评论。
非注册会员只能浏览博客的日志、相册、和博主的个人信息,不能查看用户的评论和自己进行评论。
第2章开发环境和开发工具
2.1MyEclipse
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。
可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。
MyEclipse6.0以后版本安装时不需安装Eclipse。
2.2SQLServer2005
MicrosoftSQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
MicrosoftSQLServer2005数据引擎是该企业数据管理解决方案的核心。
此外MicrosoftSQLServer2005结合了分析、报表、集成和通知功能。
这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域。
与MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的开发工具包(包括BusinessIntelligenceDevelopmentStudio)的紧密集成使MicrosoftSQLServer2005与众不同。
无论您是开发人员、数据库管理员、信息工作者还是决策者,MicrosoftSQLServer2005都可以为您提供创新的解决方案,帮助您从数据中更多地获益。
2.3Dreamweaver8
Dreamweaver8是建立Web站点和应用程序的专业工具。
它将可视布局工具、应用程序开发功能和代码编辑支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的网站和应用程序。
从对基于CSS的设计的领先支持到手工编码功能,Dreamweaver提供了专业人员在一个集成、高效的环境中所需的工具。
开发人员可以使用Dreamweaver及所选择的服务器技术来创建功能强大的Internet应用程序,从而使用户能连接到数据库、Web服务和旧式系统。
·语言版本:
中文
·版本:
8
中文版系统配置Win9x/Me/NT/2000/XP/2003/win7/
2.4Tomcat
Tomcat服务器是一个免费的开放源代码的Web应用服务器。
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
第3章开发技术
3.1JSP
JSP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以及整个Java体系的Web开发技术。
JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。
随着Java技术的日益成熟和流行,JSP在网络编程中也变得越来越重要。
JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一,JSP有着其他技术所不具备的优势。
其优势在于:
可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
JSP能提供所有Servlet的功能。
3.2Servlet
Servlet是Java编写的服务器端程序,是由服务器端执行和调用的Java类。
Servlet是采用Java技术来实现CGI功能的一种技术,能够像CGI一样动态地扩展Web服务器的功能,并采用请求——响应模式提供Web服务。
Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面。
Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。
其工作流程图如图3.1所示。
Servlet工作流程:
a)客户端发送请求信息至服务器。
b)服务器将请求信息发送至Servlet。
c)Servlet生成响应内容并将其传给Servlet。
响应内容动态生成,通常取决于客户端的请求。
图3.1Servlet工作流程图
d)服务器将响应信息返回至客户端
3.3JavaBean
JavaBean是Sun公司为了进入因特网、企业网以及万维网上进行分布式计算的组件结构入口。
按照Sun公司的定义,JavaBean是一个可重复使用的软件部件。
JavaBean体系结构是第一个全面地基于组件的标准模型之一,该组件是Java类,这些类遵循一个接口格式,以便于使方法命名、底层行为以及继承或实现的行为能够把类看做标准的JavaBean组件的方式进行构造。
在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速生成新的应用程序。
JavaBean具有以下特点:
a)可以实现代码的重复利用。
b)易维护性、易使用性、易编写性。
c)可以在Java的任何平台上工作,不需要重新编译。
d)可以在内部网或者网络之间进行传输。
e)可以以其它部件的模式进行工作。
JavaBean在JSP程序中常用来封装事务逻辑、数据库操作等,可以很好的实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。
3.4JSP网站开发模式
目前,JSP技术已经成为一种受大多数大型企业或中小型企业喜爱的动态网页开发技术。
越来越多的技术人员也逐步成为JSP技术的推崇者。
JSP技术正是利用了Java的“一次开发,处处使用”的性能,成为了网站开发技术人员的首选技术。
当然,JSP技术的最大优势在于能够将页面的表现形式和页面的商业逻辑分开。
JSP网站开发技术标准提供了两种开发模式:
一种是JSP+JavaBean开发模式;一种是JSP+Servlet+JavaBean开发模式。
JSP+JavaBean模型图如图3.2所示。
图3.2JSP+JavaBean模型图
在这种模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JavaBean来处理,JSP实现页面的显示。
此模型常常会导致页面被嵌入大量的脚本语言或者Java代码段,当处理大型业务时,页面程序将变得异常复杂给开发和维护带来困难。
JSP+Servlet+JavaBean模型图如图3.3所示。
图3.3JSP+Servlet+JavaBean模型图
Servlet技术是一种采用Java技术来实现CGI功能的一种技术。
Servlet是运行在Web服务器上,用来生成Web页面。
Servlet技术非常适于服务器端的处理和编程。
在此种开发模式中,JSP技术用来显示页面,该页面中没有任何的商业处理逻辑,通过Servlet技术来完成大量的事物处理工作。
Servlet用来处理事务的请求,充当着一个控制者的角色,并负责向客户发送请求,创建JSP需要的Bean和对象,根据用户的请求行为,决定将哪个JSP页面发送给用户。
从上面两种开发模式来说:
第二种模式要好些,更适合于团队开发,速度相对较慢,但是可维护性高。
第4章系统分析与总体设计
4.1需求分析
个人博客系统分为前台和后台两部分,前台是面向公众的,非注册用户可以在前台进行浏览日志、浏览相册、浏览博主信息等,而注册用户登录之后可以查看所有评论信息和进行评论。
系统后台是管理员对博客的一系列管理操作,发表日志、上传照片、用户管理、评论管理、个人信息管理等,拥有博客系统最高权限。
4.2注册登录模块
该模块实现了以下几个功能。
a)用户注册。
b)用户登录。
c)跳转到博客主页。
只有进行用户注册并且登录,才能在博客主页上浏览评论并且自己也能进行评论。
对于没有登录的用户是没有权限浏览评论信息和评论的。
该模块实现新用户的注册及登录验证功能。
其中,注册用户时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。
注册成功的用户登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
4.3数据库设计
1、数据表设计
字段名称
数据类型
主键
自增
允许为空
描述
id
int
是
增1
ID号
username
varchar(20)
用户名
password
varchar(20)
密码
表4.1userTable表
字段名称
数据类型
主键
自增
允许为空
描述
id
int
是
增1
ID号
userId
int
用户ID号
date
datetime
发布时间
title
varchar(20)
标题
content
varchar(50)
评论内容
表4.2lyTable表
第5章主要功能的实现
5.1连接数据库
publicclassDB{
Connectionct;
PreparedStatementpstmt;
//在构造函数中建立与数据库的连接,这样在建立DB对象的时候就连接了数据库
publicDB(){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//指定驱动
ct=DriverManager.getConnection
("jdbc:
sqlserver:
//localhost:
1433;databaseName=blog","sa","123456");//数据库名blog
}catch(Exceptione){
e.printStackTrace();
}
}
5.2用户登录
publicclassMainServletextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//设置请求编码
request.setCharacterEncoding("gb2312");
//设置响应编码
response.setContentType("gb2312");
//获得JSP页面填入的用户名的值
Stringusername=request.getParameter("username");
//获得JSP页面填入的密码的值
Stringpwd=request.getParameter("pwd");
//建立DB类对象,使用其中的方法来完成判断
DBdb=newDB();
//获得session对象,用来保存信息,
HttpSessionsession=request.getSession();
//先获得user对象,如果是第一次访问该Servlet,用户对象肯定为空,但如果是第
//二次甚至是第三次,就不应该在判断该用户的信息。
Useruser=(User)session.getAttribute("user");
//这里就是判断,如果用户是第一次进入,调用DB类里面的方法判断
if(user==null){
user=db.checkUser(username,pwd);
}
//把user对象存在session中
session.setAttribute("user",user);
if(user!
=null){
//如果根据查询用户不为空的话,表示用户名和密码正确,应该去下一界面。
//这里是去主界面,主界面中包含了所有留言信息,所以要从留言表中查出来。
ArrayListal=db.findLyInfo();
//包查询的信息保存在session中
session.setAttribute("al",al);
//然后跳转到我们要去的主界面
response.sendRedirect("main.jsp");
}else{
//如果用户名和密码错误的话回到登录界面
response.sendRedirect("login.jsp");
}
}
5.3博客首页
系统的界面按照常规的WEB界面进行设计,设计的原则是界面友好,易于操作,容易上手,尽可能的贴切用户实际。
所有的网络用户都可以进入该首页进行登录、注册、浏览等相关的操作。
在页面的上方是个人博客的导航列表。
如图5.1所示:
图5.1博客主页
5.4注册界面
普通用户没有权限进行对博客的评论和查看评论信息,所以这时候用户必须进行注册。
见图5.2所示:
图5.2用户注册界面
5.5登录界面
普通用户注册之后,转换到登录界面进行帐号登录,和数据库进行匹配如果符合,就会跳转到评论信息界面。
见图5.3所示:
图5.3用户登录界面
5.6日志分类界面
所有日志的分类。
见图5.4所示:
图5.4日志分类界面
5.7博客管理中心
管理员后台管理中心,博客的最高权限。
见图5.5所示:
图5.5管理中心界面
第6章个人总结
第7章参考文献
1.《JavaEE