Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->系统管理 ->JSP专题:第六部分:用JSP实现聊天室-2
  相关分类: 
入门与提高
系统管理
网络应用
嵌入式系统
内核研究
服务器相关
发行版专区
Linux程序设计
Linux安全
BSD相关
桌面应用
  站内搜索: 
热门文章排行
热门文章排行 Adaptec 2100S RAID卡安装快速指南 (05-05)
JSP专题:第六部分:用JSP实现聊天室(05-05)
Linux 99问(一)(05-05)
Linux系统中网络配置详解(05-05)
JSP专题:第六部分:用JSP实现聊天室(05-05)
精采文章排行
精采文章排行 Motorola微处理器bootloader分析与应(06-04)
Linux系统:让内存不再泄漏的实用技(06-04)
Fedora Core5 NFS服务器搭建过程介绍(06-04)
新手看招 手把手教你安装VMware虚拟(06-04)
“侵权事件” 红帽称微软企图干扰用(06-04)
 

JSP专题:第六部分:用JSP实现聊天室-2

作者:Webmaster   来源:Linux-cn.com   点击:   日期:2007-05-05 [收藏] [投稿]

  IE是否经常中毒?推荐您

  class指定了该JavaBean不存在时的示例方法,同时它也指定了该JavaBean所对应的类。

  如果你想对JavaBean有更多的了解,你可以参阅我所知道的JavaBeans一文。

  由“<%、%>”引起的称为JSP的脚本程序段,和ASP、PHP类似,JSP中脚本程序的引入是通过“<%、%>”嵌入的,所以我们习惯地将这三者都称之为嵌入式脚本语言。在JSP的脚本程序段中使用的完全是Java的语法。另外,在这里我们可以注意到,正如我们在前面提到的那样,我们在这里使用thisUser来调用了我们前面创建的JavaBean。

  类似“<%=thisUser.getUserName()%>”这样的结构,我们习惯地将其称之为JSP的表达式,这实际上是一种简化的输出形式,它与“<% out.print(thisUser.getUserName())”完全等效。当然,表达式必须有一个可以输出的值。

  事实上,我们可以注意到JSP语法中包含了很多东西,而最常用的应该是我们在这里使用的page指令、useBean指令、脚本程序段、表达式。

4.4聊天室的框架页面


chat.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<HTML>
   <HEAD>
      <TITLE>
         聊天室--在线交流--
         <%
         String chatroom;
         chatroom=request.getParameter("chatroom");
         if (chatroom.equals("1")) out.print("聊天室A"); 
         if (chatroom.equals("2")) out.print("聊天室B"); 
         int intChatroom=Integer.parseInt(chatroom);
         %>
      </TITLE>
   </HEAD>
<jsp:useBean id="thisUser" scope="session" class="customers.oneUser" />
<jsp:useBean id="thischatroom" scope="application"
class="customers.ChatRoom" />
<%
  if (thisUser.getUserName() != null)
    {thisUser.setPosition(chatroom);
     thischatroom.addUserList(thisUser.getUserId(),thisUser.getUserName(),
     thisUser.getUserTime(),thisUser.getUserPosion(),thisUser.getUserSwjg(),
     thisUser.getUserSfks(),intChatroom);
     thischatroom.addSpeaking("","","",thisUser.getUserName(),"","","red",
     "system",intChatroom);
%>
//设置用户当前位置,向在线用户列表中增加该用户,
并增加一条该用户进入聊天室的系统公告
    <frameset rows="415,111" frameborder="YES" border="1" 
    framespacing="1" cols="*">
       <frameset cols="623,160" frameborder="YES" border="1" 
       framespacing="1" rows="*">
          <frame name="mychat" src="/examples/jsp/mychat.jsp?isret=yes">
          <frame name="user" src="/examples/jsp/user.jsp">
       </frameset>
       <frame name="manage" scrolling="NO" src="/examples/jsp/manage.jsp">
    </frameset>
<%
    }
    else out.print("尚未登录,请先进入<A href='/examples/jsp/login.jsp'>
    用户登录</A>");
%>
</HTML>

  在这个页面中,你应该可以发现这样一件事,那就是我们直接使用了request、out这两个对象,而在此之前,我们并没有对这两个对象进行任何定义。这是因为这两个都是JSP的内置对象,对于JSP的内置对象,JSP引擎对其自动进行了定义,所以你可以直接引用。JSP有五个常用的内置对象:

  request对象:客户端的相关信息

  response对象:响应给客户端的相关信息

  out对象:用来向客户端输出数据

  session对象:用来用用户保存私人信息

  application对象:用来管理整个应用程序中所有客户端共享的信息

  对于这五个对象,各自有其众多的方法。

4.5显示在线用户列表的页面

·Fedora Core5 NFS服务器搭建过程介绍 ·Linux系统:让内存不再泄漏的实用技巧 ·新手看招 手把手教你安装VMware虚拟机 ·“侵权事件” 红帽称微软企图干扰用户 ·删除Linux后 如何找回Windows启动菜单 ·菜鸟乐园 Linux中常见文件系统格式介绍 ·Linux操作系统下IPTables配置方法详解 ·实用技巧 Linux系统的经典使用技巧八则 ·Linux系统文件优化及磁盘检查方法介绍

user.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="userlist" scope="application" 
class="customers.userList" />
<jsp:useBean id="thischatroom" scope="application"
class="customers.ChatRoom" />
<jsp:useBean id="thisUser" scope="session"
class="customers.oneUser" />
<%
int intchatroom=Integer.parseInt(thisUser.getUserPosion());
%>
<HTML>
   <HEAD>
      <meta http-equiv="Refresh" content="<%=thisUser.getRetimeUser
      (intchatroom)%>URL=/examples/jsp/user.jsp">
   </HEAD>
   <BODY>
<%
  if (thisUser.getUserName() != null)
    {
%>
    <FONT SIZE='2' COLOR='#0000FF'>本网站在线人员:</Font>
    <FONT SIZE='2' COLOR='#000000'><BR>
    <%
       if (userlist!=null)
         {int i;
          for(i=1;i<=userlist.returnUserCount();i++) 
            {String theUser=userlist.returnUserName(i);
             out.print(theUser+"<BR>");
            }
         }
    %>
    //通过一个循环,显示目前网站的所有在线用户的用户名
    </FONT><FONT SIZE='2' COLOR='#0000FF'>本聊天室在线人员:
    </FONT><FONT SIZE='2' COLOR='#000000'><BR>
    <%
       if (thischatroom!=null)
         {int i;
          for(i=1;i<=thischatroom.returnUserCount(intchatroom);i++) 
            {String theUser=thischatroom.returnUserName(intchatroom,i);
             out.print(theUser+"<BR>");
            }
         }
    %>
    //通过一个循环,显示本聊天室的所有在线用户的用户名
<%
    }
    else out.print("尚未登录,请先进入<A href='/examples/jsp/login.jsp'>
    用户登录</A>");
%>
   </BODY>
</HTML>


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页 1 2 34 5 6 下一页

上一篇:JSP专题:第六部分:用JSP实现聊天室-1   下一篇:不同Web主机上的Servlet之间数据对象的相互传输
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·Motorola微处理器bootloader分析与应用

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。