清华大学计算机工程学院《jsp课程设计》项目名称:博客系统专业:计算机科学与技术(软件工程方向)班级:计软07(3)姓名:马菲尔学号:20075463指导老师:比尔博士得分评阅老师引言BLOG诞生的时间并不长,国内常用的英文字典里面甚至找不到这个词,但最近通过互联网上彰显个性的BLOG个人主题站点被媒体关注而热了起来。BLOG是近两年在美国出现,并迅速风靡全球的一种新的网络媒体形式。所谓BLOG,即是WebLog(网页日志,简称“网志”)合并演化而来,主要是以日记的形式发布文章,并可以附加评论的个人网页。随着克林顿白宫事件通过BLOG在网络上惊爆内幕并且迅速传播,这种新的网络媒体形式也流行开来,许多热衷网络写作的人加入了BLOG的行列,这些人就叫做BLOGGER(博客)。BLOGGER就像当年的Hippy(嬉皮士)一样,已经成为对特定人群的一种称谓。BLOG据说是一群海归人士引入中国的,国内最早的BLOG网站可能是方兴东先生创办的“博客中国”,他也是BLOG文化不遗余力的布道者。早期的BLOG网站,定位主要还是在IT、信息化、经济、科学技术等领域,参与的人士大多是一些专家学者,形式和内容都比较专业,不太容易吸引普通的网民参与。直到一些网站意识到BLOG可能带来的商业价值,开放了自助式的BLOG网页,才逐渐普及开来。追溯BLOG的技术原型,可以说是简化的BBS和个人空间的组合。互联网刚普及起来时,出现了很多有名的网络作家,不少人就是通过一些门户网站的社区BBS发表作品,这可以算是BLOG的雏形。国内著名的网络原创作品站“榕树下”,它的文章发表方式,其实就很有些BLOG的味道。虽然BLOG的商业价值不如短信、网游那么大,甚至在一段较长的时间里要“烧钱”,但以较小的代价,树立BLOG品牌,随着一批有影响的BLOG专栏站的诞生,其社会和广告效应都是可观的。目录:第1章绪论1.1开发背景及意义1.2系统开发软件简介1.2.1JSP1.2.2mySQL1.2.3Tomcat第2章系统分析2.1系统功能需求2.1.1前台2.1.2后台2.2系统流程第3章系统设计3.1系统B/S结构3.2数据库设计3.2.1数据库名称3.2.2数据库设计3.2.3数据表设计3.2.4数据库脚本第4章系统实现4.1系统前台界面4.2系统后台界面4.3数据访问对象4.4数据对象4.5servlet4.6数据处理工具第5章结论第6章参考文献第1章绪论互联网技术的发展使得博客及博客文化成为热点。博客以其自主性、开放性、共享性的特点,是满足了人们个人自由表达和出版,知识过滤与积累,深度交流沟通的网络新方式。本章主要介绍该系统的开发背景及意义、系统的开发软件。1.1开发背景及意义近几年来,博客及博客文化正成为互联网的热点,并被视为继e-mail、bbs和icq之后出现的第四种网络交流方式。在网络上发表Blog的构想始于1998年,但到了2000年才真正开始流行。而2000年博客开始进入中国,并迅速发展,但都业绩平平。直到2004年木子美事件,才让中国民众了解到了博客,并运用博客。2005年,国内各门户网站,如新浪、搜狐,原不看好博客业务,也加入博客阵营,开始进入博客春秋战国时代。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其他人参考和遵循。但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。博客正在改变社会交流方式。目前,全球参与博客的人数已经达到千万之众,而且每几秒钟,都有一名新的博客用户加盟进来。1.2系统开发软件简介本博客采用jsp+servlet+javabeen+mysql技术,运用了mvc的设计思想做出的简单的博客系统,xp系统,myeclipse8.0,tomcat5.0,myqslserver4.1JSP简介JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP2.0介绍新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:AnExpressionLanguage(EL)允许开发者创建Velocity-样式templates(amongotherthings).更快更简单的创建新标签的方法。Hello,${param.visitor}%--sameas:Hello,%=request.getParameter(visitor)%--%MVC模式为了把表现层presentation从请求处理requestprocessing和数据存储datastorage中分离开来,SUN公司推荐在JSP文件中使用一种“模型-视图-控制器”Model-view-controller模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Springframework)。JSP技术的强势(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。JSP技术的弱势(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。mysql技术MySQL的概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:编写,并使用了多种编译器进行测试,保证源代码的可移植性2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统3.为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。4.支持多线程,充分利用CPU资源5.优化的SQL查询算法,有效地提高查询速度6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径8.提供用于管理、检查、优化数据库操作的管理工具9.可以处理拥有上千万条记录的大型数据库MySQL的应用与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是遵循GPL的开放源码软件,因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。MySQL管理可以使用命令行工具管理MySQL数据库(命令mysql和mysqladmin),也可以从MySQL的网站下载图形管理工具MySQLAdministrator和MySQLQueryBrowser。phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。phpMyBackupPro也是由PHP写成的,可以透过Web介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL数据库。另外,还有其他的GUI管理工具,例如早先的mysql-front以及emsmysqlmanager,navicat等等。Tomcat服务器Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本是6.0.20(截止到2009-03-20)。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现