友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
喜书网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

JSP入门教程(DOC格式)-第8章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






   1。  代码量小,并且不需要使用尖括号。  

   2。  支持从 pageContext; request; session; application 中取值,它会自 

      动检查四个作用域,不需要特别指定。  

   3。  如果变量不存在,会输出空字符串〃〃,而不是 null,省去了手工判断的 

      工作。  



4。2。 例子:在线列表  



我们做一个新手级的在线用户列表,原理是这样:  



   1。  用户登录,并把登录使用的用户名保存到 session 中,通过 session 中是 

      否存在用户名判断用户是否已登录。  



      session 可以在整个会话过程中保存用户信息,不必每次刷新页面都重新 

      登录。  



   2。  用户登录后,将用户名添加到 application 中的在线用户列表。  



      用户注销时,讲用户名从 application 中的在线列表删除。  



                                38 / 148  


…………………………………………………………Page 39……………………………………………………………

                                                         



          只要服务器还在运行着,application 就会保存所有登录用户的信息,所 

         有用户都可以看到这个在线用户列表。  



可以尝试一下 lingo…sample/04…02/中的例子:  



     1。  进入登录页面,登陆一个用户。  



                                                                                      



     2。  登录成功既看到已登录的用户名,和当前的在线用户列表。  



                                                                                      



     3。  再登录一个用户。  



                                                                                      



     4。  然后就可以看到在线用户列表增加了,可以看到里面包含上次登录的用户 

         和当前登录的用户。  



                                                                                      



         这时,如果第一个用户刷新页面,也会看到在线用户列表中变成两个人。  



                                                   39 / 148  


…………………………………………………………Page 40……………………………………………………………

                                              



                                                                      



    5。  现在任何一个用户点击注销,将返回登录页面。另一个用户刷新页面会发 

        现在线用户列表减少了。  



                                                                      



让我们从登录页面 index。jsp 开始,复习一下目前学到的知识。  



index。jsp 中显示的是用户登录表单,为了显示 index。jsp 中包含的中文,需要 

加上,这里使用的文件 

编码是默认的 gb2312。  



  

    用户名:  

      

      

   



在这个 form 里我们可以输入一个 username 的值,提交的url 是 login。jsp,使 

用 post 方法是为了更简单的解决中文问题。在填写了用户名之后,点击登录按 

钮,将数据提交到 login。jsp。  



login。jsp 中进行的是对用户名的操作,包括获得请求中的用户名,将用户名添 

加到 session 和在线用户列表中。  



  

   



中文编码设置和获得请求参数都已经熟识了。在获得在线用户列表时,先获得 

application 中的 onlineUserList,强制转换成 List 类型。如果 onlineUserList 

并不存在,我们还需要先对它做初始化,并添加到 application 里。这时有一个 

小技巧,因为 onlineUserList 已经放在application 中了,将username 添加进 

去后,不必再使用 setAttribute()也可以达到修改在下用户列表的效果。  



因为此处用到的List 和 ArrayList 都是定义在 java。util 包内的工具类,如果 

不希望写成全类名 java。util。List; java。util。ArrayList 的形式,就需要使用 

做声明,当然也可以写成,具体情况就任君选择了。  



登录成功后,使用 redirect 的方式跳转到result。jsp 页面,result。jsp 页面 

中显示的是当前登录用户和在线用户列表的信息。  



先看一下页面中使用的 jsp 指令(directive),,为了处 

理中文和使用 import,可以把这两部分写在一起。  



显示当前登陆名时,使用了 el 表达式:  



您好:{username} '注销'  

          



显示在线用户列表的时候使用了循环:  



                                   41 / 148  


…………………………………………………………Page 42……………………………………………………………

                                          



  

                  

                      

                  

   



这里的循环体可能会令人感到费解,其实它与下面的写法是等价的:  



     



只需要理解代码的含义就可以了,从 application 里获得 onlineUserList,然 

后循环输出所有的用户名。application 是公用的,所以可以看到每个登录的用 

户。  



点击注销的时候,会跳转到 logout。jsp,这里负责用户注销和从在线用户列表 

去除已登录用户。  



  

  



这次我们从 session 中获得登录名,因为请求中没有包含任何数据。 

session。invalidate()这个方法给我们提供了一条销毁 session 的捷径,不需要 

一条一条删除 session 中的数据,invalidate()会直接销毁 session,session 

里边所有的数据也就消失了。  



在线用户列表的操作很直观,从 application 中获得 onlineUserList,然后 

remove(username)就可以从中去除当前登录用户。最后使用 redirect 跳转到 

index。jsp 这个登录页面。整个应用的流程也就结束了。  



整个应用的功能很单纯,之所以把它叫做“新手级”,是因为它只能用于演示。 

等待用户去点击注销才去操作在线用户列表存在着很大的漏洞,实际使用中,用 

户很可能因为个人或网络原因没有进行注销就退出系统,这样会导致用户列表不 

能删除,就这样一直增长下去。  



                                                          



解决这个问题的方法超出了目前掌握的知识,我们将在后面的章节进行介绍。  



                                      43 / 148  


…………………………………………………………Page 44……………………………………………………………

                                



           第 5 章 结合 javabean 实现 CRUD  



注意  



这里介绍的是在 jsp 中使用自己写的 javabean,不过这种写法也仅仅适用于小 

型应用,只打算学两下 jsp 玩玩的朋友可以到此为止了,完成了这章就不必继续 

下去了,此后难度会加大不少。  



如果你不满足以下任一条件,请继续阅读,否则请跳过�
返回目录 上一页 下一页 回到顶部 赞(0) 踩(0)
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!