一段jsp代码求解

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:34:47
<%ArrayList arrayList=new ArrayList();
arrayList.add("aa");
arrayList.add("bb");
arrayList.add("cc");
%>
<%request.getSession().setAttribute("arrayList",arrayList);%>
在jsp中不是有内置对象session吗,我是否可以直接用session.setAttribute("arrayList",arrayList)来代替request.getSession().setAttribute("arrayList",arrayList)?

抛开习惯好坏和性能的考虑,你这样用法是没问题的,无论是request.getSession()还是在jsp里直接session,对于同一个客户端来说,都是同一个session对象,sessionId是相同的。(一般情况)

但是,诚如楼上诸位所言,session里不适合放业务数据。因为它的生命周期较长,会加重服务器的负担,而且会造成业务逻辑混乱。

session顾名思意,就是“会话”,你应该放“会话”本身相关的数据,如当前用户信息、角色、组织等。
项目的某个功能的数据,则应该放到request里。

可以用session的,但是安全性欠妥

可以的 .. session.get...

可以

都可以!

可以 但是一般情况下是不用SESSION的

第一:SESSION是用来存储用户信息的 而不是存储这类信息的

第二:像你存储的LIST的信息 一般情况下是每访问一次更新一回的 如果第一次访问的时候有数据 你添加了 而第二回访问没数据 你没有覆盖第一次你所添加的数据 这时候 SESSION中还能获取到你第一次所添加的数据 。。。我有点糊涂了。。 就是说 这个SESSION的生命周期不适合用来存储这个 明白了吧?