`
liuting37
  • 浏览: 10214 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

cookie 的销毁 与 application 的重写

阅读更多
最近写了一个在线聊天不保存聊天记录的应用实例。
系统登录:记住密码(用cookie保存登录账号、密码,放到本地)
在数据库中存放已有用户的信息包括用户号、用户密码、用户名。
登录时,验证用户明和密码
如果验证通过
如果记住密码选项被选中
用cookie保存当前用户名和密码
Cookie cookie1=new Cookie("account",account);
cookie1.setMaxAge(6000);//最长寿命为6000秒
Cookie cookie2=new Cookie("password",password);
cookie2.setMaxAge(6000);
并写到本地当中
response.addCookie(cookie1);
response.addCookie(cookie2);
如果记住密码选项没有被勾选就将相应的cookie注销
读取本地的cookie,并将 需要注销的cookie的最大寿命设为0,然后重新将这个cookie写到本地就好了。
Cookie[] cookies=request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.size();i++){
if(cookies[i].getName().equal("account")){
cookies[i].setMaxAge(0);
response.addCookie(cookie[i]);
}
if(cookies[i].getName().equal("password")){
cookies[i].setMaxAge(0);
response.addCookie(cookie[i]);
}
}
}

application:在我们用application进行集体聊天信息和上线下线状态的记录和显示,因为我们不需要将聊天记录保存到数据库中,使用application能很直接的实现数据共享。这里将登录信息和聊天记录通过一个字符串数组保存,放到一个application属性中,按消息的先后时间存放就好了,显示的时候就消息就会按先后时间以一条字符串一条字符串的显示出来。当有新的消息的时候要将这个属性读出来,然后添加一个字符串再重新写进去。
调试:避免空指针异常。在对一个对象进行编写的时候先考虑其是否有不存在的可能。
分享到:
评论
1 楼 沈冠军 2013-10-09  
Cookie[] cookies=request.getCookies(); 
if(cookies!=null){ 
for(int i=0;i<cookies.size();i++){ 
if(cookies[i].getName().equal("account")){ 
cookies[i].setMaxAge(0); 
response.addCookie(cookie[i]); 
} 
if(cookies[i].getName().equal("password")){ 
cookies[i].setMaxAge(0); 
response.addCookie(cookie[i]); 
} 
} 
} 


代码这样写会不会美观一点呢

相关推荐

    ASP.NET中 Session、Application、Cookie的使用

    每个Session都有一个唯一的ID,这个ID通过cookie(默认)或者URL重写等方式发送到客户端。在Session中存储的数据是私有的,不会被其他用户访问到。例如,你可以将用户的登录信息存储在Session中,以便在整个会话期间...

    JSP游戏网站 JSP网游聊天室application session的使用

    这个ID会被存储在用户的cookie中,或者通过URL重写传递,以便服务器能识别并跟踪特定用户。 - 开发者可以使用`session.setAttribute()`方法存储用户相关的信息,如用户名、登录状态等。然后,通过`session....

    关于servlet中request,session,application三者关系的形象解析

    每个session都有一个唯一的ID,这个ID通过cookie或者URL重写等方式发送给客户端。客户端在后续的请求中携带此ID,服务器据此识别出对应的session。session在默认情况下会在客户端一段时间无活动后自动失效。 3. ...

    JavaWeb程序设计入门课件Session对象共9页.p

    - URL重写:将Session ID附加到URL中,实现无Cookie环境下的会话跟踪。 - Application或ServletContext共享:适用于全局性、所有用户共用的数据存储。 - 数据库存储:对于需要长期保存的会话信息,可以考虑将...

    asp.net面试题

    在ASP.NET中,多种机制用于管理用户状态和数据,包括Session、ViewState、Application、Cookie、Hidden Field和URL。Session用于存储特定用户的会话信息,而ViewState则保存页面状态以保持用户界面的连续性。...

    session session session szsessdifn

    为了克服Session的一些缺点,可以考虑使用Cookie(但Cookie大小和数量有限制)、Viewstate(适合在同一页内保持状态)、Application(全局共享数据,不随用户变化)或者数据库存储(适合大量持久化数据)等替代方案...

    关于Jsp的面试题,(详细)

    JSP 面试题详解 本文对 JSP 面试题进行了详细的解析,涵盖了 JSP 的基础知识、内置对象、指令...JSP 中有四种会话跟踪技术:cookie、url 重写、session 和隐藏域。这些技术可以用于在多个页面之间传递对象和状态信息。

    java程序员滴宝典

    4. **application**:与整个Web应用程序相关的对象和属性。 示例: ```java // page范围 pageContext.setAttribute("message", "Welcome!"); // request范围 request.setAttribute("username", "JohnDoe"); // ...

    Jsp相关知识

    开发者可以重写doGet()和doPost()方法来处理HTTP的GET和POST请求。 **JSP与Servlet的关系**: JSP本质是一个Servlet,当JSP页面被首次请求时,会被Web容器转换成Servlet源码,然后编译成Servlet类。JSP页面中的静态...

    jsp&servlet复习

    购物车的实现通常需要会话跟踪,包括URL重写、隐藏域、Cookie以及session机制。 过滤器(Filter)是Servlet API的一部分,它可以拦截并处理请求和响应,例如实现登录检查、数据转换等功能。监听器(Listener)则...

    Java web面试题

    **8.1 session与cookie的区别** - **存储位置**: - Session数据存储在服务器端。 - Cookie数据存储在客户端。 - **安全性**: - Session相对更安全,因为数据不暴露给用户。 - Cookie容易受到攻击,但可以通过...

    jsp试题加答案

    - HTTP协议本身是无状态的,但可以通过会话跟踪技术如Cookie、URL重写、隐藏表单字段等来实现状态保持。 - 使用`request.getSession(false)`不会新建会话,而是尝试获取现有会话或返回null。 - `request.add...

    江南Style*JAVA程序员面试宝典(实战加培训总结)

    4. **Cookie与Session的区别**:Cookie存储在客户端,数据量有限,而Session存储在服务器端,安全性高但消耗服务器资源。 5. **GET和POST请求**:GET用于获取数据,URL可见;POST用于提交数据,数据不显示在URL上,...

    jsp入门课件

    3. **Session**:服务器端会话,服务器为每个用户分配唯一的Session ID,并通过Cookie或URL重写返回给客户端。服务器根据Session ID来追踪用户的操作。 4. **会话管理**:包括创建、获取、更新、销毁会话。`...

    jsp初学教程

    #### 六、Session与Application对象 - **Session对象**:存储与特定用户会话相关的数据。 - **Application对象**: - **IO操作**:执行文件读写等操作。 - **计数器**:实现网站访问次数统计。 - **聊天室**:...

    JavaEE期末习题集.docx

    `destroy()` 方法在 Servlet 实例被销毁前调用,而不是每次请求结束时。 **正确答案:B, C** --- #### 八、Cookie处理 **题目8:** 关于 Cookie 的说法,错误的选项是: - **选项A:** 获取 Cookie 的名字用 `...

    (asp.net)用户单点登录

    3. **身份验证事件处理**:在Global.asax文件中,重写Application_AuthenticateRequest事件。在这个事件中,检查当前请求是否包含有效的身份验证Ticket。如果有,自动登录用户。 4. **会话状态管理**:为了实现跨...

    SpringSession+redis共享jar包

    5. 配置Session超时和Cookie参数:你可以在`WebConfig`中调整Session的默认超时时间,以及设置Session的Cookie参数,如名称、路径、安全属性等。 6. 测试:编写测试用例,验证Session是否能够在不同服务器之间正确...

    Javaweb程序设计教学大纲.pdf

    - 配置对象:学习application对象的配置与使用。 - 其他内置对象:了解其他如pageContext、exception等内置对象。 通过这六个部分的学习,学生将能熟练运用JSP和Servlet技术,实现动态网页的开发,具备解决实际...

Global site tag (gtag.js) - Google Analytics