694523572毕业设计(论文)在线像册的设计与实现_第1页
694523572毕业设计(论文)在线像册的设计与实现_第2页
694523572毕业设计(论文)在线像册的设计与实现_第3页
694523572毕业设计(论文)在线像册的设计与实现_第4页
694523572毕业设计(论文)在线像册的设计与实现_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 毕业设计(论文)题目: 在线像册的设计与实现 学生姓名: 学号: 专业:计算机科学与技术 班级:20061121指导教师: 评阅教师: 完成日期: 年 月 日 学位论文原创性声明学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允

2、许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密 ,在_年解密后适用本授权书。2、不保密 。(请在以上相应方框内打“” )作者签名: 年 月 日 导师签名: 年 月 日 目 录摘要.v前言.1第 1 章 绪论.21.1 系统开发的背景和意义.21.2 国内外发展状况.21.3 研究内容.3第 2 章 选择平台与架构.52.1 开发环境 .52.2 架构 .52.3 运行环境 .52.4 本章小结 .5第 3 章 电子像册系统需求分析.63.1 可行性分析 .

3、63.1.1 系统总体目标.63.1.2 技术可行性分析.63.1.3 功能需求.63.1.4 性能需求.63.2 系统总体结构 .63.2.1 系统总体结构 .73.2.2 用例图.73.3 系统功能模块结构 .83.3.1 相片管理模块.83.3.2 相册管理模块.83.3.3 用户管理模块.93.3.4 评论管理模块.93.4 数据库模块 .103.5 本章小结 .11第 4 章 系统实现.124.1 注册用户登陆设计 .124.1.1 注册用户登陆界面的创建 .124.1.2 注册用户登陆界面 .124.1.3 实现过程 .134.2 未注册用户注册设计 .164.3 相册列表 .17

4、4.4 添加相片 .204.6 相片管理 .294.6.1 修改相片.294.6.2 删除相片.304.7 实现 dao 层 .304.7.1 dao 组件的定义.304.7.2 实现 dao 组件.304.8 数据库设计 .334.9 系统测试 .334.9.1 软件测试的目的 .334.9.2 各模块测试 .334.10 本章小结 .36绪论.37参考文献.39致谢.40 在线像册的设计与实现在线像册的设计与实现学 生:指导教师: (三峡大学 计算机与信息学院)摘要摘要:随着人们生活水平的逐步提高,旅游照相成了大家必不可少放松项目。虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,

5、这些有着勾起回忆的“资料” ,就会显得杂乱无章,即不方便欣赏,也不方便管理。而在线相册具有欣赏、传播方便,界面美观等特点,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。在线相册系统平台也就应此应运而生。本系统是一种基于 b/s 架构的在线管理系统,它采用目前最流行的java 语言编写,用到了当今先进的技术如 jsp 技术、基于jsp+servlet+dao 模式在小型应用系统中式灵活并稳定的架构,是典型的基于 mvc 模式的架构。同时采用 mvc 框架技术也提高了系统的可维护性。系统分为:个人管理模块、相册管理模块、相片管理、评论管理模块。注:注册用户登陆后可以进行添加相册,

6、上传,删除照片,修改资料等一系列操作。而如果是未注册用户只能查看相册中的内容,没有权力进行相应的修改。特别是上传相片、相册列表、相册管理、相片查看及评论管理等模块是在线相册系统的重点。关键词:关键词:java;电子相册; mvc abstract:as people gradually increase the standard of living, travel photography has become essential to relax the project everyone. while the photos will eventually be deposited to you

7、r computer, but over time,more than one photo,which has brought back memories of the data,will be very chaotic, that is inconvenient to enjoy, not to facilitate management. electronic album with appreciation,the spread of convenience,the interface appearance characteristics such as good management c

8、an be deposited in the photos, after all, enjoy the best, save a photo album tool. electronic photo album will be the platform came into being. the system is based on b / s architecture online management system, it uses the most popular java language, used in todays advanced technologies such as jsp

9、 technology, based on jsp + servlet + dao patterns in small application flexibility and stability of chinese the structure is a typical architecture based on mvc pattern. mvc framework while using technology to improve the maintainability of the system. system is divided into: personal management mo

10、dule, photo album management module, photo management, reviews management module. note: registered users can add the album after landing, upload, delete photos, edit data and a series of operations. if a non-registered users can only view the contents of the album, there is no power to make the appr

11、opriate changes. in particular, upload photos, album list, album management, photo view and comment management system module is the focus of online photo albums keywords: java; electron photo album; mvc1前言前言相册在很早以前就开始有,原来是以纸质照片的形式的存在,后来随着时代的发展,科技的进步,旅游业的进步,照片越来越多,电脑的普及,传统的相册在使用人工进行管理,存在工作量大,各种多而复杂的文

12、件信息占用大量地方,相册簿方便携带,不易保管,容易丢失,翻看时不方便等等问题。随着科技的进步,电脑时代的来临,加速了电子相册的产生与进步,在网络上,电子相册发展迅速,很多网站,博客都需要电子相册的功能,而随着微机的普及使用,人们生活质量的提升,越来越多的人选择旅游,此时会照大量的照片,对相册的需求都有了更高的要求,这就要求传统的相册能够实现计算机化,让人们能方便快捷共享式的浏览照片。由于现在网络竞争激烈,人们对电子相册的要求不断提高,使得电子相册开发者必须以完善相册功能和质量来取悦于顾客,电脑的不断普及和软件业的飞速前进,使得人们拥有自己独特的电子相册成为可能,也成为必然。在现在生活质量不断提

13、高的环境下,电子相册系统越来越贴近于用户,贴近于顾客。电子相册管理系统的存在也使网站拥有者获得了更多的用户。目前,虽然很多网站都有了相册功能,但是,这些系统都是针对性非常强,都是针对网站当前的状况而开发的,对现在应用来说还算可以,但对很多不需要关注该网站的用户来说有很多的局限性。很多用户只是需要一个电子相册功能,并不需要什么博客网站等等,所以,他们需要的是一个独立的电子相册系统,用户能够在自己的电脑安装上电子相册系统,能够自己制作自己的电子相册,不受网站、博客提供商的约束。对此,我们针对现有相册功能,开发了适合多数用户使用的电子相册系统,在这个系统中,我们综合了原来旧式纸质相册的功能,又参考了

14、很多具有相册功能的网站,博客空间,开发出具有自己特色的电子相册管理系统,这个系统可以实现注册用户对相册的上传删除修改等管理功能。整个系统我们要求功能完善,组织全面,具有可扩展性,能够针对一些报错事件可以做出反应的系统。第第 1 1 章章 绪论绪论随着数码摄影时代的到来,不论是专业摄影师建立图片档案或是向他人展示自己的摄影作品,还是家庭生活摄影,都需要电子相册来保管摄影作品。如同传统的照相簿,电子相册既有展示功能也有存储和管理功能。在线相册是现在时下最流行的一种网络元素,它可以应该在很多的领域,例如时下最流行的空间及博客就是大量的应该这一技术,而且受到大多数网友的认可及追捧,其以静态照片为素材(

15、获得源方式为扫描仪扫描、数码相机所拍等),配合动感的背景、前景和字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。制作好的在线相册可以在电脑上,各类影碟机上,以及手机和 mp4 里都能观看,这是电子相册技术发展到今天的一个新的突破,即不再像传统那样,只能在电脑上或在影碟机上观看了,并且还可以通过手机将自己的个性化 mtv 发送给远方的亲朋好友们分享。当然,如果考虑到长期保存的话,制作成电子相册光盘那是最好的选择啦,金碟可保存 100 多年之久,标准 vcd、svcd、dvd 格式,兼容性好,通过影牒机即可与家人、朋友、客户观赏。若保存在硬盘上,也便于随时调阅、欣赏,永久保存。1.11.1

16、系统开发的背景和意义系统开发的背景和意义随着人们生活水平的逐步提高,旅游成了大家必不可少放松项目,每当笔者走到一个美丽的景点,就会忍不住拿起数码相机照上几张留做回忆。虽然照片最后会存入到自己的电脑里,但是时间一长、照片一多,这些有着勾起回忆的资料,就会显得杂乱无章,即不方便欣赏,也不方便管理。而在线相册具有欣赏、传播方便,界面美观等特点,可以很好的管理所存入的照片,不失为最佳欣赏、保存照片的相册工具。另外随着数码相机、手机照相等功能的普及,想必每个人手上都储存了大量的电子相片,但这此照片如果不进行处理,仅仅以一张张图片的形式放置在电脑上,不仅 不易观赏,也不方便分类管理,是否有软件能将这些照片

17、整理成一本本的相册呢?在线相册系统平台就是一款集相册制作、生成、浏览专业软件,有了它的帮助,制用相册再也不需要专业的技术,普通用户也可以在五分钟内制作出精美的在线相册,3支持 170 余种照片显示特技,可以为相片加入文件注释及说明。1.21.2 国内外发展状况国内外发展状况在线相册是现在时下最流行的一种网络元素,它可以应该在很多的领域,例如时下最流行的空间及博客就是大量的应该这一技术,而且受到大多数网友的认可及追捧,其以静态照片为素材(获得源方式为扫描仪扫描、数码相机所拍等),配合动感的背景、前景和字幕等视频处理的特殊效果,配上音乐就可制作成电子相册。制作好的电子相册可以在电脑上,各类影碟机上

18、,以及手机和 mp4 里都能观看,这是在线相册技术发展到今天的一个新的突破,即不再象传统那样,只能在电脑上或在影碟机上观看了。并且还可以通过手机将自己的个性化 mtv 发送给远方的亲朋好友们分享。当然,如果考虑到长期保存的话,制作成电子相册光盘那是最好的选择啦,金碟可保存 100 多年之久,标准 vcd、svcd、dvd 格式,兼容性好,通过影牒机即可与家人、朋友、客户观赏;若保存在硬盘上,也便于随时调阅、欣赏,永久保存。1.31.3 研究内容研究内容在线相册系统是一种基于 b/s 架构的管理系统,它采用目前最流行的java 语言编写,用到了当今先进的技术如 jsp 技术、基于 jsp+ser

19、vlet+dao模式在小型应用系统中式灵活并稳定的架构,是典型的基于 mvc 模式的架构。同时采用 mvc 框架技术也提高了系统的可维护性。为了自己的发展,各个网站都开始寻求适合用户使用的电子相册系统,为此而开发的电子相册管理系统已经非常多,并且大部分都是从用户使用的角度出发,给用户的使用带来了很大的方便。本系统所研究的是从在线相册的管理到相册的生成等一系列的问题,大致分为:用户管理、相片分类、相册管理、相片的评论管理、个人信息,我的主页。 本文共分 5 章,第 1 章是绪论,第 2 章介绍开发本系统所用到的相关技术,第 3 章是系统的需求分析及结构图,第 4 章是相册系统的系统实现,第5 章

20、是总结。各章节的研究内容如下:(1) 第 1 章主要介绍了选题的背景和意义,论述了系统的国内发展状况。(2) 第 2 章主要介绍了实现在线相册系统所用的软件和系统建设过程中使用的相关技术。(3) 第 3 章主要是在线相册系统的需求分析。(4) 第 4 章是系统的编码实现,从三层框架的实现,数据库的创建等方面介绍了系统的实现。(5) 第 5 章主要是此系统的的总结。第 2 章 程序技术相关知识5第第 2 2 章章 选择平台与架构选择平台与架构2.12.1 开发环境开发环境myeclipse 集成开发环境+mysql5.5+windows。2.22.2 架构架构在 j2ee 应用中,基于 jsp+

21、servlet+dao 模式在小型应用系统中式灵活并稳定的架构,是典型的基于 mvc 模式的架构。以 jsp+servlet+service+dao 模式实现,即以 jsp+jstl+el 技术实现前端驶入显示层,以 servlet 为页面导向控制层、service 为业务逻辑层并以dao 为数据库访问层来构建系统。2.32.3 运行环境运行环境本系统采用 tomcat5.5 为服务器,以 windowsxp 为在线相册系统的服务器,以目前流行的 mysql 为数据库服务前。2.42.4 本章小结本章小结在本章中主要介绍了软件开发时所用的开发工具和相关的技术,重点介绍了 java、j2ee 平

22、台和 mvc 结构等相关知识以。同时也详细介绍了 jsp 的相关技术,运行环境及其开发工具。如果将该系统发布到流量比较大的网站中应用,则可以以 solaris 为在线相册系统的服务器、以 jboss 为 web 服务器,以 mysql 为数据库服务器并安装在 linux 上实现双机备份等稳定性和安全性来实现。第第 3 3 章章 电子像册系统需求分析电子像册系统需求分析3.13.1 可行性分析可行性分析.1 系统总体目标系统总体目标系统主要是为了给那些对照片管理感兴趣的朋友提供一个交流的平台,对有很多照片需要管理的朋友,你在这里可以进行注册成为会员,添加相片分类,上传自己的照片,

23、也可以浏览别人的相册,还可以修改个人资料。非注册会员你可以浏览电子相册里别人的相片,同时可以对相片进行评论。3.1.2 技术可行性分析技术可行性分析这个电子相册是基于 web 来开发的,主要运用 jsp+servlet+dao 模型在小型应用系统中灵活并稳定的框架结构,是典型的基于 mvc 模式的框架,以 mysql 为后台数据库,采用 myeclipse 集成开发环境。通过它来构建一个在线相册系统,实现在互联网上使用的网络相册的绝大部分功能,所以对于本系统在技术上是可以达到的。3.1.3 功能需求功能需求本系统应该具有相片浏览、相片上传、评论相片、编辑、删除相片、用户注册、个人信息修改等功能

24、。3.1.4 性能需求性能需求设备需求:pc 机,windows98/2000/xp 操作系统,tomcat 服务器,采用mysql 数据库管理。3.23.2 系统总体结构系统总体结构本系统所研究的是在线用户发布相片、将相片归类存放,并允许其他在线网友欣赏及评论相片。系统的总体结构如下:(1)用户管理:用户已用户名及密码登陆注册,可修改密码。(2)相片分类:添加分类,删除分类,修改分类,并获取列表和分页(某个用户个人分类) 。(3)相片管理:用户登录后能发布并删除、修改发布的相片。获取相片的列表和分页(某个用户某个分类中的相片) ,以缩略图及全图两种模式来显示选择的某张相片。(4)相片的评论管

25、理:在线网友(登陆或游客)能欣赏相片并评论,相片的所有者及评论人能删除评论,获取评论的列表和分页。第 3 章 电子相册系统需求分析7(5)上传及删除相片文件:使用 jspsmartupload 组件来实现相片的上传并保存至 web 服务器中。删除相片实现级联删除:即如果删除某个用户的某个相片分类,则把此分类下的所有相片全部删除,以维护数据和文件系统的一致性。3.2.1 系统总体结构系统总体结构图图 3-13-1 总体架构总体架构3.2.2 用例图用例图用例图就是把网站各个用户的动作分解一下,再用画图软件把它画出来。电子相册系统的角色之一是注册用户用例名称:用户登录 执行者:用户目的:完成注册用

26、户登陆后的一系列操作的完整过程。(1)用户输入登录名,密码,系统识别用户信息的有效性;(2)对用户信息进行识别;(3)用户完成相册列表,新建相册修改资料等一系列操作;(4)退出系统。 在线相册平台用 户 管 理相 片 管 理相 册 管 理退 出 登 录评 论 管 理图图 3-23-2 用例图用例图3.33.3 系统功能模块结构系统功能模块结构在线相册系统的目标是工在线用户发布相片、将相片归类存放,并允许其他在线网友欣赏及评论相片。在线相册管理系统分为用户管理、相册管理模块、相片管理模块、评论管理模块。注:注册用户拥有全部操作权限,而如果是未注册用户只能查看相册中的内容,没有权力进行相应的修改。

27、3.3.1 相片管理模块相片管理模块(1) 业务描述:用户登录后能发布并删除、修改发布的相片。(2) 业务流程:用户可以浏览相关的相册的照片,获取相片的列表和分页(某个用户某个分类中的相片) ,以缩略图及全图两种模式来显示选择的某张相片,在该页面中用户可以根据自己的需要上传相应的图片,为图片取名、分类,提交后返回相册列表。(3) 输入数据:记录编号是自增列不显示在前台页面;图片名称、文件简介分别以文本框的形式展示在前台页面中,由用户输入;图片的上传以一种数据流的形式出现,出现在前台的时候以一种需要用户点击选择的形式出现。(4) 角色说明:此功能主要由注册用户和非注册用户使用。3.3.2 相册管

28、理模块相册管理模块用户主页用户相册管理退出系统相片管理用户管理评论管理用户登录第 3 章 电子相册系统需求分析9(1) 业务描述:新建相册,删除相册,修改相册,并获取列表和分页(某个用户个人分类) 。(2) 业务流程:点击相册管理,进入相册管理的主界面根据提示输入相关的信息后选择提交,则可看到刚刚新添加的那个相册,然后可以根据自己的需要选择是的操作。 (3) 错误处理:在填写信息的过程中不允许有不被填写的栏目,系统会给出相应的提示。(4) 输入数据:由用户输入相应的数据信息。(5) 输出结果:其输出结果为在相册列表中给予相应的显示。(6) 角色说明:此功能主要注册用户使用。3.3.3 用户管理

29、模块用户管理模块(1) 业务描述:用户以用户名及密码登陆 注册,可修改密码。对注册用户来讲,将自己的资料从后台数据库中读取出来然后根据用户的需要进行相应的修改,根据用户资料采集界面来采集相应的数据,根据这些数据来更新数据库中该用户的相应资料。如果是未注册的用户可根据提示进行注册。(2) 业务流程:用户登录后进入我的主页,可以浏览相册和最新 10 条相片评论信息,选择一相册进入可以浏览相册的整个相片,并查看选中相片的放大图以及对其的评论信息。同时还可以查看每条评论的详细信息。(3) 错误处理:在填写信息的过程中不允许有不被填写的栏目,系统会给出相应的提示。(4) 输入数据:由用户输入相应的数据信

30、息。(5) 输出结果:无(6) 角色说明:此功能主要注册用户使用。3.3.4 评论管理模块评论管理模块(1) 业务描述:在线网友(登陆或游客)能欣赏相片并评论,相片的所有者及评论人能删除评论,获取评论的列表和分页。(2) 业务流程:进入评论管理界面,每页显示 10 条最新评论,包括评论人大名、所属照片名、评论时间和评论内容,并可以删除评论。点击所属照片名,查看详细信息,同时还可以发表新评论。(3) 错误处理:所有字段必须逐一给出相应的数据信息。(4) 输入数据:由用户输入相应的数据信息。(5) 输出结果:评论信息。(6) 角色说明:此功能主要注册用户使用。3.4 数据库模块数据库模块本系统中涉

31、及的数据库主要包括注册用户、相片分类、相片信息及评论信息。注册用户信息表保存在线相册系统的注册用户的基本信息,包括用户名、昵称、密码及注册时间等,如表 3-1 所示。表表 3-13-1 注册用户信息表(注册用户信息表(userinfouserinfo)名称类型含义说明useridint(8)主键usernamevarchar(100)登录用户名not nullpasswordvarchar(100)用户密码nicknamevarchar(255)用户昵称addtimedatetime注册时间相片分类只有 4 个字段:即主键、分类名称、描述信息及所属的用户id。如表 3-2。表表 3-23-2

32、相片分类信息(相片分类信息(categorycategory)名称类型含义说明categoryridint(8)主键namevarchar(50)分类名称not nullmemovarchar(255)分类描述useridintr(8)所属用户 id关联到 userinfo 表的userid相片信息表用于保存用户相片及其相关信息,包括相片标题、相片简介、相片上传时间、相片所属分类、相片保存的地址,以及相片的文件名。其中,第 3 章 电子相册系统需求分析11相片保存的地址及文件名是附加信息:相片文件名是用来记录用户上传相片时原相片文件的名称,用于用户浏览或下载相片时让 web 浏览器显示文件名,

33、以供用户使用;文件类型信息指的是相片文件的格式类型,在显示相片时会用到。如表 3-3。表表 3-33-3 相册信息表(相册信息表(photophoto)名称类型含义说明photoidint(8)主键titlevarchar(50)相片标题memovarchar(255)相片描述catrgroyidint(8)相片分类关联到 category 表的categoryidurlvarchar(100)相片保存地址pubtimedatetime相片上传或最新修改时间filenameintr(8)所属用户 id评论信息表则是网络相册的一大特征,用于保存网友对相片的评论信息。一张相片可能会有多条评价信息,

34、因此应该保存平困的相片 id、评论时间、评论人的名称(或匿名)以评论的文字信息等。如表 3-4。表表 3-43-4 评论信息表(评论信息表(commentcomment)名称类型含义说明commentidint(8)主键photoidint(8)相片 id关联到 photo 表的photoidaddnamevarchar(100)评论人姓名addtimedatetime评论时间commentvarchar(255)评论内容3.5 本章小结本章小结 本章详细描述了系统的体系结构,对系统进行了简单的可行性分析,确定了各子系统要完成的功能,详细介绍了系统的各个重要模块的需求,同时给出了各子功能系统流

35、程图。 ,并初步得到了系统模型和功能模块划分,通过本章中描述的系统体系,接下来的任务是根据本章的叙述进行详细具体的设计实现。第 4 章 系统实现13第第 4 4 章章 系统实现系统实现系统阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成某种程序设计语言书写的程序。本章主要实现了各个模块的具体功能。4.1 注册用户登陆设计注册用户登陆的界面设计要简洁明,登陆有一个主页面,首先进行的是验证,判断登陆者的权限,注册用户登陆界面如图 4-1 所示。图图 4-14-1 注册用户登陆注册用户登陆4.1

36、.1 注册用户登陆界面的创建注册用户登陆界面的创建在页面表现上,采用 css 样式表的方式,用记事本编写一个 css 文件(style.css),每个 jsp 页面都引入这个文件,这样当需要变更页面图片背景等静态属性时,就直接修改 css 文件,而无需对页面本身进行任何改动,大大提高效率,除此之外,本系统平台引入了现在网络上较为流行 ajax 的验证码机,也就是说注册用户除了给出用户名和密码外还要另再填入给出的验证码(这里的验证码是查看用户是否已存在)点击登陆才能以用户的身份进入在线相册的主界面。.2 注册用户登陆界面注册用户登陆界面注册用户进入时,其登陆成功界面如下:(这里以

37、 2006112103 为用户名登陆举例)图图 4-24-2 注册用户登陆注册用户登陆设计思想:用户登录模块,该模块需要确认二部分信息,首先得确认系统用户的身份,是否存在该用户,其次,若该用户存在则判断用户的密码,两部分信息都正确则登陆到系统主页面。登陆界面是 web 应用项目中的大门,它能让用户访问 web 项目中的功能。.3 实现过程实现过程在注册用户登陆的 login.jsp 界面中:loginservlett.javapackage jspbook.webalbum.servlet;第 4 章 系统实现15public class loginservlet extend

38、s javax.servlet.http.httpservlet implements javax.servlet.servlet static final long serialversionuid = 1l;public loginservlet() super(); protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception / todo auto-generated method stubdopost(request

39、,response); protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception / todo auto-generated method stubservletencoding.setencoding(request, response);userinfo userinfo=new userinfo();userinfo.setusername(request.getparameter(username);userin

40、fo.setpassword(request.getparameter(password);userinfo=userinfodao.login(userinfo);httpsession session=request.getsession(); requestdispatcher requestdispatcher=null;/response.getwriter().print(request.getquerystring();if(userinfo=null)/设置返回路径和错误信息request.setattribute(returnurl, login.jsp);request.s

41、etattribute(errormessage, 帐号或者密码不正确!);requestdispatcher=request.getrequestdispatcher(error.jsp);/servletcontext sc=this.getservletcontext().setattribute(, arg1)response.getwriter().print(request.getrequesturi();elsesession.setattribute(userinfo, userinfo);requestdispatcher=request.getrequestdispatch

42、er(getdefaultinfo?userid=+userinfo.getuserid();requestdispatcher.forward(request, response); 从上面的代码可以看出如果返回的是真值也就是说验证正确的话会跳转到loginservlet。在 loginservlet 的 dopost()中首先设置编码格式为”gb2312”,然后去的 login.jsp 中 username 和 password 的输入信息,并通过userinfodao 的 login()方法来验证登录用户是否已经注册并核对密码信息。如果返回的 userinfo 对象不为空,这表示验证成功

43、。把页面控制给 url为/getdefaultinfo,并附上 userid 的 request 信息。 getdefaultinfo 目的是在想系统主页面中显示相片的用户信息、所有相片的分类信息、每个相册的相片数目以及最新评论信息等关键信息。因此在dopost()方法中,首先从 request 中得到登录相册的当前用户的 userid,把查询到的 userinfo 对象保存在 request 范围中共 jsp 调用并通过 userid 查询该用户的所有相册集相册数目。然后把查询到的最新的 10 条评论信息保存到list 中,并把这些信息保存到 request 中以供 jsp 页面显示。 通过

44、其中粗体表示的 div class 可以知道该 jsp 主要实现显示用户信息、最新评论及用户的相册。其中使用 jstl 中的元素来迭代commentlist 及 categorylist,并且使用 el 语句来显示各项内容。在本系统的 web.xml 文件中我们定义了各个 servlet 的相关信息,包括servlet 的名称、类路径及 url 映射名。在 jsp 及访问木椅 servlet 是,均要使用此 servlet 的 url 映射名。由映射名找到 servlet 的类路径,从而导向至servlet。在 jsp 页面中,使用了一些公共的方法,这些方法定义在第 4 章 系统实现17web

45、album/webroot/js/adjax.js 及 common.js 中另外有关 jsp 的布局类定义在webalbun/webroot/css/style.css 中。4.2 未注册用户注册设计未注册用户登陆的界面设计要简洁明,注册有一个主页面,首先进行的是填写注册信息,然后进行提交操作。图图 4-34-3 未注册用户注册未注册用户注册验证用户javascriptfunction changefieldtoquerystring(formname,fieldname)var args=;var form=document.formsformname;args=form.elements

46、fieldn+=+form.elementsfieldname.value;return args;/-将表单上某个字段的值发送到服务器端,并返回结果function sendfieldtoserver(formname,fieldname,servletname)sendmessagetoserver(servletname,changefieldtoquerystring(formname,fieldname);未注册用户注册界面的创建在页面表现上,采用 css 样式表的方式,用记事本编写一个 css 文件(style.css),每个 jsp 页面都引入这个文件,这样当需要

47、变更页面图片背景等静态属性时,就直接修改 css 文件,而无需对页面本身进行任何改动,大大提高效率。该模块完成用户注册的过程,用户注册后才能完成图书订阅等功能。流程分析本模块包含二个文件,adduser.jsp 完成用户注册信息录入;david.js 完成检查数据的可靠性,符合要求的数据写入 userinfo 数据表。在这个模块里,用户可以输入“用户名”, “昵称”, “密码”, “重复密码”,然后单击“注册”按钮提交注册信息,如果注册所用的用户名已经存在于数据库中,系统会报错。如果用户数据的“新密码”和“新密码确认”内容不一致,系统也会报错。用户一旦通过注册。就在数据库中存储了该用户的注册信

48、息,该用户就可以凭此信息进行登录。4.3 相册列表添加相册的界面设计要简洁明,添加相册有一个主页面,首先要进行相应的数据输入,然后提交操作相册列表有两种方式,一种是通过 defaultinfo.jsp 主页面中的分类列表或“相册管理”来竟如相应相册的相片列表:另一种是直接竟如“相片管理”来列出所有的相片列表。下面好似几个主要的 servlet 使命。(1)getcategoriseservlet.java:去的登录用户的相册,并把页面导向至categorylist.jsp,即“相册管理”页面。(2)getphotoservlet.java:取得用户的所有相册并实现分页功能,把页面导向至 pho

49、tolist.jsp,即“相片管理”页面。如图 4-4 第 4 章 系统实现19图图 4-44-4 相册下的所有相片列表相册下的所有相片列表(3)getphotos.java:取得用户指定的相册下的所有相片列表并实现发布功能,把页面导向至 photolisttoall.jsp。如图 4-5图图 4-54-5 相册下的相片列表页面相册下的相片列表页面如代码实现了查询给用户制定的相关相册下的所有相片信息,并用 list保存在 request 中。然后需要分页显示的一些相关数目,如当前页,相片总页数,总相片数及当前相片显示书目等。photolist.jsp 的代码 $【$c

50、ategory.photonum张照片】 $category.addtime 新建相册$category.memo第 4 章 系统实现21删除相册修改相册在 photolist.jsp 中首先对 requestscope 中的 photolist 使用迭代 photo 信息并显示相片的缩略图,其后实现分页。getphotos 与 getphotosservlet.java 相似,唯一不同之处在于前者是正对用户的某一相册下的所有相片的列表,后者是正对给用户的所有相片列表。4.4 添加相片 给系统中的上传相片时关键功能,是先方法是把上传的相片文件以文件形式保存在 web 应用程序下的 webroo

51、t/photos 目录下。对每张相片,以用户注册的用户名(username)及向南偏的所属相册的 categoryid 来新建二级目录,然后再目录下保存相片,相片文件的名称仍使用上传的文件名。例如,用户名为“2006112101”的相册 id 为 2 的相片文件应上传保存在webroot/photos/2006112101/2/目录下。上传相片功能的主要流程如下:(1)取得用户提交的数据,生成要保存的 photo 对象。(2)把 photo 相片文件上传至 web 服务器保存。(3)保存(增加或修改)相片的信息至数据库。(4)根据上传的相片及保存信息的结果设置不同的提示结果。(5)跳转至相片显

52、示或主页面的 servlet。上传相片的页面实现由 addphoto.jsp 在 addphoto.jsp 页面中,使用“file”型的浏览文件组件来供用户选择相片文件进行上传,而所属相册则是当前用户的所有相册列表。由于用户在 addphoto.jsp 提交的数据中包括了相片文件的信息,所以不能直接使用 getparameter()方法来获得用户提交的文件信息。因此需要使用第三方提供的一个组件来完成这个功能。在这里选用的是 jspsmartupload 组件,他是在前面章节中介绍过的专门用来处理文件上传下载的组件。使用这个包来上传相片文件需要在生成 jspsmartupload 对象并初始化一

53、些参数。(1)允许用户上传的文件类型及文件的最大值,即超出文件类型范围或文件的最大值的相片文件不能上传到服务器,这主要是基于安全和性能方面的考虑。(2)使用 smartupload 对象的 getrequest()方法来取得用户提交的相片文件的请求信息,并通过 com.jspsmart.upload.request 类的getparameter(string paraname)方法来解析请求信息。(3)需要根据用户名及相册 id 在服务器端构造相片的保存目录,并设置保存文件的文件。在本例中,我们要使用基于 web 应用程序的相对路径方式来保存文件,故采用 save_virtual 来保存文件。

54、上传图片页面如图 4-6 示。第 4 章 系统实现23图图 4-64-6 上传相片页面上传相片页面首先使用 jspsmartupload 上传组件来上传图片至服务器,上传成功后把相片信息保存至数据表 photo 中,这两步成功后才返回成功添加相片的信息。在页面表现上,采用 css 样式表的方式,用记事本编写一个 css 文件(style.css),每个 jsp 页面都引入这个文件,这样当需要变更页面图片背景等静态属性时,就直接修改 css 文件,而无需对页面本身进行任何改动,大大提高效率,在页面步局和设计方面在此就不多加以介绍。下面的部分中主要介绍一下具体的实现过程。addphotoservl

55、et.javapackage jspbook.webalbum.servlet;public class addphotoservlet extends httpservlet implementsjavax.servlet.servlet static final long serialversionuid = 1l;public addphotoservlet() super();protected void doget(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception

56、 / todo auto-generated method stubdopost(req, resp);protected void dopost(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception todo auto-generated method stub/ 改变编码servletencoding.setencoding(req, resp);httpsession session = req.getsession();printwriter out=resp.getw

57、riter();if (session.getattribute(userinfo) = null) / session 中没有保存用户信息requestdispatcher requestdispatcher = req.getrequestdispatcher(login.jsp);requestdispatcher.forward(req, resp); else doexecute(req, resp);public void destroy() / todo auto-generated method stubpublic void init() throws servletexce

58、ption / todo auto-generated method stubpublic void doexecute(httpservletrequest request,httpservletresponse response) throws ioexception, servletexception / todo auto-generated method stubservletencoding.setencoding(request, response);hashtable paratable = photoupload.uploadphoto(request.getsession(

59、).getservletcontext(),request,response,destfilepath);boolean upload = true;string savephotopath = ;string photofilename=;int categoryid = 0;第 4 章 系统实现25smartupload smartupload = new smartupload();com.jspsmart.upload.request inputrequest = null;try smartupload.initialize(request.getsession().getservl

60、etcontext(), request, response);/ 只允许上传 jpg/gif/tmp 类型文件smartupload.setallowedfileslist(jpg,gif,bmp,jpg,gif,bmp,);/ 设置允许上传文件的大小限制smartupload.setmaxfilesize(50000);smartupload.upload();system.out.println(smartupload.upload();enumeration parameters = smartupload.getrequest().getparameternames();while

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论