任务:

先上实现效果图:

登陆界面:

index.jsp:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta charset="utf-8"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
FONT-SIZE: 9pt;
margin:0px;
}
td {
font-size: 9pt; line-height:144%;text-align:center;
}
a:hover {
font-size: 9pt; color: #FF6600;
}
a {
font-size: 9pt; text-decoration: none; color: #777777;
}
.btn_grey {
font-family: "宋体"; font-size: 9pt;color: #333333;
background-color: #eeeeee;cursor: hand;padding:1px;height:19px;
border-top: 1px solid #FFFFFF;border-right:1px solid #666666;
border-bottom: 1px solid #666666;border-left: 1px solid #FFFFFF;
}
.btn_orange {
font-family: "宋体"; font-size: 9pt;color: #FFFFFF;
background-color: #FF6600;cursor: hand;padding:1px;height:19px;
border-top: 1px solid #FF6600;border-right:1px solid #666666;
border-bottom: 1px solid #666666;border-left: 1px solid #FF6600;
}
.btn_blank {
font-family: "宋体"; font-size: 9pt;color: #FFFFFF;
background-color: #000000;cursor: hand;padding:1px;height:19px;
border-top: 1px solid #000000;border-right:1px solid #666666;
border-bottom: 1px solid #666666;border-left: 1px solid #000000;
}
.word_dark {
font-size: 9pt;
color: #313131;
text-align:center;
}
.word_login{
font-size:9pt;
color:#7E5A03;
}
.word_orange {
font-size: 9pt;
color: #FF6600;
}
.word_white {
font-size: 9pt;
color: #FFFFFF;
}
.txt_grey {
font-family: "宋体";
font-size: 9pt;
color: #333333;
border: 1px solid #999999;
width:110;
}
input {
font-family: "宋体";
font-size: 9pt;
color: #333333;
border: 1px solid #999999;
}
.wenbenkuang {
font-family: "宋体";
font-size: 9pt;
color: #333333;
border: 1px solid #999999;
}
.noborder{
border:none;
}
.tableBorder {
border: #B5DCA0 1px solid;
}
.tableBorder_lr{
border:1px solid #B5DCA0 ;
border-bottom-style:none;
border-Top-style:none;
}
.tableBorder_lrb{
border:1px solid #B5DCA0 ;
border-Top-style:none;
}
</style>
<script language="javascript">
function check(){
if(form1.username.value==""){
alert("请输入用户名!");form1.username.focus();return false;
}else if(form1.username.value=="\'"){
alert("请不要输入非法字符!");form1.username.focus();return false;
}
}
</script>
</head> <body>
<form name="form1" method="post" action="MessagesAction?action=loginRoom" onSubmit="">
<table width="363" height="223" border="0" align="center" cellpadding="0" cellspacing="0" background="images/login.gif">
<tr>
<td height="120" colspan="3" class="word_dark"><h1>小都聊天室</h1></td>
</tr>
<tr>
<td width="53" height="23" align="center" valign="top" class="word_dark"> </td>
<td width="216" align="center" valign="top" class="word_dark">用户名:
<input name="username" type="text" maxlength="20">
<input name="ip" type="hidden" value="<%= request.getRemoteHost()%>"></td>
<td width="94" valign="top" class="word_dark"><input type="image" name="imageField" src="data:images/go.jpg"></td>
</tr>
<tr><td colspan="3" valign="bottom" style="padding:5px">你的IP是:<%= request.getRemoteHost()%></td></tr>
</table>
</form>
</body>
</html>

Java之聊天室系统设计一的更多相关文章

  1. Java之聊天室系统设计二

    服务器端: 浏览器端:

  2. Java Socket聊天室编程(二)之利用socket实现单聊聊天室

    这篇文章主要介绍了Java Socket聊天室编程(二)之利用socket实现单聊聊天室的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在上篇文章Java Socket聊天室编程(一)之 ...

  3. Java Socket聊天室编程(一)之利用socket实现聊天之消息推送

    这篇文章主要介绍了Java Socket聊天室编程(一)之利用socket实现聊天之消息推送的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 网上已经有很多利用socket实现聊天的例子了 ...

  4. Java NIO 聊天室实例

    最近写了个Java NIO聊天室聊天的程序,NIO学习起来比较困难的,我的代码能给大家起到一个抛砖引玉的作用! 服务端: package test.javanio; /** * @author * @ ...

  5. Java简单聊天室

    实现Java简单的聊天室 所用主要知识:多线程+网络编程 效果如下图 /** * * @author Administrator * * 简单的多人聊天系统——重点:同时性,异步性 * 1.客户端:发 ...

  6. Unity手游之路<三> 基于Unity+Java的聊天室源码

    http://blog.csdn.net/janeky/article/details/17233199 项目介绍 这是一个简单的Unity项目,实现最基本的聊天室群聊功能.登录聊天室后,用户可以输入 ...

  7. Netty聊天室(2):从0开始实战100w级流量应用

    目录 客户端 Client 登录和响应处理 写在前面 客户端的会话管理 客户端的逻辑构成 连接服务器与Session 的创建 Session和 channel 相互绑定 AttributeMap接口的 ...

  8. Netty聊天室-源码

    目录 Netty聊天室 源码工程 写在前面 [百万级流量 聊天室实战]: [分布式 聊天室] [Spring +Netty]: [Netty 原理] 死磕 系列 [提升篇]: [内力大增篇]: 疯狂创 ...

  9. Netty 仿QQ聊天室 (实战二)

    Netty 聊天器(百万级流量实战二):仿QQ客户端 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之15 [博客园 总入口 ] 源码IDEA工程获取链接:Java 聊天室 实战 源码 写在 ...

随机推荐

  1. ECMAScript 6 学习资料

    ECMAScript 6入门 http://es6.ruanyifeng.com/ 30分钟掌握ES6/ES2015核心内容(上) 30分钟掌握ES6/ES2015核心内容(下)

  2. CheckStyle——检查编码格式等是否符合规范

    CheckStyle 一.checkstyle简介 checkstyle是idea中的一个插件,可以很方便的帮我们检查java代码中的格式错误,它能够自动化代码规范检查过程,从而使得开发人员从这项重要 ...

  3. LDPC知识点

    LDPC:low Density Parity Check BCH:以前NAND的纠错 80s TLC以镁光都是以LDPC纠错. 对比: BCH:超过阈值就绝对纠正不回来了. LDPC:纠正的结果是一 ...

  4. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...

  5. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) A. Andryusha and Socks

    地址:http://codeforces.com/contest/782/problem/A 题目: A. Andryusha and Socks time limit per test 2 seco ...

  6. Foundations of RESTful Architecture

    Introduction The Representational State Transfer (REST) architectural style is not a technology you ...

  7. 什么是阻塞式和非阻塞io流?

    阻塞IO:socket 的阻塞模式意味着必须要做完IO 操作(包括错误)才会返回. 非阻塞IO:非阻塞模式下无论操作是否完成都会立刻返回,需要通过其他方式来判断具体操作是否成功. 两者区别: 所谓阻塞 ...

  8. POSIX 进程间通信 (可移植操作系统接口)

    1.什么是POSIX标准 Portable Operating System Interface for Computing System. 他是一个针对操作系统(准确地说是针对类Unix操作系统)的 ...

  9. path.resolve()和path.join()

    resolve 作用:path.resolve() 该方法将一些的 路径/路径段 解析为绝对路径. 语法:path.resolve([...paths]) 说明: ...paths <strin ...

  10. CSS 图片

    CSS 图片 一.圆角图片 img { border-radius: 8px; } 二.缩略图 border 属性来创建缩略图. img { border: 1px solid #ddd; borde ...