JSP无数据库网络聊天室

1、创建登录页面login.jsp
2、创建登录逻辑页面doLogin.jsp
3、创建聊天室主页面talk.jsp
4、创建聊天室逻辑页面dotalk.jsp
5、创建退出聊天室页面doLoginout.jsp
下面是我自己的登录界面以及聊天室主界!面在这里插入图片描述在这里插入图片描述
在这里插入图片描述
接下来直接放代码
login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>登陆界面</title>

<style type="text/css">
* {
	magin: 0 auto;
	padding: 0px;
}

.singledog {
	width: 440px;
	height: 220px;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	background: lightpink;
}
</style>
</head>
<body>
	<div class="singledog">
		<center>
			<form action="doLogin.jsp" method="post" name="myform">
				<br /> <br />
				<p>单身狗聊天室</p>
				<input type="text" name="username" /><br />
				<br /> <input type="submit" value="登录" />
			</form>
	</div>
	</center>
</body>
</html>

doLogin.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    
<%
//设置请求和响应的编码集
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//从页面获取用户名
String username = request.getParameter("username");
if(null == username || "".equals(username)){
	response.sendRedirect("login.jsp");
} else {
	//获取在线用户名
	List<String> users = (List<String>) application.getAttribute("users");
	
	
	if(null == users){
		//第一个用户登录
		users = new ArrayList<String>();
	}
	users.add(username);
	application.setAttribute("users", users);
	
	//当前session中存储用户名
	session.setAttribute("username", username);
	response.sendRedirect("talk.jsp");
}
%> 

talk.jsp

<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script type="text/javascript" src="../js/jquery-1.10.1.js">
		
		function checkInfo(){
			var info=myform.contents.value;
			if(info==null||info.replace(reg,"")==""){
				alert("请输入您想说的话!!!!");
				myform.contents.select();
				return false;
			}else{
				return true;
			}
		}
		</script>
		<style type="text/css">
			*{
	margin: 0;
	padding: 0;/*所有元素内边距外边距是0*/
}
body{
	width: 900px;
	margin: 0 auto;	
	
	
}
.top{
	width: 900;
	height: 100px;
	text-align: center;
	font-size: 30px;
	font-family: "微软雅黑";
	font-style: inherit;
	border: 1px solid deeppink;/*设置边框*/
	background: url(img/背景图.jpg);	
}
.top p{
	margin-top: 20px;
}
.left{
	width: 203px;
	height: 450px;
	border: 1px solid deeppink;/*设置边框*/
	float: left;
	background: url(img/left.jpg);	
	
}
.center{
	width: 552px;
	height: 450px;
	border: 1px solid deeppink;/*设置边框*/
	float: left;	
	background: url(img/背景.jpg);
	
}
.right{
	width: 138px;
	height: 450px;
	border: 1px solid deeppink;/*设置边框*/
	float: left;
	background: url(img/right.jpg);	
	
}
.button{
	width: 898px;
	height: 66px;
	border: 1px solid deeppink;/*设置边框*/
	clear: both;
	background: url(img/button.jpg);	
}
.button form{
	margin-top: 5px;
}

</style>
	<body>
<%
//访问权限控制
String uname = (String) session.getAttribute("username");
if(null == uname || "".equals(uname)){
	response.sendRedirect("../login.jsp");
	return;
}
//获取在线用户数
List<String> users = (List<String>) application.getAttribute("users");
//获取聊天记录
List<String> words = (List<String>) application.getAttribute("words");
	
%>
		<div class="top">
			<p>欢迎进入单身狗聊天室</p>
		</div>
		<div class="left">
			<img src="img/单身狗1.jpg"/>
		</div>
		<div class="center">
			<ul>
			<%
				if(null != words && words.size()>0){
					for(String info : words){
			%>
			<li><%=info %></li>
			<%		
					}
				}
			%>			
			</ul>
		</div>
		<div class="right">
		<%
			if(null != users && users.size()>0){
			
		%>
		<p>用户在线<%=users.size() %>人</p>
		<%
			}		
		%>
		
		<ul>
			<%
				for(String username : users){
			%>
			<li><%=username %></li>
			<%
				}		
			%>
		</ul>
		</div>
		<div class="button">
			<center>
    			<form action="dotalk.jsp" method="post" name="myform" onsubmit="return checkInfo()">
    			<p>	您:<select name="status" id="status">
    					<option value="快乐地">快乐地</option>
    					<option value="悲伤地">悲伤地</option>
    					<option value="无聊地">无聊地</option>
    					<option value="得瑟地">得瑟地</option>
    				</select>
    				说:
    				</p>
    				<textarea name="msg"></textarea>
    				<input type="submit" value="发送"/>
    				<a href="doLoginout.jsp?username=<%=uname%>">退出</a> 
    			</form>    			
    		</center>
		</div>
	</body>
</html>

dotalk.jsp

<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
   pageEncoding="UTF-8"%>
<%
   //设置请求和响应的编码集
   request.setCharacterEncoding("UTF-8");
   response.setCharacterEncoding("UTF-8");

   //从页面获取内容
   String status = request.getParameter("status");
   String msg = request.getParameter("msg");
   //获取用户名
   String username = (String) session.getAttribute("username");
   Date date = new Date();
   SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
   String content = "<li class=\"title\">" + username + "&nbsp;&nbsp;" + status + "说:" + "&nbsp;&nbsp;"
   		+ format.format(date) + "</li><li class=\"msg\">" + msg + "</li>";

   //获取聊天记录
   List<String> words = (List<String>) application.getAttribute("words");
   if (null == words) {
   	words = new ArrayList<String>();

   }
   words.add(content);
   application.setAttribute("words", words);
   response.sendRedirect("talk.jsp");
%>

doLoginout.jsp

<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%
	//设置请求和响应的编码集
	request.setCharacterEncoding("UTF-8");
	response.setCharacterEncoding("UTF-8");

	//获取在线用户名
	List<String> users = (List<String>) application.getAttribute("users");

	//获取传入的用户名
	String uname = request.getParameter("username");
	users.remove(uname);
	//application对象重新存入新的List
	application.setAttribute("users", users);
	//移除session中的属性
	session.removeAttribute("username");
	//response.sendRedirect("../login.jsp");
%>
<jsp:forward page="login.jsp" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值