




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 JSP实现留言板,留言板在网络上的使用率是很高的,论坛、博客等都有留言板。相信读者在网上都见过留言板的样式,本章就来介绍如何使用JSP来实现留言板。在实现留言板的时候也使用到了前面所学习的内容,如用户的注册、登录等,另外在显示留言内容时要进行分页显示,这里将重点介绍自定义分页标签实现分页显示。,7.1 实现留言板的界面,留言板界面的实现,就是将同一个标题的所有留言全部显示出来,并且在界面下方有可以添加留言信息的输入栏。一个难点就是要分页显示查询到的信息,界面样式如图所示。这里一页显示的数据是2条,数据库中一共有4条数据,所以要分成两页。当单击“2”链接或者“尾页”链接时,将显示另外两条数据信息,,7.2 JSP处理留言请求,在JSP中处理留言请求,首先通过request对象获取到留言的内容,留言人的姓名,并且通过JDBC将获取到的内容存储到数据库中,最后再返回到留言页面将相关留言信息显示出来的过程。下面就对以该过程分解开来一一介绍。,7.2.1 通过request对象得到留言信息及留言人的姓名,通过form表单提交的数据信息,如果在另一个页面中想要取得这个数据信息,就要使用request对象。通过form表单提交的有留言人姓名、留言内容和留言标题,,7.2.2 通过JDBC将留言内容存储到数据库中,通过request对象获取留言内容等信息的目的就是将它们存储到数据库中,JSP要连接数据库就要使用到JDBC。这里创建了一个DBMessage.java类处理与数据库相关的代码,并使用一个无参的构造函数来初始化JDBC的连接, 数据库连接好后,就要将相关信息保存到数据库中。这里保存留言内容等信息的表为message,字段有留言标题title、留言内容content、留言人姓名username。在DBMessage.java类中定义了一个newMessage()方法,来实现向数据库中添加数据信息。,7.2.3 将所有的留言信息从数据库中取出并回显,同一个标题的所有留言,对用户都是可见的。当用户提交一个新的留言后就会在页面的上方显示出来。 title作为参数的目的是要查询该title下的所有留言,同时将查询结果保存到List中并返回。此外这里还用到了JavaBean来对查询结果进行封装,以达到数据的完整性。在页面上要调用此方法与JavaBean来显示信息,,7.3 编写自定义标签进行分页处理,JSP提供了一个标签库(Tag Libraries)来使JSP的开发更容易,也更便于维护。与JavaBean相比标签库能够处理网页内容的数据,而且能将复杂的操作缩减为简洁的形式。同时标签库对于网页开发者而言,比JavaBean更容易上手,但建立标签库比开发JavaBean困难。 JSP标签库(也被称作定制标签)就是一种通过JavaBean生成基于XML脚本的方法。从概念上讲,标签就是很简单而且可重用的代码结构。在JSP中使用Taglib可以带有属性和主体,也可以没有属性和主体。 没有属性和主体:;只有属性没有主体:;既有属性又有主体:JSP内容或标签。,7.3.1 创建自定义标签处理类,自定义标签处理类就是一个handler标签,是由Web容器调用的一个对象,当执行带有自定义标签的JSP页面时对这个标签进行判断。标签必须实现Tag或BodyTag接口,在新创建的时候,可以使用TagSupport和BodyTagSupport类作为基类,这些接口或类包含在javax.servlet.jsp.tagext包中。在JSP页面执行过程中,遇到自定义标签的不同阶段需要调用不同的方法,如在开始阶段遇到标签时就要调用handler的doStartTag方法。,7.3.2 创建标签库描述文件,在定义完处理类后,要创建一个标签库描述符(TLD)文件来描述自定义标签。此文件的内容开始是对整个库的描述,然后是对tag的描述。这里的标签库描述文件叫做myTag.tld。 ,7.3.3 在web.xml中配置元素,自定义标签实现的一个重要步骤就是要在web.xml中将TLD文件进行描述,如果不进行描述就无法在JSP页面中引入该自定义标签。在web.xml中描述需要注意一个问题,就是两个配置文件的版本号问题,如果不一致就会导致页面报错找不到标签。 描述标签要使用标签,下面的两个子标签元素表示引用这个标签的URI,要与页面上的引用同名,另外表示这个标签在本地的描述文件的位置。 至此,自定义分页标签的创建就全部结束了,只需要在页面上引用它就可以实现分页显示。,7.4 将回显的结果利用自定义标签进行分页显示,自定义的分页标签配置完成后,要想在页面上使用它就得先将标签导入到JSP页面中,然后再引用标签。,7.4.1 导入标签库,在JSP页面中导入标签库要执行Taglib指令,该指令有3个功能:即将taglib倒入JSP页面中,将URI与taglib相关联以便唯一地识别它,将URI映射到perfix以便在页面中使用。下面就是在JSP页面中引入自定义分页标签的代码。 这里的uri就是在web.xml中配置的标签,prefix是把该标签库在页面中的引用重新起了名字,这里叫“my”。,7.4.2 从标签库中调用自定义标签实现分页效果,导入了标签库,最后一步就是从标签库中调用自定义的标签。在JSP页面中在需要进行分页显示的位置调用自定义标签,代码如下所示。 “ page=“ maxPage=“ / 此处的是标签的名称,在前面配置过了。其中“my”是标签库的别名,pagination是在myTag.tld文件中配置的名称。标签内的3个属性是根据自定义标签处理类PaginationTld.java的需要传入的。,7.5 完整的留言板功能实现,通过前几节的介绍,简单的留言板功能基本完成了。本节将一个完整的留言板实现展示给读者。该留言板的流程是:用户先登录,如果没有注册要先注册,注册页面如图7-8所示;注册完成后将跳到登录页面,登录后的用户可以看见目前所有留言的标题;可以单击标题的名称查看详细内容并可以添加留言;也可以新建一个留言题目;在查看留言详细信息页面时,可以单击留言人名称来查看该用户详细信息,,7.5.1 注册页面register.jsp的创建,创建register.jsp文件,该页面用于提交用户的注册信息。该页面包含一个form表单,表单中有6个字段,name、password、sex、age、qq、email,,7.5.2 添加用户信息处理页面addUser.jsp的创建,创建addUser.jsp文件,该文件主要用于处理register.jsp提交的用户信息。在该页面中首先通过request对象获得表单提交的数据信息,再将数据信息通过DBMessage对象存储到数据库中,具体代码如下所示。DBMessage类中封装了添加、删除、查询、更新用户信息的方法,在以后章节中会进行介绍,,7.5.3 系统登录页面login.jsp的创建,创建login.jsp文件,该文件用于提交用户登录信息。该页面包含一个form表单,表单中有两个字段,name、password,,7.5.4 登录信息处理页面check.jsp的创建,check.jsp页面用于处理登录信息的核对。先在页面中通过request获得name、password数据信息,通过DBMessage对象中的login方法判断登录数据信息是否正确。如果正确,则将登录用户的信息存储在session中,然后跳转到allMessage.jsp页面;否则跳转到login.jsp页面,并且显示错误信息, 在check.jsp页面使用到了一个JSP标签,该标签代表将要跳转到哪个页面,属性page就是标识将要到达的页面。,7.5.5 查看所有留言页面allMessage.jsp的创建,创建allMessage.jsp文件,在该页面中将所有的留言标题以列表的形式显示在页面上,,7.5.6 新建留言标题页面newMessage.jsp页面的创建,创建newMessage.jsp文件,该页面提供了新建留言的功能。在该页面中创建一个form表单,该表单中有两个字段,title和content,,7.5.7 处理新建留言标题页面messageNew.jsp的创建,创建messageNew.jsp文件,该页面用于处理newMessage.jsp提交的数据信息。在该页面中通过request对象获得newMessage.jsp页面提交的数据信息,再调用DBMessage对象的newMessage方法将留言存储在数据库中,,7.5.8 发表留言页面addMessage.jsp的创建,创建addMessage.jsp文件,该页面提供了发表留言的功能。在该页面中列出所有的留言标题信息,并且利用自定义标签提供分页功能。该页面中还提供了form表单,主要提供了发表留言的功能,,7.5.9 添加新信息的处理页面messageAdd.jsp的创建,创建messageAdd.jsp文件,该页面提供了添加新信息的处理功能,,7.5.10 查询用户详细信息页面queryUser.jsp的创建,创建queryUser.jsp文件,该页面提供了查看用户详细信息的功能,对用户信息的查看通过用户名进行查询,,7.5.11 用户信息的数据封装Bean的创建,创建UserJavaBean.java文件,该文件用于封装用户相关的数据信息。该文件中包含一组私有的变量和一组get、set方法,通过get、set方法对这些变量进行封装,,7.5.12 留言信息数据封装Bean的创建,创建MessageJavaBean.java文件,该文件用于封装留言的数据信息。该类中同样也是包含一组私有变量和一组get、set方法,,7.5.13 数据库访问对象的创建,创建DBMessage.java文件,该类用于处理与数据库的交互操作。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽职业技术学院高职单招(数学)历年真题考点含答案解析
- 2025年宁夏葡萄酒与防沙治沙职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年天津医学高等专科学校高职单招语文2019-2024历年真题考点试卷含答案解析
- 货物运输代理合同范本
- T-CESA 1150-2021 人工智能芯片应用 面向汉盲翻译系统的技术要求
- 花儿音乐会课件
- 房地产企业战略合作合同协议
- 毕业设计论文答辩框架
- 2022营养包培训课件
- 甲状腺术后护理教学查房
- 2024年湖北省中学教师招聘考试真题
- 北京市朝阳区2025届高三一模质量检测一 语文试题(含答案)
- 马工程《刑法学(下册)》教学课件 第16章 刑法各论概述
- 2023年新改版教科版四年级下册科学活动手册答案
- GB/T 11586-1989巴拿马运河导缆孔
- 浙江大学-傅琳-答辩通用PPT模板
- 五年级下册数学教案-分数乘分数 北师大版
- 伽利略介绍-课件
- 初中化学人教九年级下册 酸和碱《如何证明无明显现象化学反应的发生》教学设计
- DB37T 3862-2020 汽油清净增效剂技术要求
- 框架涵施工工艺标准
评论
0/150
提交评论