四个作用域相关事例

在线用户列表的维护

Login.jsp

  1. <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
  7. <title>Inserttitlehere</title>
  8. </head>
  9. <body>
  10. <formname="LoginForm"action="doLogin.jsp"method="post">
  11. 用户名:<inputtype="text"name="user">
  12. <br/>
  13. <inputtype="submit"value="submit">
  14. </form>
  15. <p>
  16. 示例演示在线用户的维护:用户登录,放入session,并放入list,把list放入application保存
  17. 查看时可从list中取出所有在线用户,点注销会从session删除该用户记录并减少在线的用户
  18. 问题:当用户不点注销而是关闭浏览器或出现故障时退出,会使application用户无法删除,从而永远在线
  19. </p>
  20. </body>
  21. </html>

dologin.jsp

  1. <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@pageimport="com.webtest.eus.util.*,java.util.*"%>
  4. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
  8. <title>Inserttitlehere</title>
  9. </head>
  10. <body>
  11. <h1>doLogin</h1>
  12. <hr/>
  13. <%
  14. //request.setCharacterEncoding("UTF-8");
  15. Stringuser=HttpUtil.getParam(request,"user");
  16. //Stringuser=request.getParameter("user");
  17. session.setAttribute("user",user);
  18. ListonlineList=(List)application.getAttribute("onlineList");
  19. if(onlineList==null){
  20. onlineList=newArrayList();
  21. application.setAttribute("onlineList",onlineList);
  22. }
  23. onlineList.add(user);
  24. response.sendRedirect("./result.jsp");
  25. %>
  26. </body>
  27. </html>

result.jsp

  1. <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@pageimport="java.util.*"%>
  4. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
  8. <title>Inserttitlehere</title>
  9. </head>
  10. <body>
  11. <%!
  12. Stringuser="";
  13. %>
  14. 在线的用户有:
  15. <%
  16. ListonlineList=(List)application.getAttribute("onlineList");
  17. for(inti=0;i<onlineList.size();i++){
  18. user=(String)onlineList.get(i);
  19. %>
  20. <tableborder="1">
  21. <tr>
  22. <td><%=user%></td>
  23. </tr>
  24. <%
  25. }
  26. %>
  27. </table>
  28. <hr/>
  29. <ahref="./Login.jsp">登录</a>
  30. <br/>
  31. <ahref="./cancel.jsp">注销</a>
  32. </body>
  33. </html>

cancel.jsp

  1. <%@pagelanguage="java"contentType="text/html;charset=UTF-8"
  2. pageEncoding="UTF-8"import="java.util.*,com.webtest.eus.util.*"%>
  3. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8">
  7. <title>Inserttitlehere</title>
  8. </head>
  9. <body>
  10. <%
  11. Stringuser=(String)session.getAttribute("user");
  12. session.invalidate();
  13. ListonlineList=(List)application.getAttribute("onlineList");
  14. onlineList.remove(user);
  15. response.sendRedirect("../index.jsp");
  16. %>
  17. </body>
  18. </html>

dologin.jsp处理登录请求:

首先将USER放入session中session.setAttribute("user",user);将list放入application中,如果没有此list则先初始化,然后将用户添加到list中;

result.jsp

用于显示在线用户

calcel.jsp:

在session中删除此账户信息,并在list中删除onlineList.remove(user);这样在application中的list就不包括此用户信息,再回到result.jsp时就看不到此用户在线了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值