⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatroomservlet.java

📁 java阿里巴巴代码
💻 JAVA
字号:
package com.saas.biz.commen;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/** *//**
 * Servlet implementation class for Servlet: Chat
 * 
 */
public class ChatRoomServlet extends javax.servlet.http.HttpServlet implements
  javax.servlet.Servlet {
 static final long serialVersionUID = 1L;
 private String userName = "";
 /**//*
  * (non-Java-doc)
  * 
  * @see javax.servlet.http.HttpServlet#HttpServlet()
  */
 public ChatRoomServlet() {
  super();
 }
 private String getNow(){
  Date date = new Date();
  SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
  return df.format(date);  
 }
 
 /**//*
  * (non-Java-doc)
  * 
  * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
  *      HttpServletResponse response)
  */
 @SuppressWarnings("unchecked")
 protected void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  String action = request.getParameter("Action");
  if (action == null) {
  } else if (action.equals("GetMessage")) {
   PrintWriter out = response.getWriter();
   out.print(getMessages() + "!@#" + getOnlineUsers());
  } else if (action.equals("AddMessage")) {
   String message = request.getParameter("Message");
   userName = ((UserSessionListener) request.getSession()
     .getAttribute("UserName")).toString();
   addMessage(getNow() + " " + userName + " Says: " + message);
  }else if(action.equals("Logout")){
   request.getSession().removeAttribute("UserName");
  }else if(action.equals("Login")){
   request.getSession().setAttribute("UserName", new UserSessionListener(request.getParameter("UserName")));
  }
  // TODO Auto-generated method stub
 }
 /**//*
  * (non-Java-doc)
  * 
  * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
  *      HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  doGet(request, response);
  // TODO Auto-generated method stub
 }
 @SuppressWarnings("unchecked")
 private String getMessages() {
  String result = null;
  ServletContext application = getServletContext();
  LinkedList<String> messages = (LinkedList<String>) application
    .getAttribute("ChatMessage");
  if (messages == null) {
   result = "";
  } else {
   StringBuilder sb = new StringBuilder("");
   for (String tmp : messages) {
    sb.append(tmp);
    sb.append("<br>");
   }
   result = sb.toString();
  }
  return result;
 }
 @SuppressWarnings("unchecked")
 private String getOnlineUsers() {
  String result;
  LinkedList<String> onlineUsers = (LinkedList<String>)getServletContext().getAttribute("UserList");
  if (onlineUsers == null) {
   result = "";
  } else {
   StringBuilder users = new StringBuilder("");
   for (String tmp : onlineUsers) {
    users.append(tmp);
    users.append("  ");
   }
   result = users.toString();
  }
  return result;
 }
 @SuppressWarnings("unchecked")
 private void addMessage(String message) {
  ServletContext application = getServletContext();
  synchronized (application) {
   LinkedList<String> messages = (LinkedList<String>) application
     .getAttribute("ChatMessage");
   if (messages == null) {
    messages = new LinkedList<String>();
   }
   if (messages.size() > 10) {
    messages.removeFirst();
   }
   messages.add(message);
   application.setAttribute("ChatMessage", messages);
  }
 }
 public void destroy() {
  super.destroy();
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -