第7章JSP实现留言板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

7.5 完整的留言板功能实现
• 通过前几节的介绍,简单的留言板功能基本完成 了。本节将一个完整的留言板实现展示给读者。 该留言板的流程是:用户先登录,如果没有注册 要先注册,注册页面如图7-8所示;注册完成后将 跳到登录页面,登录后的用户可以看见目前所有 留言的标题;可以单击标题的名称查看详细内容 并可以添加留言;也可以新建一个留言题目;在 查看留言详细信息页面时,可以单击留言人名称 来查看该用户详细信息,
7.2.2 通过JDBC将留言内容存储到数据库中 • 通过request对象获取留言内容等信息的目的就是 将它们存储到数据库中,JSP要连接数据库就要使 用到JDBC。这里创建了一个DBMessage.java类处 理与数据库相关的代码,并使用一个无参的构造 函数来初始化JDBC的连接, • 数据库连接好后,就要将相关信息保存到数据库 中。这里保存留言内容等信息的表为message,字 段有留言标题title、留言内容content、留言人 姓名username。在DBMessage.java类中定义了一 个newMessage()方法,来实现向数据库中添加数 据信息。
7.2 JSP处理留言请求
• 在JSP中处理留言请求,首先通过request对象获 取到留言的内容,留言人的姓名,并且通过JDBC 将获取到的内容存储到数据库中,最后再返回到 留言页面将相关留言信息显示出来的过程。下面 就对以该过程分解开来一一介绍。
7.2.1 通过request对象得到留言信息及留言人的姓名 • 通过form表单提交的数据信息,如果在另一个页面中想要 取得这个数据信息,就要使用request对象。通过form表单 提交的有留言人姓名、留言内容和留言标题,
7.5.8 发表留言页面addMessage.jsp的创建 • 创建addMessage.jsp文件,该页面提供了发表留 言的功能。在该页面中列出所有的留言标题信息, 并且利用自定义标签提供分页功能。该页面中还 提供了form表单,主要提供了发表留言的功能,
7.5.9 添加新信息的处理页面messageAdd.jsp的创建
7.4.2 从标签库中调用自定义标签实现分页效果 • 导入了标签库,最后一步就是从标签库中调用自 定义的标签。在JSP页面中在需要进行分页显示的 位置调用自定义标签,代码如下所示。 • <my:pagination formId="<%=title %>" page="<%=page1 %>" maxPage="<%=maxPage %>" /> • 此处的<my:pagination>是标签的名称,在前面配 置过了。其中“my”是标签库的别名, pagination是在myTag.tld文件中配置的名称。标 签内的3个属性是根据自定义标签处理类 PaginationTld.java的需要传入的。
• 创建messageAdd.jsp文件,该页面提供了添加新 信息的处理功能,
7.5.10 查询用户详细信息页面queryUser.jsp的创建
• 创建queryUser.jsp文件,该页面提供了查看用户 详细信息的功能,对用户信息的查看通过用户名 进行查询,
7.5.11 用户信息的数据封装Bean的创建 • 创建UserJavaBean.java文件,该文件用于封装用 户相关的数据信息。该文件中包含一组私有的变 量和一组get、set方法,通过get、set方法对这 些变量进行封装,
7.3.3 在web.xml中配置元素
• 自定义标签实现的一个重要步骤就是要在web.xml 中将TLD文件进行描述,如果不进行描述就无法在 JSP页面中引入该自定义标签。在web.xml中描述 需要注意一个问题,就是两个配置文件的版本号 问题,如果不一致就会导致页面报错找不到标签。 • 描述标签要使用<taglib>标签,下面的两个子标 签元素<taglib-uri>表示引用这个标签的URI,要 与页面上的引用同名,另外<taglib-location>表 示这个标签在本地的描述文件的位置。 • 至此,自定义分页标签的创建就全部结束了,只 需要在页面上引用它就可以实现分页显示。
7.3 编写自定义标签进行分页处理
• JSP提供了一个标签库(Tag Libraries)来使JSP的开发更 容易,也更便于维护。与JavaBean相比标签库能够处理网 页内容的数据,而且能将复杂的操作缩减为简洁的形式。 同时标签库对于网页开发者而言,比JavaBean更容易上手, 但建立标签库比开发JavaBean困难。 • JSP标签库(也被称作定制标签)就是一种通过JavaBean生 成基于XML脚本的方法。从概念上讲,标签就是很简单而且 可重用的代码结构。在JSP中使用Taglib可以带有属性和主 体,也可以没有属性和主体。 • 没有属性和主体:<taglibs:somtag/>;只有属性没有主体: <taglibs:somtag user="someone"/>;既有属性又有主体: <taglibs:somtag user="someone">JSP内容或标签 </taglibs:somtag>。
7.3.1 创建自定义标签处理类
• 自定义标签处理类就是一个handler标签,是由 Web容器调用的一个对象,当执行带有自定义标签 的JSP页面时对这个标签进行判断。标签必须实现 Tag或BodyTag接口,在新创建的时候,可以使用 TagSupport和BodyTagSupport类作为基类,这些 接口或类包含在javax.servlet.jsp.tagext包中。 在JSP页面执行过程中,遇到自定义标签的不同阶 段需要调用不同的方法,如在开始阶段遇到标签 时就要调用handler的doStartTag方法。
7.2.3 将所有的留言信息从数据库中取出并回显 • 同一个标题的所有留言,对用户都是可见的。当 用户提交一个新的留言后就会在页面的上方显示 出来。 • title作为参数的目的是要查询该title下的所有 留言,同时将查询结果保存到List中并返回。此 外这里还用到了JavaBean来对查询结果进行封装, 以达到数据的完整性。在页面上要调用此方法与 JavaBean来显示信息,
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标签 <jsp:forward>,该标签代表将要跳转到哪个页面, 属性page就是标识将要到达的页面。
7.1 实现留言板的界面
• 留言板界面的实现,就是将同一个标题的所有留言全部显示出来, 并且在界面下方有可以添加留言信息的输入栏。一个难点就是要 分页显示查询到的信息,界面样式如图所示。这里一页显示的数 据是2条,数据库中一共有4条数据,所以要分成两页。当单击“2” 链接或者“尾页”链接时,将显示另外两条数据信息,
7.5.12 留言信息数据封装Bean的创建
• 创建MessageJavaBean.java文件,该文件用于封 装留言的数据信息。该类中同样也是包含一组私 有变量和一组get、set方法,
7.5.13 数据库访问对象的创建
• 创建DBMessage.java文件,该类用于处理与数据 库的交互操作。在该类中提供了数据库连接,并 且包含了操作数据的一些方法,通常这样的类被 称作DAO(数据访问对象)。该类中主要提供了用 户注册、用户登录验证、新建留言、分组查询所 有留言、查询指定留言等方法,
7.4 将回显的结果利用自定义标,要想在页面上使 用它就得先将标签导入到JSP页面中,然后再引用 标签。
7.4.1 导入标签库
• 在JSP页面中导入标签库要执行Taglib指令,该指 令有3个功能:即将taglib倒入JSP页面中,将URI 与taglib相关联以便唯一地识别它,将URI映射到 perfix以便在页面中使用。下面就是在JSP页面中 引入自定义分页标签的代码。 • <%@ taglib prefix="my" uri="/tags/myTag"%> • 这里的uri就是在web.xml中配置的<taglib-uri> 标签,prefix是把该标签库在页面中的引用重新 起了名字,这里叫“my”。
7.6 小结
• 本章重点介绍了如何创建自定义标签,以及如何 在JSP页面利用自定义标签进行分页显示。自定义 标签在JSP中使用是有很多优点的,特别是在处理 分页显示的时候。虽然在刚开始接触的时候会感 觉比较难实现,但通过反复的练习就会掌握其中 的要领。
7.3.2 创建标签库描述文件
• 在定义完处理类后,要创建一个标签库描述符 (TLD)文件来描述自定义标签。此文件的内容开 始是对整个库的描述,然后是对tag的描述。这里 的标签库描述文件叫做myTag.tld。 • <?xml version="1.0" encoding="UTF-8"?> • <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "web-jsptaglibrary_1_2.dtd" >
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.5 查看所有留言页面allMessage.jsp的创建 • 创建allMessage.jsp文件,在该页面中将所有的 留言标题以列表的形式显示在页面上,
7.5.6 新建留言标题页面newMessage.jsp页面的创建
• 创建newMessage.jsp文件,该页面提供了新建留 言的功能。在该页面中创建一个form表单,该表 单中有两个字段,title和content,
第7章 JSP实现留言板
• 留言板在网络上的使用率是很高的,论坛、博客 等都有留言板。相信读者在网上都见过留言板的 样式,本章就来介绍如何使用JSP来实现留言板。 在实现留言板的时候也使用到了前面所学习的内 容,如用户的注册、登录等,另外在显示留言内 容时要进行分页显示,这里将重点介绍自定义分 页标签实现分页显示。
7.5.7 处理新建留言标题页面messageNew.jsp的创建
• 创建messageNew.jsp文件,该页面用于处理 newMessage.jsp提交的数据信息。在该页面中通 过request对象获得newMessage.jsp页面提交的数 据信息,再调用DBMessage对象的newMessage方法 将留言存储在数据库中,
相关文档
最新文档