jsp新闻发布系统设计参考文档.doc
《jsp新闻发布系统设计参考文档.doc》由会员分享,可在线阅读,更多相关《jsp新闻发布系统设计参考文档.doc(33页珍藏版)》请在三一办公上搜索。
1、第19章 新闻发布系统教学要求 学会分析设计一个较复杂的新闻发布系统 学会制作较复杂的动态新闻页 学会设计动态新闻的管理模块 领会Go To Related Page的用法 能够综合应用Ultradev 4设计一个较复杂的网站19.1 分析新闻发布系统分两大功能模块:供所有用户查看的动态新闻显示模块和只供管理员进行管理新闻及相关内容的新闻管理模块,也就是用户界面和管理界面。19.1.1 用户界面分析用户界面所包含的文件 news.jsp 该页是查看新闻的主页面。包括新闻类别、新闻标题等内容。如图所示的是制作好的news.jsp页在浏览器中的样子。动态新闻页 more.jsp 该页用来显示所有新
2、闻内容。在news.jsp有一个【更多新闻】链接,该链接就是指向该页的。 ShowNews.jsp 该页用来显示新闻具体内容。news.jsp中的新闻标题就是链接到该页的。 Buttom.htm和head.htm 这两个页是供news.jsp和more.jsp嵌入用的,这样可以达到定制用户界面的页首和页尾的功能。相关数据表 表tNewsSubjectID表tNewsSubject 用来存储新闻类别。表中的每条记录有两个字段:fSubjectName字段,用来保存新闻类别;fSubjectID字段,用来保存标记新闻类别的标号,这个标号在表中是惟一的。如右图所示。 表tNews 用来存储新闻的具体
3、内容。表中字段fNewsID保存的是每条记录的编号,这个编号惟一标识一条新闻。字段fTopic保存着新闻标题,字段fContent保存着新闻的具体内容,字段fDate保存着录入新闻时的日期,字段fAuthor保存着新闻的作者,字段fKeyWords保存着查找新闻的所需要的关键字,字段fSubjectID保存着标记新闻类别的标号,这个标号在这个表中不是惟一的。如图所示。表tNews19.1.2 管理界面分析新闻管理系统结构新闻管理系统可分为密码管理、类别管理和新闻类别管理3部分。这3个功能模块通过一个menu.jsp页联系起来。与类别管理相关的文件这个功能模块包括以下4个网页文件。 subMan
4、.jsp 通过该页可以完成对管理类别的编辑、添加和删除的操作。 SubDel.jsp 删除新闻类别。 SubEdit.jsp 编辑现有的新闻类别。 SubAdd.jsp 添加新闻类别。与新闻内容管理相关的文件这个功能模块包括以下3个网页文件。 NewsMan.jsp 通过该页可以完成对新闻内容的编辑、添加和删除的操作。编辑新闻内容的操作在NewsMan.jsp页中完成。 NewsDel.jsp 删除新闻内容。 NewsAdd.jsp 添加新闻内容。其他相关文件 Menu.jsp 通过该文件来统一管理新闻系统的各项操作,即从该页可进入对管理系统的密码、新闻的类别和新闻的内容的操作。在浏览器中如图
5、所示。menu.jsp页 Adm.htm 这是“管理”部分的主页面,是一个网页框架文件,它由左右两个框架组成,左边的框架用来显示menu.jsp页,右边的框架用来显示与新闻类别管理相关的页和显示与新闻内容管理相关的页。利用网页框架,使管理员管理新闻系统的各个内容更方便,操作简单。 Login.jsp 登录页,这是设置安全机制所用到的。进入新闻管理系统前必须登录。 Sorry.htm 登录失败时转向该页。 Welcome.htm 首次进入新闻管理系统时在Adm.htm页右边的框中调用该页。说明新闻管理系统的功能。 PassMan.jsp 对本系统的密码管理。完成这个新闻管理系统主要是对这组文件的
6、制做,以及合理的安排这些文件。相关数据表新闻管理模块用到了3个数据表。表tNewsSubject和表tNews,这两个表已介绍过。还有一个用于存储用户名和密码的表tNewsAdmin。如图所示。表tNewsAdmin表tNewsAdmin中字段fAdminName存储登录管理系统时用的用户名,字段fAdminPass存储登录管理系统时的密码。对新闻管理的各个操作,也就是对服务器端这3个表的操作。19.2 制作动态新闻页动态新闻页news.jsp的制作,使之能够动态地显示当日以及最近几天的新闻。由于新闻的标题和内容都存储在服务器端相应的数据表中了,更新或者添加新闻的操作是对服务器端相应数据表中的
7、记录进行更新,或者向数据表中插入记录。所以,该页的制作主要是定义记录集,向页面添加动态内容,添加服务器行为。这个页动态内容分为3部分。 第1部分是能够动态地显示所有新闻的类别标题,也就是news.jsp中的链接【国际新闻】、【国内新闻】、【体育新闻】等类别标题。这一部分动态内容就是对新闻进行分类。 第2部分是当前列出新闻的类别标题。也就是news.jsp中黑色加粗的【国际新闻】。这一部分随着所选新闻类别变化而变化。它的作用只是标记当前列出的新闻标题的类别。 第3部分也就是news.jsp下半部分所示的新闻标题了。这一部分列出的新闻标题属于当前所选的新闻类别,从这一部分可以阅读相关新闻的详细内容
8、。这3项需要分别建立记录集,因为它们需要的动态数据不同。但建立的这3个记录集还必须通过一个变量传递参数,以便使这3项显示的内容一致。可通过以下步骤来完成该新闻页。1. 建立记录集。2. 向页面绑定动态数据。3. 添加服务器行为。其实该页还包含一个新闻搜索器,在第10章章中有详述,在此不做介绍。下面来制作这个动态新闻页news.jsp。19.2.1 为动态新闻建立记录集为该页添加动态内容的首先要建立相应的记录集。1. 在站点文件窗口中打开news.jsp文件。该页的静态部分已经设计好了。如图所示。新闻页的初始文件2. 打开数据绑定监视器,打开定义记录集对话框,建立一个取得新闻类别的记录集。单击监
9、视器面板上的“+”按钮,从弹出的菜单上选择Recordset(Query)选项,打开定义记录集对话框,这时如果出现Advanced Recordset对话框,单击Simple按钮,转到Simple Recordset对话框。 在记录集对话框的Name文本框中输入rsSubject。 在Connection下拉列表中选择connBHP。 Table下拉列表框选择存储新闻类别的数据表tNewsSubject。表tNewsSubject只有两个字段:字段fSubjectName和字段fSubjectID。这两个字段分别保存的是新闻类别和新闻类别编号,而建立的这个记录集需要从数据表tNewsSubje
10、ct中选取这两个字段,字段fSubjectName中的数据作为第1部分的动态内容,字段fSubjectID中的数据作为动态参数。 在Column处选择All单选项。 在Sort处设置成按fSubjectID字段的升序排列。3. 单击OK按钮保存设置。这样第1个记录集已定义好了。设置好的记录集对话框如图所示。4. 为第2部分动态内容定义记录集。打开定义记录集对话框,如出现 Simple Recordset对话框,单击Advanced按钮,转到Advanced Recordset对话框。设置如图所示。在SQL文本框中输入下面的SQL语句:SELECT fSubjectNameFROM tNewsS
11、ubjectWHERE fSubjectID =iNewsID这是一条SELECT语句。描述的仍是从表tNewsSubject中选取记录中的字段fSubjectName,最后的WHERE子句规定了只选取字段fSubjectID的值等于变量strNewsID中的值的记录。变量iNewsID中的值是数值型,这个数值标记着当前列出的新闻类别,这样就把当前新闻类别选取出来了。由于用到了变量iNewsID,所以必须在Variables处定义并赋初值。在Name列输入变量名strNewsID,在Default Value列处输入1作为该变量的默认值,即第2部分动态内容在默认情况下列出标记为1的新闻类型和R
12、un-Time Value列处的运行时值request.getParameter(“iSubjectID”)。第2、第3部分的动态内容所对应的记录集就是通过参数iSubjectID传递动态数据作为选取记录的条件,这样使得3部分的动态内容一致。5. 为第3部分动态内容定义记录集。打开高级记录集对话框。设置如图所示。在SQL处输入SQL语句如下:SELECT fTopic, fNewsIDFROM tNewsWHERE fSubjectID = iCurrentSubIDORDER BY fDate DESC这个SELECT语句是从数据表tNews中选取记录。WHERE子句规定了只选取字段fSub
13、jectID值等于iCurrentSubID变量值的记录,并且只取记录的fTopic字段和fNewsID字段。子句ORDER BY fDate DESC规定了记录按字段fDate中的值(也就是日期)从大到小排序,从动态新闻页的内容上说就是先显示最近发布的消息。DESC规定按字段值的降序排序,ASC规定按字段值的升序排序。上面语句仍用到了变量,所以必须在Variables处定义初值。在Name列输入变量名iCurrentSubID,在Default Value列处输入1作为该变量的默认值,即第3部分动态内容在默认情况下列出标记为1的记录,和Run-Time Value列处的运行时值request
14、.getParameter(“iSubjectID”) 。向这个变量传递参数的值同向第2部分动态内容传递参数的值相同。19.2.2 使新闻动态显示及时性是新闻的要素之一,必须使新闻动态显示在页面上。所以,建立了记录集后,开始向页面绑定动态数据。这一操作很简单,添加步骤如下。1. 向第1部分动态内容添加动态数据。添加动态数据的位置如图所示的两条粗线之间的表格中,也就是图中光标所在的位置。第1部分添加动态数据的位置2. 打开数据绑定监视器,单击记录集rsSubject前的“+”号,展开该记录集。选中fSubjectName字段,然后把光标放在上图所示的表格中。3. 单击数据绑定监视器面板上的ins
15、ert按钮,这样动态数据就添加到相应的位置了。4. 按照上面的步骤向第2部分和第3部分动态内容添加动态数据。把记录集rsCurrentSubject中的fSubjectName字段和记录集rsNews中的fTopic字段分别绑定到第2部分动态内容处和第3部分动态内容处。添加了动态数据的位置如图所示的 rsCurrentSubject.fSubjectName和rsNews.fTopic 的两个占位符。向第2、3部分添加动态数据的位置以上4个步骤,就把动态数据绑定到了动态新闻页news.jsp上了。19.2.3 完善新闻页建立了记录集、添加了动态数据,还需要向页面添加以下4种服务器行为使该页完善
16、起来。 添加Repeat Region服务器行为 使第1部分的新闻类别全部显示出来,使第3部分的新闻标题多条显示或全部显示出来。 添加Go To Detail Page服务器行为 根据第1部分的类别标题在第3部分显示不同类别的新闻标题。从新闻标题可进入具体新闻内容。 添加Show Region服务器行为 使新闻页news.jsp上的【没有新闻】只在没有新闻的情况下显示,若有新闻就使之隐藏起来。下面步骤就是为该页添加这些服务器行为。 添加Go To Related Page服器行为 以便从【更多新闻】跳转到具有更多新闻的页。 添加Repeat Region服务器行为1. 把光标放在第1部分动态数
17、据位置上的表格中,用鼠标单击文档窗口下方的标签。选中表格中的单元格。2. 这个表格只有1行1列,选标签和标签虽然看起来都一样,但选标签可以使新闻类别标题显示在一行上。在添加了Repeat Region服务器行为后,服务器端在执行与此服务器行为对应的程序时,就生成1个1行多列的表格HTML代码,每个单元格存放一个新闻类别标题。若选标签,则生成1个1列多行的表格。3. 打开服务器行为监视器。单击监视器面板上的“+”按钮,从弹出的菜单上选择Repeat- Region选项。4. 这时弹出对话框。在对话框的Recordset下拉列表中选择与第1部分动态内容对应的记录集rsSubject,在Show处选
18、择All Records单选框,即显示所有新闻类别标题。5. 用鼠标点击rsNews.fTopic占位符选中这个动态文本。按照步骤2、3添加Repeat Region服务器行为。在设置Repeat Region服务器行为对话框时,在Recordset处选择rsNews记录集,在Show处设置成显示5条记录。如图所示。Repeat Region服务器行为添加完毕。 添加Go To Detail Page服务器行为1. 选中rsSubject.fSubjectName占位符。2. 打开服务器行为监视器。单击监视器面板上的“+”按钮,从弹出的菜单上选择Go To Detail Page选项。按图所示
19、的进行设置。Recordset下拉列表中选择记录集rsSubject;Column下拉列表中选择fSubjectID字段。这时rsSubject.fSubjectName处多了一道下划线,并且用不同颜色的显示,表示是一个链接区域3. 同样的方法,用鼠标单击第3部分动态内容处的rsNews.fTopic占位符。为其添加动态链接。其Go To Detail Page行为对话框的设置如图所示。Recordset下拉列表中选择记录集rsNews;Column下拉列表中选择字段fNewsID4. 该链接所指向的页最好在新窗口中打开。所以,还要对其属性设置一下。选中该动态文本。然后选择Window菜单下的
20、Properties选项,打开属性浮动面板。单击Target右边的下三角选择 _blank 选项。如图所示。这样设置后,在浏览器点击此链接时,所链接的页将在新窗口中出现。在news.jsp页面上,可看到有一个【没有新闻】的字样。这个字样应该在没有新闻的情况下出现。所以,需要对【没有新闻】字样添加Show Reigion中的一个服务器行为。5. 选中该字样。单击服务器行为面板上的“+”按钮,从弹出的菜单上选择Show Region中的子项Show If Recordset Is Empty。6. 这时弹出设置该行为的对话框。设置如图所示。对话框中的Recordset处一定选择rsNews,因为该
21、服务器行为是针对记录集rsNews的news.jsp页面上还有一个【更多新闻】的链接。从这个链接可以看到更多新闻。设置链接需要为其添加一个Go To Related Page服务器行为,即转到相关页。这个行为可以向所跳转的页传递参数。从这个链接进入到相关页时,必须把该页的参数传递过去。使正浏览的动态新闻页的内容与所要转到的更多新闻页的列出的新闻内容保持一致。也就是说,如果正在浏览的新闻标题属于国内新闻,那么跳转到更多新闻页时,所列出的新闻标题仍属于国内新闻。在窗性窗口中设置的链接参数是传不过去的。所以,必须用此服务器行为。7. 打开服务器行为监视器,单击面板上的“+”按钮,选择Go To Re
22、lated Page选项。8. 这时出现Go To Related Page行为对话框。按下图所示进行设置。Go To Related Page行为对话框9. 隐藏【更多新闻】字样。在前面已设置了一次显示5条新闻标题。如果某一类新闻总数少于5条或仅5条时,【更多新闻】字样就可隐藏起来。10. 首先选中【更多新闻】字样,转到代码窗口中,找到【更多新闻】字样。对【更多新闻】链接加上条件语句修改后的代码如下。 5 ) % A HREF=more.jsp?更多新闻 . 用rsNews_total 5 作为if语句的条件,即新闻多于5条时显示【更多新闻】链接,rsNews_total是在定义记录rsNe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- jsp 新闻 发布 系统 设计 参考 文档
链接地址:https://www.31ppt.com/p-2387164.html