文章目录

  • 一丶 多个浏览器使用session 访问服务器时,为什么服务器的处理不会乱?它的原理是什么?
  • 二丶 为什么要有服务器的清理机制?
  • 三丶 如何启动服务器清理机制?
  • 四丶 程序主动清除session 数据,先上效果图
  • 五丶 服务器主动清除

一丶 多个浏览器使用session 访问服务器时,为什么服务器的处理不会乱?它的原理是什么?

【1】为什么?
每个网页使用session 请求服务器时,都会有一个唯一的sessionid 进行标识,这样服务器在处理完相应的数据后,就能准确的返回给请求它的浏览器,而不会发错!

【2】原理

看图:

二丶 为什么要有服务器的清理机制?

【1】session的数据是在服务器端的,服务器保存的绘画数据量越来越大,若没有清理机制,会导致性能问题或服务器崩溃!

【2】考虑到用户的信息临走后忘记关掉这时别人上网页时就会造成意想不到的后果

三丶 如何启动服务器清理机制?

【1】程序主动清除session 数据
【2】服务器主动清楚长时间没有再次发出请求的 session

四丶 程序主动清除session 数据,先上效果图

点击注册后,跳转到主页:

可以看到页面自动显示了,我们注册时的名字,这是session 请求的功劳

5秒后,我们刷新界面:

可以看到用户名信息被消除

userCreate.jsp:注册页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户注册</title>
</head>
<body>
<form name ="dataForm" id="dataForm" action="doUserCreate.jsp" method="get"><table class="tb" border="0" cellspacing="5" cellpadding="0" align="center"><tr><td align="center" colspan="2" style="text-align:center;" class="text_tabledetail2">用户注册</td></tr><tr><td class="text_tabledetail2">用户名</td><td><input type="text" name="username" value=""/></td></tr><tr><td class="text_tabledetail2">密码</td><td><input type="password" name="password" value=""/></td></tr><tr><td class="text_tabledetail2">确认密码</td><td><input type="password" name="con_password" value=""/></td></tr><tr><td class="text_tabledetail2">email</td><td><input type="text" name="email" value=""/></td></tr><tr><td style="text-align:center;" colspan="2">               <button type="submit" class="page-btn" name="save">注册</button><button type="button" class="page-btn" name="return" onclick="javascript:location.href='<%=request.getContextPath() %>/index.jsp'">返回</button></td></tr></table><%//如果注册用户为“admin”显示“注册失败,请更换其他用户名”%>
</form>
</body>
</html>

doUserCreate.jsp:逻辑处理

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body><%String username=request.getParameter("username");String password = request.getParameter("password");String email = request.getParameter("email");out.print("用户名:"+username+"</br>");out.print("密码:"+password+"</br>");out.print("email:"+email+"</br>");if(username.equals("admin")){//不允许注册,返回页面}else{session.setAttribute("username",username);response.sendRedirect("index.jsp");}   %>
</body>
</html>

index.jsp:注册成功后,返回主页面

<%@ page language="java" contentType="text/html; charset=utf-8"%><!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>首页</title>
<link type="text/css" rel="stylesheet" href="css/common.css"/>
</head><body>
<!--页面顶部-->
<div id="header"><div class="main-top"><div class="logo"><a href=""><span>新闻大视野</span></a></div><div class="login-box"><%session.setMaxInactiveInterval(5); //程序主动清除机制//通过读取session获得用户名显示Object o = session.getAttribute("username");if(o==null){%>                <label>用户名</label><input type="text" name="uname" /><label>密码</label><input type="text" name="upassword" /><button>登录</button><%}else{//显示“欢迎你,XXX”out.print("欢迎你,"+o.toString());}%></div><div class="nav"><ul class="clearfix"><li><a href="#">首页</a></li><li><a href="#">国内</a></li><li><a href="#">国际</a></li><li><a href="#">娱乐</a></li><li><a href="#">军事</a></li></ul></div></div><!--banner--><div class="main-banner"><img src="data:images/banner.png" /></div><!--搜索横框--><div class="search-box"><div class="sl"><div class="sr clearfix"><span class="left-search clearfix"><label>站内搜索</label><input type="text" name="keyword" value="关键词" /><button class="go-btn"></button></span><span class="right-link"><label>快速链接</label><select><option>-----专题选择-----</option></select><button class="go-btn"></button></span></div></div>    </div>
</div>
<!--d页面主体-->
<div id="content" class="main-content clearfix"><!--主体的的左边部分--><div class="main-content-left"><!--新闻专题分类--><div class="class-box"><div class="class-box-header"><span class="fr"><a href="#">更多...</a></span><h3>新闻专题</h3></div><div class="class-box-content"><ul><li><a href="#">国内</a></li><li><a href="#">国际</a></li><li><a href="#">娱乐</a></li><li><a href="#">军事</a></li><li><a href="#">财经</a></li><li><a href="#">天气</a></li><li class="clear-bottom-line"><a href="#">科技</a></li></ul></div></div><!--最新新闻--><div class="left-box"><div class="left-box-tbg"><div class="left-box-bbg"><div class="left-box-header"><h3><a href="#">最新新闻</a></h3></div><div class="left-box-content"><ul><li><a href="#">詹姆斯26+9+7热火2-1雷霆 詹姆斯快速实战迷踪步2+1</a></li><li><a href="#">詹姆斯26+9+7热火2-1雷霆 詹姆斯快速实战迷踪步2+1</a></li><li><a href="#">詹姆斯26+9+7热火2-1雷霆 詹姆斯快速实战迷踪步2+1</a></li></ul></div></div></div></div><!--最新评论--><div class="left-box"><div class="left-box-tbg"><div class="left-box-bbg"><div class="left-box-header"><h3>最新评论</h3></div><div class="left-box-content"><ul><li><a href="#">詹姆斯26+9+7热火2-1雷霆 詹姆斯快速实战迷踪步2+1</a></li><li><a href="#">詹姆斯26+9+7热火2-1雷霆 詹姆斯快速实战迷踪步2+1</a></li><li><a href="#">詹姆斯26+9+7热火2-1雷霆 詹姆斯快速实战迷踪步2+1</a></li></ul></div></div></div></div></div><!--页面主体的右部,包括新闻的列表和评论内容 --><div class="main-content-right"><!--各专题的新闻列表--><div class="main-text-box"><div class="main-text-box-tbg"><div class="main-text-box-bbg"><div class="main-text-box-header"><h3>即时新闻</h3></div><div class="main-text-box-content"><ul class="news-list-ul clearfix"><li><span>2017-5-28 10:33:33</span><a href="newsDetail.jsp">谈"北京精神"</a></li><li><span>2017-5-28 10:33:33</span><a href="#">省政府500万悬赏建业登顶 球员:遗憾主场</a></li><li><span>2017-5-28 10:33:33</span><a href="#">洪元朔:北京人的脸就看你们了 最后一哆</a></li><li><span>2017-5-28 10:33:33</span><a href="#">临界冠军京城夺票总动员 球迷夺冠!让所</a></li><li class="li-line"><span>2017-5-28 10:33:33</span><a href="#">一纸传真暗含申花处理态度 国足征调社</a></li><li><span>2017-5-28 10:33:33</span><a href="#">深足教练组:说我们买球是侮辱 朱广沪常</a></li><li><span>2017-5-28 10:33:33</span><a href="#">省政府500万悬赏建业登顶 球员:遗憾主场</a></li><li><span>2017-5-28 10:33:33</span><a href="#">洪元朔:北京人的脸就看你们了 最后一哆</a></li><li><span>2017-5-28 10:33:33</span><a href="#">临界冠军京城夺票总动员 球迷夺冠!让所</a></li><li class="li-line"><span>2017-5-28 10:33:33</span><a href="#">一纸传真暗含申花处理态度 国足征调社</a></li><li><span>2017-5-28 10:33:33</span><a href="#">深足教练组:说我们买球是侮辱 朱广沪常</a></li><li><span>2017-5-28 10:33:33</span><a href="#">省政府500万悬赏建业登顶 球员:遗憾主场</a></li><li><span>2017-5-28 10:33:33</span><a href="#">洪元朔:北京人的脸就看你们了 最后一哆</a></li><li><span>2017-5-28 10:33:33</span><a href="#">临界冠军京城夺票总动员 球迷夺冠!让所</a></li><li class="li-line"><span>2017-5-28 10:33:33</span><a href="#">一纸传真暗含申花处理态度 国足征调社</a></li> <li><span>2017-5-28 10:33:33</span><a href="#">深足教练组:说我们买球是侮辱 朱广沪常</a></li><li><span>2017-5-28 10:33:33</span><a href="#">省政府500万悬赏建业登顶 球员:遗憾主场</a></li><li><span>2017-5-28 10:33:33</span><a href="#">洪元朔:北京人的脸就看你们了 最后一哆</a></li><li><span>2017-5-28 10:33:33</span><a href="#">临界冠军京城夺票总动员 球迷夺冠!让所</a></li><li><span>2017-5-28 10:33:33</span><a href="#">一纸传真暗含申花处理态度 国足征调社</a></li>                               </ul></div><!--图片新闻--><div class="news-pic"><dl><dt><img src="data:images/new-1.png" /></dt><dd>詹姆斯防守杜兰特</dd></dl><dl><dt><img src="data:images/new-2.png" /></dt><dd>麦当劳篮球大篷车</dd></dl><dl><dt><img src="data:images/new-3.png" /></dt><dd>遭遇多人包夹</dd></dl><dl><dt><img src="data:images/new-4.gif" /></dt><dd>马蒂最新漫画欣赏</dd></dl></div><div class="page-bar"><ul class="page-num-ul clearfix"><li><a href="#">上一页</a></li><li><a href="#" class="thisclass">1</a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#">下一页</a></li></ul><span class="page-go-form"><label>跳转至</label><input type="text" name="numkey" class="page-key" />页<button type="submit" class="page-btn">GO</button></span></div></div></div></div><!--合作媒体--><div class="main-text-box"><div class="main-text-box-tbg"><div class="main-text-box-bbg"><div class="main-text-box-header"><h3>合作媒体</h3></div><div class="main-text-box-content"><ul class="link-text-ul clearfix"><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li><li><a href="#">中国政府网</a></li></ul></div></div></div></div></div>
</div>
<!--页面底部-->
<div id="footer" class="main-footer-box">24小时客户服务热线:010-68988888 常见问题解答 新闻热线:010-627488888<br />文明办网文明上网举报电话:010-627488888 举报邮箱:jubao@kgc.com.cn<br />Coyright&copy;1999-2007 News China gov,All Right Reserved.<br />新闻中心版权所有
</div>
</body></html>

关键就是上面的这代码:
session.setMaxInactiveInterval(5); //程序主动清除机制

五丶 服务器主动清除

首先先让我们打开WEB-INF文件夹,打开web.xml文件,添加下面内容的代码:
web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><display-name></display-name> <welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><session-config><session-timeout>30</session-timeout></session-config>
</web-app>

好的这样就表示30分钟后,服务器将自动清除长时间为请求的session

想要图片以及css样式资源的,加我个人主页联系方式,领取!

JavaWeb — session+实战项目相关推荐

  1. JavaWeb企业实战项目(一):环境搭建-用户注册-邮件发送

    Web项目系列文章推荐:

  2. JavaWeb实战项目-登录审批功能-付强-专题视频课程

    JavaWeb实战项目-登录审批功能-134人已学习 课程介绍         在eclipse中进行web开发,熟练掌握HTML.Javaspript.CSS.JSP.Servlet.Oracle. ...

  3. 【JavaWeb篇】快速上手Tomcat|实战项目详解

    作者主页:橙子! 主页 系列专栏:JavaWeb基础教程系列 精彩回顾:HTTP协议详解 文章目的:Web服务器TomCat的使用以及配置问题 文章目录 前言 1.Web服务器 2.Tomcat简介 ...

  4. 视频教程-大型ERP实战项目教程-Java

    大型ERP实战项目教程 十年项目经验,曾经任职中国移动架构师,丰富的教学经验让无数人获得高薪 任亮 ¥1300.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订 ...

  5. 超硬核Java学习路线图+学习资源+实战项目汇总,看完以后不用再问我怎么学Java了!

    之前写过很多次关于Java学习指南.Java技术路线图的文章.但是总还是有小伙伴来问我,Java怎么学,项目怎么做,资源怎么找,真是让人头秃. 于是这次黄小斜决定来一波狠的,把所有这些内容都整理起来, ...

  6. 大型ERP实战项目教程-任亮-专题视频课程

    大型ERP实战项目教程-11719人已学习 课程介绍         通过本ERP项目的学习,可以使学生形成开发的思想,产生真正的动手开发的能力,本项目是原公司的真实项目,如果你没有经验,那么学习这个 ...

  7. python有趣的小项目-有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

  8. .NET Core实战项目之CMS 第十六章 用户登录及验证码功能实现

    前面为了方便我们只是简单实现了基本业务功能的增删改查,但是登录功能还没有实现,而登录又是系统所必须的,得益于 ASP.NET Core的可扩展性因此我们很容易实现我们的登录功能.今天我将带着大家一起来 ...

  9. .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...

    通过 ASP.NET Core,开发者可轻松配置和管理其应用的安全性. ASP.NET Core 中包含管理身份验证.授权.数据保护.SSL 强制.应用机密.请求防伪保护及 CORS 管理等等安全方面 ...

  10. python项目开发实例-有趣的十个Python实战项目,让你瞬间爱上Python!

    前言 Python 是一种极具可读性和通用性的编程语言.Python 这个名字的灵感来自于英国喜剧团体 Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Pytho ...

最新文章

  1. (一)深入浅出图解Git,入门到精通(保姆级教程)
  2. vue中的倒计时跳转页面问题和axios网络请求this作用域问题
  3. java swing 导出文件_java swing (一) 导出excel文件并打开
  4. MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三
  5. 中国最为著名的古塔,你认识几座?
  6. 前端学习(3326):闭包的形式1
  7. CodeSmith终极玩法
  8. VIM - 01. 标准模式 - 下简单操作
  9. Halcon入门笔记一
  10. mirth connect 3.4 添加java到js代码中
  11. virsh、qemu-img基本管理操作
  12. 国内最好用的短网址推荐(2022年最新整理)
  13. 分析了233部职场剧告诉你:国产职场剧为什么这么烂
  14. 多传感器数据融合算法综述
  15. 电路邱关源学习笔记——1.5电压源和电流源
  16. 2021年全球及中国旅游产业发展现状及趋势分析[图]
  17. android添加悬浮窗,在Android中使用WindowManager实现悬浮窗口
  18. 服务端基础设施开发----整合thumbnailator编写图片插件
  19. 数字地与模拟地的区别——为何要分开
  20. (已更新)王者荣耀改名神器助手微信小程序源码下载

热门文章

  1. 算法5-----三个数大小比较
  2. codeforces 1B 模拟
  3. SpringBoot集成Redis来实现缓存技术方案
  4. 电动车充电器原理及带电路图维修
  5. 修改msde登录方式,设置sa密码为空
  6. openwrt路由器更换了Flash之后需要修改的源码
  7. jQuery CSS 操作函数
  8. Flex+BlazeDS+Java项目只能使用localhost访问的问题
  9. 情感计算在淘宝UGC的应用
  10. 35岁腾讯员工:准备退休!1kw房产+1kw股票+3百万现金,勉强够用了