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