资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,2024/11/13,第,8,章,JSP,实用技术的应用,网站留言板,2023/10/6第8章 JSP实用技术的应用网站留言板,2024/11/13,2,点击添加文本,点击添加文本,点击添加文本,点击添加文本,目录,01,02,02,系统实现,系统设计,2023/10/62点击添加文本点击添加文本点击添加文本点击,2024/11/13,3,点击添加文本,点击添加文本,点击添加文本,点击添加文本,掌握利用,FileUpload,组件来实现文件的上传,利用,Commons Email,组件实现邮件发送,了解软件工程技术,理解在线编辑器的使用方法,掌握图形验证码的生成与使用,采用,DAO,设计模式的分页技术,2023/10/63点击添加文本点击添加文本点击添加文本点击,2024/11/13,4,8.1,系统设计,任何系统设计都应以技术先进、系统实用、结构合理、产品主流、低成本、低维护量作为基本建设原则,规划系统的整体构架,因此对留言板的系统设计是必要的。它有助于版主收集网站的反馈信息,也是客户通过网络收集信息的有力工具。本节主要介绍对留言板的需求分析、留言板的功能设计和数据库设计。,2023/10/648.1 系统设计任何系统设计都应以技术先,2024/11/13,5,8.1.1,需求分析,需求分析是软件开发的基础,对于任何系统而言,首先都要进行可行性研究。开发人员对用户的要求及现实环境进行调查、了解,从社会、技术和功能因素等方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。,从社会因素方面,留言板作为网站重要的一个组成部分,是企事业和个人在网络上互相交流、各抒己见,相互学习的平台。,从技术因素方面,本留言板系统的设计将主要通过,JSP,JavaBean,Servlet,技术实现,,在开发工具的选择上使用了,MyEclipse10,,数据库采用了,MySQL,,通过,Tomcat,服务器来实现对留言板的管理。,从功能因素方面,留言板是主人与访客都可以在此留言,为主人与访客之间提供一个交流的平台。,2023/10/658.1.1 需求分析需求分析是软件开发的,8.1.2,功能设计,留言板具有的主要功能如下:,1.,用户信息管理模块,用户角色分为普通用户和管理员两种登录。,普通用户可以注册、登录、发表或回复、查看留言等功能。,管理员以管理员身份登录、可以对留言进行发表或回复、查看、修改和删除等功能。,2.,留言信息管理模块,发表或回复留言模块:用户登录后可以进行发表或回复留言。,留言显示模块:对所有的留言按要求来显示。,留言删除模块:管理者可以对留言进行删除处理。,文件上传和邮件发送模块:普通用户和管理者都可以将文件上传或发送邮件。,2024/11/13,6,8.1.2 功能设计留言板具有的主要功能如下:2023/10,8.1.3,数据库设计,通过系统分析,确定该系统的数据库是用,MySQL,来实现的,该系统数据库名为,lyb,。需要,2,个表:用户信息表(,userinfo,)和留言信息表(,ly,)。,1.,用户信息表(,userinfo,),该表主要用来存储用户基本信息,其字段的详细信息如表所示。,2024/11/13,7,8.1.3 数据库设计通过系统分析,确定该系统的数据库是用M,8.1.3,数据库设计,2.,留言信息表(,ly,),该表主要用来存储用户的留言与回复信息,其字段的详细信息如表所示。,2024/11/13,8,8.1.3 数据库设计2.留言信息表(ly)2023/10/,8.1.3,数据库设计,3.,创建数据库,首先启动,MySQL,后,选择菜单“数据库”“创建数据库”,弹出创建数据库对话框,新建一个数据库,数据库名称为,lyb,。,4.,创建表和设置字段:,在左侧的导航中选择名为“,lyb”,的数据库,单击鼠标右键,从弹出的快捷菜单中选择“创,/,建”“表”,创建新表。具体方法请参见第,4,章中的“,4.3.3 MySQL,的使用”内容。,2024/11/13,9,8.1.3 数据库设计3.创建数据库2023/10/69,8.2,系统实现,1,、用户注册:留言板系统中设计用户注册功能,从某些层面来说,是一种网络营销的方式,申请成为注册用户,可以参与站内活动;可以通过发送邮件、上传下载文件等方式及时获取网站相关信息。而板主可以通过注册用户,了解用户喜好、特点等各方面的信息,不断收集相关数据。同时注册功能相当于整个网站平台的入口,注册功能的好坏直接影响用户的使用心理,功能简单、操作便捷,会大大吸引用户对成为该网站会员的兴趣,促使用户乐于分享。,用户注册程序,(regist.jsp),的核心代码请参见书,8.2,中。,2024/11/13,10,8.2 系统实现1、用户注册:留言板系统中设计用户注册功能,,8.2.2,用户登录,在,JavaWeb,应用的用户登录功能中,主要对用户输入的用户名和密码信息进行验证来识别是否为合法用户。一般为了增加系统安全性,除了验证用户名和密码信息是否为空、用户是否存在、用户名和密码是否匹配等条件以外,还需要额外输入服务器端随机产生的图形验证码。具体实现如下:,1.,用户登录页面,Login.jsp,核心程序代码请参见书,8.2.2,中。,2.,图形验证码的生成。可以通过,Servlet,完成此功能,也可以通过,JSP,或,JavaBean,来实现,其思路一样,这里采用,Servlet,方法,,checkcode.java,的核心代码请参见书,8.2.2,中。,3.,验证。获取用户输入的验证码,从,session,中获取保存的验证码,对比验证,处理和验证登录请求的核心代码,请参见书,8.2.2,中。,2024/11/13,11,8.2.2 用户登录在JavaWeb应用的用户登录功能中,主,用户登录页面的运行效果图,2024/11/13,12,用户登录页面的运行效果图2023/10/612,8.2.3,用户信息管理,作为留言板中重要组成部分,系统将用户分为普通用户和管理员用户两种。普通用户信息管理功能模块是为普通用户提供了一个注册成为本系统用户的入口,并能够对自己的注册信息进行查看和修改。而系统管理员能够对所有的用户信息进行查看、修改和删除等操作管理。,1.,用户信息修改。普通用户修改,useredit.jsp,的核心程序代码请参见书,8.2.3,中。,2.,普通用户信息查看请参见书,8.2.3,中。,3.,系统管理员管理用户信息的主页面,adminindex.jsp,的核心程序代码请参见书,8.2.3,中。,4.,系统管理员删除用户信息,adminuserdelete.jsp,的核心程序代码请参见书,8.2.3,中。,2024/11/13,13,8.2.3 用户信息管理作为留言板中重要组成部分,系统将用户,8.2.4,留言管理,1.,在线编辑器简介:在线编辑器是一种通过浏览器等来对文字、图片等内容进行在线编辑修改的工具,用来对网页等内容进行在线编辑修改,使用户在网站上获得,所见即所得,效果,因此经常用来做网站内容信息的编辑、发布和在线文档的共享等。常见的在线编辑器有,FreeTextBox,、,FCKeditor,、,KindEditor,,,WebNoteEditor,等。,2.FCKeditor,的使用,FCKEditor,可直接从,http:/ 留言管理1.在线编辑器简介:在线编辑器是一种通过,使用,FCKEditor,编辑留言的效果图,2024/11/13,15,使用FCKEditor编辑留言的效果图2023/10/615,8.2.5,文件上传,在,Web,交互中,文件上传是一个,Web,应用程序的常见模块,本节将使用,FileUpload,文件上传下载组件来实现文件的上传,具体实现如下:,1.,首先是从网上下载,fileupload,包并导入到工程,lib,目录。,2.,通过,HTML,或,JSP,页面的表单选择所需要上传的文件,选择所需要的上传文件,Upload.jsp,的核心程序代码核心程序代码请参见书,8.2.5,中。,3.,选定上传文件后,项目会利用,FileUpload,上传下载组件先对选定的上传文件进行处理,然后,FileUpload,组件把处理后的上传文件传到服务器,系统将执行上传处理。文件上传处理程序,UploadAction.java,核心程序代码,请参见书,8.2.5,中。,4.,配置,struts_load.xml,文件核心代码,请参见书,8.2.5,中。,2024/11/13,16,8.2.5 文件上传在Web交互中,文件上传是一个Web应用,8.2.6,留言板信息显示,在显示留言板信息页面时,如果信息量很大,则经常需要分页显示信息,分页技术一般采用的是,DAO,设计模式,即,Data Accessor,模式和,Active Domain Object,模式。其中,Data Accessor,模式实现了数据访问和业务逻辑的分离,而,Active Domain Object,模式实现了业务数据的对象化封装,一般我们将这两个模式组合使用。现以,DAO,设计模式来设计留言板信息分页显示,具体实现:,1.,创建数据库连接类,DBUtil.java,的核心程序代码请参见书,8.2.6,中。,2.,创建,VO,类的核心程序代码请参见书,8.2.6,中。,3.,创建,DAO,接口的核心程序代码请参见书,8.2.6,中。,4.,利用,DAO,实现类的核心程序代码请参见书,8.2.6,中。,2024/11/13,17,8.2.6 留言板信息显示在显示留言板信息页面时,如果信息量,留言板信息分页显示效果图,2024/11/13,18,留言板信息分页显示效果图2023/10/618,8.2.7,邮件发送,在,JavaWeb,项目开发中可以采用,Java Mail API,或,Commons Email,技术来实现邮件发送和接收。由于直接使用,JavaMail API,实现邮件发送方法比较复杂,这里采用,Commons Email,来实现。,Commons Email,是,Apache,提供的一个开源的,API,,是对,Java Mail,的封装,使用它时要将,mail.jar,、,activation.jar,、,commons-email-1.4.jar,和,addition.jar,等类复制到开发项目工程的,lib,目录下。具体实现如下:,1.,邮件发送页面,sendMail.jsp,核心程序代码请参见书,8.2.7,中。,2.,处理邮件发送的,Servlet,类,SendMailServlet.java,的核心程序代码请参见书,8.2.7,中。,3.,邮件发送处理后的结果的核心程序代码,请参见书,8.2.7,中。,2024/11/13,19,8.2.7 邮件发送 在JavaWeb项目开发中可以采用Ja,邮件发送页面效果如图,2024/11/13,20,邮件发送页面效果如图2023/10/620,
展开阅读全文