版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要摘 要随着互联网技术的高速发展,生活节奏的加快,博客被越来越多的人选择为学习和交流的工具。博客的内容丰富多彩,包括对其他网站的超链接和评论、个人构思、新闻日志、照片、诗歌等。博客具有自主性、开放性、互动性和共享性的特点,是一个很好的交流的渠道。本系统利用JSP开发技术,以MySQL作为后台数据库,使用Tomcat配置Web服务器,以及配合多种网页开发工具,实现了个人博客系统这个基于B/S模式的个人日志发表和交流的平台。本系统是一个实用的个人博客系统,集日志、相册、留言板于一身。分为管理员管理模块:负责管理所有信息;注册登录模块:注册用户、登录系统;日志管理模块:发表、修改、删除日志;评论
2、留言管理模块:游客可以发表评论和留言;图片管理模块:用户可以创建相册,上传图片。本文组织如下:第一章为对本系统整体的概述,第二章为对系统的详细设计,第三章为对于开发工具开发环境的选择,第四章讲的是数据库的设计,第五章则是系统完成后的测试及发布。关键词:博客;JSP;MySQL;B/S模式IIAbstractAbstractAlong with the developed at highspeed of the Internet, the pace of life is faster and faster. Blog is chosen as the study and communicate
3、tool by more and more people. Blogs are content-rich, they include the URL of other site, comments, personal design, news update, pictures even the poetry. Blog can be a great communicate method with the autonomy, open, interactivity and share as characteristic.This system is developed by JSP, backs
4、tage DB is hold by MySQL, the WEB Server is configurated by Tomcat and cooperrated with varity of web page develop tool, all above build the blog system which based on B/S mode and capable of publish the logs and the comments. It's a functional blog system which include blogs, album and message
5、board. It can be separated by administrator module: manage the information; register and login module: registered users, login system;log module: publish, modify and delete log; manage the comment module: visitors can publish the comments; manage the picture module: user can creat album and upload p
6、ictures.This paper is arranged as follow: summarize the system in Chapter I, detail design in Chapter II, choose the develop tool and develop environment in Chapter III, DB design in Chapter IV, system test and publish in Chapter V.Keywords:Blog;JSP;MySQL;B/S mode目 录目 录摘要IAbstractII第一章 概述11.1 选题背景11
7、.2 问题的提出11.3 系统的开发目标2第二章 系统设计32.1 需求分析32.2 功能模块介绍62.3 系统分析82.4 系统的可行性分析122.5 界面设计13第三章 开发环境的选择173.1 开发语言的选择173.2 数据库的选择183.3 开发工具的选择19第四章 数据库设计214.1 概念设计214.2 定义(数据词典)214.3 数据库逻辑结构设计21第五章 系统的测试及发布265.1 应用环境配置265.2 系统的发布和运行效果27结束语29参考文献30个人博客系统的设计与实现第1章 概述1.1 选题背景这几年,许多新名词涌入我们的视野:博客、圈子、播客、WAP等。这些都预示着
8、我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站创造内容的时代变为由用户创造内容的web 2.0时代。 而博客及博客文化正成为互联网的热点,并被视为继Email、BBS和ICQ之后出现的第四种网络交流方式。博客正在改变组织沟通和社会交流方式。目前,全球参与博客的人数已经达到1000万之众,而且每5.8秒钟都有一名新的博客用户加盟进来。很多记者、律师、教授、学者、专家,甚至法官和议员都有了自己的博客网站,形成了独特的博客文化。美国总统候选人乐
9、于开设博客站点,作为竞选的重要手段。企业界也正在把博客方式引入企业内部网和公司网站,用于非正式的知识管理和网络营销等。政府部门和教育领域都在尝试利用博客构建内部知识管理和沟通交流的新体系,可以让职员发表评论,积累知识,链接有意思的网络资源,促进彼此的交流沟通。显然,博客的发展对应了全球范围内知识社会来临的背景。对于中国这样一个组织机构信息化仍处于初级阶段的国家,博客这种充分发挥个人主导性和积极性的非正式知识管理工具和其深度沟通交流的功能,对于我们国家的知识传播、知识扩散和有效提升组织的学习和创新能力,具有更特殊的意义。博客用户的快速增长以及组织机构对它的广泛应用,有助于推动中国向学习型社会演进
10、。1.2 问题的提出博客记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识与他人分享、交流,同时又通过这个空间结识了更多志趣相投的朋友;而越来越多专业知识的Blog的出现,让我们看到了 Blog更多所蕴涵的巨大的信息价值。不同的Blog选择不同的内容,收集和整理成为让很多人关注的专业Blog目前越来越多的人获取信息的来源是一些固定的Blog。随着博客人数的增加,Blog作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构,网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变成
11、人人都可以实现的梦想Blog正在影响和改变着我们的生活。1.3 系统的开发目标本次毕业设计实现了一个实用的个人博客系统,集日志、相册、留言板于一身。本系统中管理员通过后台登录页面进入后台管理模块后,可对注册的博客用户进行维护和管理,包括对注册用户的查看和删除。管理员登录后,还可对帐户的所有日志、图片以及评论和留言进行管理,包括查看操作、删除操作。博客注册用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人图片、和相关人员进行交流和沟通等。因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录功能(2)管理员管理所有用户的日志、
12、评论、留言和图片(3)日志详细内容及相关评论显示(4)博客个人日志管理维护功能(5)博客个人基本信息管理维护功能(6)博客图片上传及个人相册管理(7)网络用户写留言,博主查看留言。第2章 系统设计2.1 需求分析Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言及图片的上传,查看注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以三种不同的用户来分析博客网站的需求。个人博客系统系统整体模块图如图2.1所示后台模块前台模块 日志模块 图片模块 留言模块个人资料模块留言管理模块图片管理模块评论管理模块用户管理模块日志管理模块图2.
13、1 系统模块图2.1.1 注册博友首先必须在博客首页中登录填写用户名和密码,这样才能执行一些相关操作,不然就是普通用户只能查看一些信息,而不能发表博文及图片等。可以通过各个日志模块进行日志的添加删除修改操作,也可以上传图片和游览自己的相册,在上传过程中可以对图片的信息进行相关的描述,可以直观的让用户看到这个图片的意义。在个人管理页面中注册用户还可以修改自己的个人信息。用例图如图2.2所示。图2.2注册博友的用例图在博客主界面中可以显示最新的博文,这样一目了然博主最新的状态。点击进入博客日志的列表后可以查看所有日志,点击进入各个日志后可以查看网友对自己的博文的一些评论,进入留言板后可以查看网友留
14、下的一些留言,提供与其他网友交流的空间,更好交流,但不能在自己的博客主页面中提交评论和留言。通过这些功能这样就可以在本系统中为博友提供更多的个人色彩。2.1.2 普通未注册用户在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间。而未注册用户进入某一博客页面查看相关日志信息时,可以随时对自己所感兴趣的日志发表评论,同时也可以查看到其他人针对该博文的评论,普通未注册用户也可以在阅读博文时最后留下自己的一些评论。他也可以留下更多的信息,例如可以在留言板给博主留言,但这时普通未注册用户的留言和评论显示的将是名为游客的评论而不是博客注册的昵称。普通未注册用户进入博友博客的用例图如图2.3所示
15、: 图2.3未注册用户博客系统中的用例图2.1.3 系统管理员用户在博客后台管理页面博客系统的管理员可以登录后台进行整个博客系统的管理,进入某一管理页面可以查看相关方面的信息,可以随时对相关信息进行人为审查,如评论,日志中是否有敏感词,博客主上传的图片是否含有暴力色情信息等等,同时也可以查看到其他人的评论和留言中是否含有人身攻击等。管理员用户进入管理界面的用例图如图2.4所示: 图2.4 管理员的用例图2.2 功能模块介绍2.2.1 博客注册登录管理模块博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的维护及管理,同时也便于通过博客档案将网站最新动态及
16、相关信息方便地传达给每一位浏览的用户。该功能模块实现了以下几个子功能。(1)新博客在线注册。(2)博客主登录。(3)跳转到博客主页。只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性。注册成功的博客主登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。2.2.2 博客日志模块日志模块为网络注
17、册用户提供便捷的管理功能,可以添加、删除、修改日志,以及日志阅读浏览等功能,同时日志的评论信息也能够及时反馈给网络用户。该功能模块实现了以下几个子功能。(1)添加博客日志发表博客日志主要是提供用户发表和张贴个人的日志或是对某些事务的独到见解等的功能,通过发表的日志,其他用户可以发表相关的评论,以便能够同其他来访者进行交流,是一个展现自己的网络交流平台。该功能通过日志的Servlet来控制完成并写入到数据库中。在保存过程中,系统会在数据库中为该日志自动生成一个唯一的日志ID编号,这个编号是自动递增的生成,用以唯一的标识一篇日志。(2)单独日志的显示,评论查看和发表评论发表日志的评论是在查看单篇日
18、志的前提下操作的,当访客查看单独的一篇日志时,即可通过页面下方的评论输入框来进行评论的发布。该模块能够在网页中随时提供在线的最新日志信息。网络用户可以随时获得最新日志以及最新的博客评论。在用户选择了某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客主进行交流互动。2.2.3 博客图片模块当网络用户进入某个人博客相关相册页面后,在该页面中将提供博客图片列表的显示,也提供对单个图片的浏览及评论的浏览。该功能模块实现了如下几个子功能。(1) 添加相册和图片。进入相册模块后,可以点击创建相册来新建一个相册,建立相册后,可以进入相册模块点击上传按钮进行相关的上传操作。上传的文件将被
19、保存在IMAGE的文件夹中。图片将以存放的相对地址存入数据库中,以便保存和读取。(2) 浏览图片。可以进入相应的相册进行相册图片的查看,这时所有该相册的图片将会显示在浏览器中,通过单击相应的图片可以进入单个图片的查看页面。(3) 浏览单个图片及发表评论。发表图片的评论是在查看单个图片的前提下操作的,当访客查看单独图片时,即可通过页面下方的评论输入框来进行评论的发布。2.2.4 博客留言管理模块博客留言管理模块用于实现用户对博客个人留言的管理和显示。该功能模块实现了如下几个子功能:(1)查看留言。(2)各种用户发表留言。借助该模块,允许用户对博客的留言进行查看及其发表。2.2.5 博客个人维护管
20、理模块博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。该功能模块实现了如下几个子功能:(1)个人注册信息的修改,密码的修改等。(2)个人基本信息维护管理。借助该模块,允许用户对博客的个人信息进行维护及其管理。2.2.6 博客后台管理模块在博客后台管理模块中博客系统的管理员可以登陆后台进行整个博客系统的管理,进入某一管理页面可以查看相关方面的信息,可以随时对相关信息进行人为审查,如评论,日志中是否有敏感词,博客主上传的图片是否含有暴力色情等等,同时也可以查看到其他人的评论和留言中是否含有人身攻击等。该功能模块实现了如下几个子功能:(1)对各个分类如日志、图片、评论的显示。(2
21、)对各个相关信息单独的显示。(3)对不符合规定的相关文件进行删除。借助该模块,允许管理员对博客的各个信息进行维护及其管理。2.3 系统分析在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。所以选择
22、Java技术作为blog 的开发语言。为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了高性能PC作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL。该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:1.服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000及以上;2.数据库:MySQL 5.0.27版本;3.Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式;4.客户端运行环境:能运行IE 5以上或Netscape 5以上浏览器
23、的操作系统;5.客户端运行工具:目前的系统采用浏览器作为客户端,应该选择使用IE 5以上版本浏览器。本网站以windows xp为Web平台,JSP+Servlet+JavaBean为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。1、系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。2、系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询
24、的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。本系统采用MVC模式,主要有如下几个分层。1.表现层:由J
25、SP 页面组成。2.中间层:使用Servlet和DAO。3.模型层:由各个功能模块相应的JAVABEAN文件对应实现。2.3.1 系统架构说明本系统严格按MVC 模式设计,分为控制层,表示层,模型层三层,MVC 层的控制器不进行持久化操作,只参与业务逻辑的实现,持久化的操作通过DAO来实现,表现层采用传统JSP 技术,模型层则用JAVABEAN来实现。 本系统采用的是典型的J2EE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用和稳定的表现
26、,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Servlet和DAO技术来实现 。该系统中间层的介绍如下:这层实际上就是MVC 模式里面的C,负责模型层和表现层的交互。调用DAO,并将业务数据返回给表现层作组织表现。以DAO为基础,通过对DAO 组件的正面模式包装,完成系统所要求的业务逻辑。DAO就负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。2.3.2 实现DAO DAO还有助于提升系统的可移植性。独立的DAO层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO层,不同数据库的切换不会影响业务逻辑组件,因此提高
27、了系统的可复用性。DAO(Data Access Object)数据访问接口。数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。在核心J2EE模式中是这样介绍DAO模式的:为了建立一个健壮的J2EE应用,应该将所有对数据源的访问操作抽象封装在一个公共API中。用程序设计的语言来说,就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口在逻辑上对应这个特定的数据存储。以下为系统中一个DAO的部分代码实例:该段代码功能为读取某个用户的最新日志返回一个日志的实体。public
28、 DailyBean getIndexDaily(String userid1) try con = GetDbCon.getDbConn();/通过调用数据库类得到数据库连接Statement stm = con.createStatement();int userid = Integer.parseInt(userid1);/执行数据库指令返回结果ResultSet result = stm.executeQuery("select * from daily where userid = "+ userid + " order by dailyid desc
29、limit 1 ");/读取结果存入一个DailyBean中while (result.next() int dailyid = result.getInt("dailyid");String dailyname = result.getString("dailyname");String daily = result.getString("daily");java.sql.Date postingdate = result.getDate("postingdate");java.sql.Date mod
30、ifytime = result.getDate("modifytime");db.setUserid(userid);db.setDailyid(dailyid);db.setDailyname(dailyname);db.setDaily(daily);db.setPostingdate(postingdate);db.setModifytime(modifytime);result.close();stm.close();con.close(); catch (Exception e) e.printStackTrace();return db;/返回刚刚已存入信息的
31、DailyBean2.3.3 DTODTO就是数据传输对象(Data Transfer Object)的缩写。DTO模式或称VO模式,是指将数据封装成普通的JavaBeans,在J2EE多个层次之间传输。DTO类似信使,是同步系统中的Message。该JavaBeans可以是一个数据模型Model。常见的方式就是为实体对象建立一个Model类,该类只包含这个对象所有字段的getter和setter。例如用户User实体有name, password字段,则建立一个UserModel类,public方法有getName,setName,getPassword,setPassword。2.4 系统
32、的可行性分析2.4.1 技术可行性技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是服务器,网速)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的只需要两个多月就可以写出程序,再花上几天的调试,计划两个多月左右就可以完成投入使用了。我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用有了较深刻的认识与一定的动手实践能力,从一定程度上具备了开发一个小型系统的能力。2.4.2 经济可行性主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人
33、员工资和培训费等,另一个是取得的收益。这是个小型的系统,从投入的人力,财力与物力来讲是非常小的,发布出去之需要注册域名就可以了,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作。 2.4.3 管理可行性有IP地址、用户名与密码等,可以下载一个FTP上传工具上传更新后的内容即可.2.5 界面设计2.5.1 博客系统主界面图2.5博客系统主界面如图2.5为博客系统界面。当用户进入到博客主界面时,可以看到博客系统中所有注册用户的博客。并通过页面上的链接进入相关博客、通过登陆和注册进入到相应的界面。2.5.2 博客主界面图2.6博客主界面如图2.6为博客界面。当用户进入到博客主界
34、面时,可以看到博客中最新发表的文章。并通过页面上的“日志”、“相册”、“留言”等进入到相应的界面。2.5.3 博客主界面图2.7博客日志主界面如图2.7为博客日志列表界面。当用户进入到该页面时,可以看到该博客中所有发表的文章。点击后即可进入查看详情。2.5.4 博客主界面图2.8博客相册界面如图2.8为博客相册列表界面。当用户进入到该页面时,可以看到该博客中所有创建的相册。点击后即可进入查看详情。2.5.5 博客主界面图2.9博客留言界面如图2.9为博客留言界面。当用户进入到该页面时,可以看到该博客中所有留言。也可以在该页面进行留言。2.5.6 博客后台管理界面图2.10博客后台管理界面如图2
35、.10为博客后台管理界面。当管理员进入到该页面时,可以看到该博客系统中所有的用户、日志、图片以及评论留言。进行详细的查看的删除操作。第3章 开发环境的选择3.1 开发语言的选择3.1.1 JAVA简介Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。3.1.2 Web应用程序开发环境JSP
36、技术JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点:1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;3、组件的开发和使用很方便:如ASP的组件是由C+,VB等语言开发的,并需要注册
37、才能使用;而JSP的组件是用Java开发的,可以直接使用;4、一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Write once,Run everywhere.3.1.3 Web应用程序开发环境Servlet技术本博客系统采用了Servlet技术开发,它可以处理客户端传来的HTTP请求,并返回一个相应。Servlet是一个JAVA类,JAVA语言能够实现的功能,Servlet基本上能够实现。它具有以下的特点:(1) 高效:在服务器上只有一个JAVA虚拟机在运行,它的优势在于当多个来自客户端的请求进行访问时,Servlet为每个请求分配一个线程而不是进程。(
38、2) 方便:Servlet提供了大量的实用工具例程,例如处理很难完成的HTML表单数据、读取和设置HTTP头、处理Cookie和跟踪会话等。(3) 跨平台:Servlet是用JAVA类编写的,它可以和不同的操作系统平台和不同的应用服务器平台下进行。(4) 功能强大:在Servlet中,许多使用传统CGI程序很难完成的任务都可以利用Servlet技术轻松地完成。例如:Servlet能够直接和Web服务器交互,Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。(5) 灵活性和可扩展性:采用Servlet开发的Web应用程序,由于Java类的继承性、构造函数等特点,使
39、得应用灵活,可随意扩展。(6) 共享数据:Servlet之间可通过共享数据很容易地实现数据库连接池。它能方便的实现管理用户请求,简化Session和获取前一页面信息的操作,而在CGI之间通信则很差。由于每个CGI程序的调用都开始一个新的进程,调用间通信通常要通过文件进行,因而相当缓慢。同一台服务器上的不同CGI程序之间的通信也相当麻烦。要实现MVC模型就必须要有控制层servlet,已达到代码和页面更彻底的分离,但这部分知识在课本中也没有涉及到,只能通过从网上查资料、或一些书籍的代码来自学,掌握后发现servlet除了在配置和规则上有些特殊外,和普通的java类并没什么太大区别,首先,serv
40、let继承了javax.servlet包中的HttpServlet,并重写doGet或者Post方法,它会自动识别jsp页面的method来选择调用doGet方法或者doPost方法。这两个方法中应该写对jsp页面的逻辑处理,然后重定向其它的jsp页面。3.2 数据库的选择3.2.1 MySQL数据库MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的特性:1.使用
41、C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性 2.支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统 3.为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 4.支持多线程,充分利用CPU资源 5.优化的SQL查询算法,有效地提高查询速度 6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB
42、 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径 8.提供用于管理、检查、优化数据库操作的管理工具 9.可以处理拥有上千万条记录的大型数据库 安装、运行MySQL的硬件需求(1)计算机Inter及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统。(2)内存(RAM)企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。(3)硬盘空间完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要
43、65MB的空间。3.3 开发工具的选择MyEclipse,Dreamweaver,选择MySQL作为后台的数据库,选择JAVA、JSP、Html作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。1、Tomcat应用服务器目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的文件夹放到Tomcat的webap
44、p目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。2、 B/S 开发模式伴随着Internet的迅速发展
45、,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。B/S模式带来了巨大的好处:开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管
46、理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。第4章 数据库设计4.1 概念设计数据库设计的优劣直接关系到项目系统的成败,一个好的数据库设计方案可以有效的提高系统的效率,高效快捷的组织数据管理,而且方便的系统维护。根据前面几部分的需求分析和概要设计,可以设计出相应的系统所需要的数据库表。博客系
47、统所要存储的数据项和数据量相对比较复杂和庞大,所以首先确定这些数据库表的设计一般是一个表存储一个实体或者对象的相关信息,这样分析和涉及数据库就相对简单。对于不同的对象或实体,根据具体系统需要和未来扩展,可以适当细分。另外扩充信息和动态变化的信息分开放置在不同的表里。当然重要的表都会设置一个唯一标识的主键,这个主键不是实际运用中的任何信息项,只用来唯一标识一个数据项,一般用自动编号的数字。经过需求分析和概要设计,在MySQL数据库管理系统中建立名为blog的数据库,系统所有应用的数据信息将存储在该数据库中。这些建立的表基本上都是一表负责一个实体或者对象的各种信息存储,它们协调工作,以实现个人博客
48、系统对数据存储的要求。4.2 定义(数据词典)1、数据库表名的定义使用:重点字;重点字可以是多个英文单词的组合,字段命名是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。2、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的。3、输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。4、长度定义又数据类型决定:如字符串可选系统默认大小以下,数字可在50位之内,字符只允许一位。5、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、
49、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。4.3 数据库逻辑结构设计依照数据库的概念分析和逻辑关系结构,最终实现数据库的逻辑结构,下列各表为本系统的数据表逻辑结构。4.3.1 普通用户信息表名:userinfo描述:普通用户信息具体结构如表4.1所示:表4.1 普通用户信息表字段名称类型注解备注useridInt用户id主键usernameVarchar(20)用户名非空blognameVarchar(30)博客名非空blogsignVarchar(50)博客个性签名passwordVarchar(20)密码非空lastlogindatetime最后登录时间
50、flagTinyint用户类型标记0:普通用户1:高级用户nameVarchar(20)姓名sextinyint性别0:保密1:男2:女provincevarchar(20)省份cityvarchar(20)城市addressvarchar(100)具体地址birthdaydatetime生日emailvarchar(30)电子邮件telvarchar(20)联系电话regtimedatetime注册时间profilevarchar(200)个人简介4.3.2 管理员信息表名:managerinfo描述:管理员信息具体结构如表4.2所示:表4.2 管理员信息表字段名称类型注解备注adminid
51、Int管理员id主键adminnameVarchar(20)管理员用户名非空passwordVarchar(20)密码非空nameVarchar(20)姓名telvarchar(20)联系电话regtimedatetime注册时间4.3.3 日志信息表名:daily描述:日志信息具体结构如表4.3所示:表4.3 日志信息表字段名称类型注解备注dailyidInt日志id主键useridInt用户id外键dailynameVarchar(30)日志名非空dailyText日志内容非空postingdatedatetime发布时间modifytimeDatetime修改时间4.3.4 图片信息表名
52、:photoinfo描述:图片信息具体结构如表4.4所示:表4.4 图片信息表字段名称类型注解备注photoidInt图片id主键useridInt用户id外键albumidInt相册id外键photonameVarchar(30)图片名非空photoaddressVarchar(50)图片地址非空photodepictVarchar(50)图片描述uploadtimeDatetime发布时间4.3.5 相册信息表名:photoalbum描述:相册信息具体结构如表4.5所示:表4.5 相册信息表字段名称类型注解备注albumidInt相册id主键useridInt用户id外键albumname
53、Varchar(30)相册名非空albumdepictVarchar(50)相册描述createtimedatetime建立时间4.3.6 评论信息表名:comment描述:评论信息具体结构如表4.6所示:表4.6 评论信息表字段名称类型注解备注commentidInt评论id主键useridInt用户id外键pdidInt被评论内容id外键commentVarchar(200)评论内容非空commenttimedatetime评论时间flagtinyint评论标记位0:图片1:日志4.3.7 留言板信息表名:message描述:留言板信息具体结构如表4.7所示:表4.7 留言板信息表字段名称
54、类型注解备注messageidInt留言id主键blogidInt博客id外键useridInt留言用户id外键messageVarchar(200)留言内容非空messagetimedatetime留言时间第5章 系统的测试及发布运用JSP对系统进行开发和应用,必须首先安装和配置好相应的开发环境和支持组件,随后进行发布前的测试工作。本章主要介绍系统相关的配置和开发后系统的发布情况以及运行效果。5.1 应用环境配置5.1.1 安装tomcat 6.0服务器直接从主页上下载好程序的压缩包后,只需解压到相应的目录即可使用,解压后,运行文件夹下的bin文件夹下的startup.bat即可启动tomc
55、at服务器,启动后,在浏览器中输入http:/localhost:8080/,如果显示如下图欢迎页面所示即证明安装成功。5.1.2 安装jdk1.6.0从sun主页上下载好JDK的程序后,同意协议,选择相应的安装文件夹后即可下一步进行安装,安装成功后需要对系统环境变量进行配置才可使用,打开计算的属性,选择高级属性中的环境变量,进入后新建一变量名为“JAVA_HOME”变量参数设置为JDK的安装目录,例如“C:Program FilesJavajdk1.6.0_20”,然后选择“path”变量,在参数中添加“%JAVA_HOME%bin”,设置一个CLASSPATH变量即可。5.1.3 安装MySQL服务从网上下载了最新的MySQL安装文件后,进行数据库服务的安装与配置,其中有多项配置,其中注意要将MySQL服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024幼儿园幼儿入园协议及幼儿心理辅导服务3篇
- 建房木条购买合同范文
- 2024年钢化玻璃采购框架合同
- 2025版股权转让延期协议书3篇
- 2024年音乐制作录制标准化协议模板解析版B版
- 百色职业学院《中国古代文学6》2023-2024学年第一学期期末试卷
- 2024年环保产业项目特许经营权授予合同
- 2025年度交通车辆租赁与绿色出行倡导服务协议3篇
- 2024年货运代理与供应链金融服务合同
- 2025年度数据中心网络安全系统安装施工款项合同模板2篇
- 重庆气体行业协会
- 公司走账合同范本
- 获奖一等奖QC课题PPT课件
- 企业中高层人员安全管理培训--责任、案例、管理重点
- 人教版小学三年级数学上册判断题(共3页)
- 国际项目管理手册The Project Manager’s Manual
- 小学五年级思政课教案三篇
- 高强螺栓施工记录
- 一亿以内的质数表(一)
- (完整版)倒插、翻口、评点文件
- 病理生理学缺氧
评论
0/150
提交评论