第三十九节(java-开发聊天工具)

Login.jsp文件:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!doctype html>
<html>
    <head>
        <!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <!--当前页面的三要素-->
        <title>多人聊天室 - 登录</title>
        <meta name="Keywords" content="关键词,关键词">
        <meta name="description" content="">

        <!--css,js-->
        <style type="text/css">
            *{margin:0;padding:0;}
            .text{width:200px;height:26px;line-height:26px;}
        </style>

    </head>
<body>

    
    <h1>聊天室 - 登录</h1>
    
    <form action="loadMes.jsp?action=login" method="post">
        用户名:<input type="text" name="username" class="text"/> <br />
        密  码:<input type="password" name="password"  class="text"/><br /><br />
        <input type="submit" value="登  录"/>
    </form>

</body>
</html>

////////////////////////////////////////////////////////////
loadMes.jsp文件里:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<jsp:useBean id="msgs" class="java.util.HashMap" scope="application"/>

<% 
    request.setCharacterEncoding("gbk");
    String action = request.getParameter("action");
    // 登录页面
    if("login".equals(action)){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        // 存储username到session对象里边
        session.setAttribute("username", username);
        String msg = "欢迎<span style='color:red;font-size:16px;font-weight:bold;'>" + username + "</span> 加入聊天室! <br /><br />";
        //System.out.println("开始:"+msg);
        msgs.put(username,msg);
        response.sendRedirect("main.jsp");        
    }
    // 消息展示页面
    if("show".equals(action)){
        // 展示聊天记录
        String username = (String)session.getAttribute("username");
        String msg = (String)msgs.get(username);
        //System.out.println("展示聊天记录:"+msg);
        out.println("loadData.innerHTML=\""+msg+"\";");
    }
    
    // 消息输入
    if("write".equals(action)){
        String newMsg = request.getParameter("msg");
        String userMsg = session.getAttribute("username") + " : " + newMsg;
        System.out.println("发送新消息:"+userMsg);
        // 发送消息时,将所有的聊天室里边聊天记录进行叠加
        Iterator it = msgs.keySet().iterator();
        String username = null;
        String msg = null;
        while(it.hasNext()){
            username = (String)it.next(); // 用户名
            msg = (String)msgs.get(username); // 获取全局变量中的消息
            msg = msg +"<br /><br />"+ userMsg;
            msgs.put(username, msg);
        }
        response.sendRedirect("writerMes.jsp");
    }
%>


/////////////////////////////////////////////////////////////////////
main.jsp文件:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!doctype html>
<html>
    <head>
        <!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <!--当前页面的三要素-->
        <title>多人聊天室 - 聊天室主窗体</title>
        <meta name="Keywords" content="关键词,关键词">
        <meta name="description" content="">

        <!--css,js-->
        <style type="text/css">
            *{margin:0;padding:0;}

        </style>

    </head>

    <frameset rows="*,100" border="0" >
        <frame src="show.jsp"></frame>
        <frame src="writerMes.jsp"></frame>
    </frameset>
</html>

//////////////////////////////////////////////////////////////////
show.jsp文件里:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!doctype html>
<html>
    <head>
        <!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <!--当前页面的三要素-->
        <title>多人聊天室 - 消息展示页面</title>
        <meta name="Keywords" content="关键词,关键词">
        <meta name="description" content="">
        <meta http-equiv="refresh" content="1"/>
        
        <!--css,js-->
        <style type="text/css">
            *{margin:0;padding:0;}
            body{background:#CC9999;}
        </style>
    
    <script type="text/javascript">
        function LoadMsg(){
            var url = "loadMes.jsp?action=show";
            loadTime.src = url;
        }    
    
    </script>
    <script type="text/javascript" id="loadTime"></script>
    
    </head>
    
<body onLoad="javascript:LoadMsg();">

    <span id="loadData">正在加载数据,请稍后喔 ..........</span>

</body>
</html>

///////////////////////////////////////////////////////////////////
writeMesjsp文件里:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<!doctype html>
<html>
    <head>
        <!--声明当前页面的编码集:charset=gbk,gb2312(中文编码),utf-8国际编码-->
        <meta http-equiv="Content-Type" content="text/html; charset=gbk">
        <!--当前页面的三要素-->
        <title>多人聊天室 - 消息的输入页面</title>
        <meta name="Keywords" content="关键词,关键词">
        <meta name="description" content="">

        <!--css,js-->
        <style type="text/css">
            *{margin:0;padding:0;}
            body{background:#CC99FF;}
            .msg{height:26px;line-height:26px;}
            .sub{width:100px;height:30px;}

        </style>

    </head>
<body>


    <form action="loadMes.jsp?action=write" method="post">
        <%=session.getAttribute("username") %>:<input type="text" name="msg" size="60" class="msg" autofocus x-webkit-speech/>
        <input type="submit" value="发   送" class="sub"/>
    </form>

</body>
</html>

///////////////////////////////////////////////////////////////////
index.jsp文件里:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body>
    This is my JSP page. <br>
  </body>
</html>

 

posted @ 2015-02-08 11:17  哥的笑百度不到  阅读(288)  评论(0编辑  收藏  举报