jsp網頁聊天代碼 .

來源:互聯網
上載者:User

建立一個登陸頁面

<%@ page language="java" pageEncoding="gb2312"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>使用者登陸</title>
</head>

<body>
<form action="chart.jsp" method="post">
帳號<input type="text" name="userName"/>
口令<input type="password" name="passwd"/>
<input type="submit" value="確認"/>
</form>
</body>
</html>

 

建立一個聊天頁面名字為chart.jsp

<%@ page contentType="text/html; charset=GBK" import="java.util.*"%>

<%
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%>">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>My JSP 'chart.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">
-->
<%response.setIntHeader("Refresh",10); %>
</head>

<body>
歡迎來到網站聊天系統
<%
/**
程式目的:類比一個聊天室程式
測試方法,請在本機上開啟3個IE視窗,從登陸介面進去。再發言.
反應可能不是很快,你多等一會。我已經測試過了.
**/
try{
//擷取從使用者登陸介面傳遞過來的使用者
String loginname = request.getParameter("userName");
//擷取使用者的sessionId
String userSessionId=(String)session.getAttribute("userSessionId");
//根據sessionId取出使用者帳號
String name = (String)session.getAttribute(userSessionId+"user");
//如果loginnmae!=null,表明使用者初次登陸
if(loginname!=null)
{ //初次登陸,創造一個sessionid,把系統目前時間作為sessionId
userSessionId=System.currentTimeMillis()+"";
session.setAttribute("userSessionId",userSessionId);
//儲存帳號在session中
session.setAttribute(userSessionId+"user",loginname);

}
//擷取使用者發言
String word = request.getParameter("yourWords");
//從application中所有使用者曆史發言
String chart = (String)application.getAttribute("chart");
//當發言到一定長度就清空,以免耗盡記憶體
if(chart!=null&&chart.length()>10000) application.setAttribute("chart","");
if(name!=null&&word!=null){
//組裝使用者在螢幕上發言語句:
String userword=new Date()+" 使用者名稱:["+name+"]說:"+word;
//將使用者發言存入記錄中
chart+=userword+"/r/n";
application.setAttribute("chart",chart);
}

%>
<textarea rows="15" cols="40" name="output" style="width:100%">
<% if(name!=null) out.print(chart);
%>
</textarea>
<% if(name!=null) out.print(name+"說");%>
<form action="" method="post">
<input type="text" size="45" name="yourWords">
<input type="hidden" name="chart"><br>
<input type="submit" value="發送"/>
</form>
</body>
</html>

<%}catch(Exception e){
e.printStackTrace();
}%>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.