servlet安全退出问题

问题描述

我写了一个安全退出,用户验证是通过session和cookie来验证的,安全退出就把session和cookie删掉,程序编译和部署都没有问题。部分代码是这样的,删除cookie已经实现不写了,使session失效。HttpSessionsession=req.getSession(false);if(session!=null){session.invalidate();}就这段代码,应该使我的session失效了,我重新登录后点击安全退出,运行上面的代码,session失效,然后我不登陆,直接输入selvet欢迎地址,还是照样能看到欢迎界面,这是为什么?

解决方案

解决方案二:
HttpSessionsession=req.getSession(false);if(session!=null){session.removeAttribute("....");session.invalidate();}
解决方案三:
HttpSessionsession=req.getSession(false);if(session!=null){session.removeAttribute("username");session.removeAttribute("password");session.invalidate();}这样好像还是不行啊?
解决方案四:
完整的代码是这样的://安全退出页面packagecom.sun.example;importjavax.servlet.http.*;importjava.io.*;importjavax.servlet.*;publicclassLogoutextendsHttpServlet{publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{PrintWriterout=resp.getWriter();//从请求中得到一个会话,如果得到一个session,就将session设置为失效。HttpSessionsession=req.getSession(false);if(session!=null){session.removeAttribute("name");session.removeAttribute("password");session.invalidate();}//从客户请求中得到cookie。Cookie[]cookies=req.getCookies();for(Cookiecookie:cookies){if(cookie.getName().equals("myname")){cookie.setMaxAge(0);//cookie.setPath("/");resp.addCookie(cookie);}if(cookie.getName().equals("mypassword")){cookie.setMaxAge(0);resp.addCookie(cookie);}}resp.sendRedirect("login");}}
解决方案五:
请问上面的代码为什么不能使SESSION失效?
解决方案六:
Set<String>set=session.keySet();Iterator<String>i=set.iterator();Stringk=null;while(i.hasNext()){k=i.next();if(session.containsKey(k)){session.remove(k);}}

时间: 2024-12-03 13:10:53

servlet安全退出问题的相关文章

JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

一.http协议回顾: 在上一篇文章中:JavaWeb学习之Servlet(一)----MyEclipse及Tomcat的配置,我们通过在浏览器输入url,就能看到在MyEclipse中编写的Servlet资源,效果如下: 上图中,整个过程是这样的:浏览器中输入url后,会通过hosts文件/dns服务器解析为IP地址,进而找到对应ip地址的服务器. 在这期间,浏览器会通过http协议发出请求.服务器端收到请求后,做了下面这些事: (1)分析出当前请求的是哪台虚拟主机: 查看Host请求头分析出

java-工具-tomcat-加载机制

最近看了Tomcat后, 对Tomcat类加载还不是很清楚, 在网上找了这篇文章, 很赞.  原文排版更精美, 推荐阅读原文. 前言 说到本篇的tomcat类加载机制,不得不说翻译学习tomcat的初衷. 之前实习的时候学习javaMelody的源码,但是它是一个Maven的项目,与我们自己的web项目整合后无法直接断点调试.后来同事指导,说是直接把java类复制到src下就可以了.很纳闷-.为什么会优先加载src下的java文件(编译出的class),而不是jar包中的class呢? 现在了解

怎么用servlet实现用户退出功能

问题描述 我们在做一个简单的聊天系统要求用servlet实现用户退出功能急切寻求解决办法请各位IT同学老师赐教 解决方案 解决方案二:方法1:清空Sessionrequest.getSession().invalidate();方法2:对于登录成功的用户加入在线用户列表,退出则将其从中删除.解决方案三:路过----帮顶!!!!解决方案四:session.invalidate()让session挂掉,自然就注销了解决方案五:引用楼主yf1990818的回复: 我们在做一个简单的聊天系统要求用ser

JBuilder2005 Servlet开发之下载型

servlet|下载 在这节里,我们对welcome.jsp页面进行改造,在页面中添加一个链接,这个链接调用Servlet下载上节所记录的系统日志文件. 通过向导创建ExcelFileServlet 1.File->New...->Web->双击Standard Servlet图标,启动创建标准Servlet的向导. 指定Servlet类名为ExcelFileServlet,将包名设为bookstore.servlet,按Next到下一步. 2.选择覆盖doGet()处理方法. 开发之下

入门必读:Servlet/JSP配置超详解

js|servlet|详解 初学者问的诸如:怎样配置环境变量?怎样运行Servlet啊?这样的问题太多了,现在我写一个初学者入门必读,希望能对初学者有指导作用! 首先是下载工具: 我建议初学者用Editplus+JDK,我觉得如果用例如JB,Eclipse,JCreator,虽然刚开始的时候比较方便,但是确使初学者门不知道怎样配置环境变量,从而难以达到知其然,知其所以然的地步. 可以通过如下地址下载: Editplus(最新版本是v2.11):http://count.skycn.com/sof

jsp Servlet基础入门学习:处理Cookie

cookie|js|servlet      9.1 Cookie概述 Cookie是服务器发送给浏览器的体积很小的纯文本信息,用户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器.通过让服务器读取它原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份.安全要求不高的场合避免用户重复输入名字和密码.门户网站的主页定制.有针对性地投放广告,等等. Cookie的目的就是为用户带来方便,为网站带来增值.虽然有着许多误传,事实上Cookie并不会造成严重的

基于Servlet的Google Earth之旅

google|servlet 从这一点来说Google Earth客户端是我们时代的技术标志.Google Earth并非是第一个地球浏览客户端,而且与它的先驱.不为人知的Keyhole非常相似.但是凭着Google的大名以及基础版对最终用户免费,它完成了市场渗透并得到公认――这是另一个值得大书特书的有趣话题. 本文只有一个基本使命:即向你展示在servlet和Google Earth客户端之间发送和接收信息是多么的容易.有了这种程度的交互,你就能用基本的Java编程技能创建设想的服务. 使用许

选择jsp而不是servlet作为BS前台主流方案是JAVA的战略性方向错误

js|servlet|错误|战略|主流  原文许多人认为JSP是JAVA向微软ASP挑战的成功产品,到今天,围绕着JSP方案发展出了TAG/EL等技术,JSP作为JAVA的BS前台界面方案看来已经是无法逆转.但在我看来,JAVA选择JSP这种表达形式,恰恰是它最失败的地方,是对ASP的一种拙劣的模仿,它本来可以做得更好的,甚至可能据此让微软彻底退出服务器领域,但最终,却可能成为足以令JAVA最终失败的重大战略方向性错误.JAVA到今天仍具有微软所有语言所不具备的优点,就以C#而言,只不过是形似而

Java Servlet及Cookie的使用

cookie|servlet 本文介绍了Java Servlet编程所需的软件及环境配置.只要你有一台安装Windows 95/98了的PC机,便可以按照本文的步骤开发Servlet程序了.本文同时给出了通过Java Servlet向用户的硬盘写入和读取Cookie的方法及例程.通过它可以实现网上常见的个性化网页.网上购物篮.密码验证等. Java Servlet是运行于Web服务器上的Java代码,它可以接受用户请求,进行相应的处理,并向用户提供反馈.其作用类似于CGI程序,可以实现网页中很多