请教一下这个session.getAttribute()

问题描述

MessageBeanmessagebean=newMessageBean();ArrayListarraylist=newArrayList();arraylist=(ArrayList)session.getAttribute("SessionArraylist")if(arraylist==null||arraylist.size()==0){arraylist=newArrayList();}arraylist.add(messagebean);session.setAttribute("SessionArraylist",arraylist);如果不加if这个判断语句,arraylist.add(messagebean)这句就会出现Exception,但是我在第一句的时候已经对有了实例化了,不太明白为什么还要必须写arraylist=newArrayList()。请大家帮我解释下,谢谢!

解决方案

解决方案二:
因为重新赋值了,有可能是赋值为null。
解决方案三:
arraylist=(ArrayList)session.getAttribute("SessionArraylist")在这句中arraylist可能取不到session中的值,所以报空指针异常了。
解决方案四:
如果没有取到值,那么就是空指针异常,运行的时候会报错的
解决方案五:
MessageBeanmessagebean=newMessageBean();ArrayListarraylist=(ArrayList)session.getAttribute("SessionArraylist")if(arraylist==null||arraylist.size()==0){arraylist=newArrayList();}arraylist.add(messagebean);session.setAttribute("SessionArraylist",arraylist);
解决方案六:
我感觉是有获取失败的原因,可能你的SessionArraylist本身不存在if(arraylist==null||arraylist.size()==0){arraylist=newArrayList();}如果if的条件成立,那么说明SessionArraylist不存在,如果不创建arraylist.add(messagebean);怎么运行

时间: 2024-12-21 02:58:32

请教一下这个session.getAttribute()的相关文章

Session过期后自动跳转到登录页面的实例代码_java

最近做了一个项目其中有需求,要实现自动登录功能,通过查阅相关资料,打算用session监听来做,下面给大家列出了配置监听器的方法: 1.在项目的web.xml文件中添加如下代码: <!--添加Session监听器--> <listener> <listener-class> 监听器路径 </listener-class> </listener> 2.编写java类. public class SessionListener implements

session的两个小案例

版权声明:尊重博主原创文章,转载请注明出处哦~http://blog.csdn.net/eson_15/article/details/51262736 目录(?)[+]         学完了session,写两个小案例加深一下对session的巩固. 1. 用户登陆案例         登陆html页面提交后,将参数带给处理登陆的servlet,该servlet将获得登陆的用户名和密码,并将这些信息存入session中,另一个servlet在处理的时候,会先从session中拿到用户的信息,

Cookie 与 Session

Cookie 与 Session 是很常用的实现 Http 状态的技术,在不断的使用中,自己也对其有所理解.我接下来的讨论,是基于下面的顺序的: 1.为什么要使用 Cookie 和 Session 由于 Http 协议的请求过程,是基于 TCP/IP 的,当客户端请求服务器,服务器处理后,进行响应,这个过程是无状态的.在有些时候,是需要保存一些客户端的请求信息,识别客户端的某些状态,智能的.有 针对性的去分析某些客户端的习惯.这些时候,就需要去记录客户端的连接状态,识别请求的状态等.为了解决类似

让不同的Servlet在一个Session共享连接

==== 问题所在 ==== 如果要编写一个购物车,通常需要写很多个不同功能的servlet.例如用户登录.添加商品.查询购物车.结帐等. 在这些 servlet 中都需要读写数据库.如果我们在每个 servlet 中都进行连接 -> 读写 -> 断开连接的操作,就会消耗大量的服务器资源,不仅程序响应速度减缓,而且会加重服务器和数据库的负担. ==== 把希望寄托于 HttpSession ==== 如我们所学,Servlet API 提供了一些方法和类来专门处理短期的会话跟踪.网站的每个用户

列出jsp中的所有session

js|session <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><%@ page import="java.util.*"%><html><head><meta http-equiv="C

JSP中基于Session的在线用户统计分析

JSP作为后起之秀能够在服务器编程环境中占据一定地位,是和它良好支持一系列业界标准密切相关的.Session就是它提供的基础设施之一.作为一个程序员,你可以不介意具体在客户端是如何实现,就方便的实现简单的基于session的用户管理.现在对于处理在线用户,有几种不同的处理方法. 一种是页面刷新由用户控制,服务器端控制一个超时时间比如30分钟,到了时间之后用户没有动作就被踢出.这种方法的优点是,如果用户忘了退出,可以防止别人恶意操作.缺点是,如果你在做一件很耗时间的事情,超过了这个时间限制,sub

Servlet中如何捕获Session事件?

servlet|session 捕获Session事件的意义:1.    记录网站的客户登录日志(登录,退出信息等)2.    统计在线人数3.    等等还有很多,呵呵,自己想吧--总之挺重要的. Session代表客户的会话过程,客户登录时,往Session中传入一个对象,即可跟踪客户的会话.在Servlet中,传入Session的对象如果是一个实现HttpSessionBindingListener接口的对象(方便起见,此对象称为监听器),则在传入的时候(即调用HttpSession对象的

JSP入门初级教程之Session的使用

js|session|教程 TTP协议是无状态的,即信息无法通过HTTP协议本身进传递.为了跟踪用户的操作状态,ASP应用SESSION对象.JSP使用一个叫HttpSession的对象实现同样的功能.HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面.Session的信息保存在服务器端,Session的id保存在客户机的cookie中.事实上,在许多服务器上,如果浏览器支持的话它们就使用cookies,但是如果不支持或废除了的话就自动转化为URL-

jsp内置对象入门(2) 【02】session、application

我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: Session_01.jsp <%@ page language="java" contentType="text/html" pageEncoding="utf-8" %> <html> <head> <t