JAVA实现局域网聊天

JSP页面代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<!--<style type="text/css">
#chat{
   border:solid 1px #ccc;
   padding:10px;
   background-color:#ecfdce;
   width:400px;
   height:200px;
   margin-bottom:5px;
   overflow:auto;
}
#chat div{
   border-bottom:dashed 1px #669ff00;
   padding-bottom:2px;
   margin-bottom:5px;
}
#username{
   width:70px;
}
#message{
   width:200px;
}
</style>-->
<script type="text/javascript">
function createRequest(){
   var httpRequest;
   if(window.XMLHttpRequest){
    //firefox,safari
    httpRequest = new XMLHttpRequest();
   }else if(window.ActiveXObject){
    //IE
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
   }
   return httpRequest;
}

function chat(){
   var username = document.getElementById("username").value;
   var message = document.getElementById("message").value;
   document.getElementById("message").value="";
   var req= createRequest();
   req.onreadystatechange = function(){
    if(req.readyState ==4){
     var messageinfo = req.responseText;
     document.getElementById("messageinfo").innerHTML = messageinfo;
    }
   }
   req.open('POST','ChatRoomServlet',true);
   req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   req.send("username="+username+"&message="+message);
}
function chatrequest(){
   var request = createRequest();
   request.onreadystatechange = function(){
    if(request.readyState == 4){ 
      var messageinfo = request.responseText;
      document.getElementById("messageinfo").innerHTML=messageinfo;
    }
   }
   request.open('POST','ChatRoomServlet',true);
   request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   request.send(null);
}
function autoDownLoadmessage(){
   window.setInterval(function(){chatrequest()},1000);
}
autoDownLoadmessage();
</script>
</head>
<body>
<div id="chat" style="height:400px;width:800px;background-color:#ccedcf"><span id="messageinfo"></span></div>
<div>
用户名:<input type="text" id="username" name="username" />
聊天信息: <input type="text" id="message" size="50" name="message"/>&nbsp;
<input type="button" value="提交" οnclick="chat()">
</div>
</body>
</html>

servlet代码:

package com.demo.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class ChatRoomServlet
*/
public class ChatRoomServlet extends HttpServlet {
private static final long serialVersionUID = 1L;     
private static List<String> chatlist = new ArrayList<String>() ;

    public ChatRoomServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   request.setCharacterEncoding("utf-8");
   response.setCharacterEncoding("utf-8");
   String username = request.getParameter("username");
   String message = request.getParameter("message");
   String messageall = username+":"+message;
   if(username != null && message != null&&!username.equals("")&&!message.equals("")){
    chatlist.add(messageall);
   }
   PrintWriter out = response.getWriter();
   for(int i=0; i<chatlist.size();i++){
    out.print(chatlist.get(i)+"</br>");
   }
   if(chatlist.size() == 30){
    chatlist.removeAll(chatlist);
    chatlist.add(messageall);
   }
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
   this.doGet(request, response);
}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值