session.setAttribute(key,value)的第二个参数可否是引用类型?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session.setAttribute(key,value)的第二个参数可否是引用类型?相关的知识,希望对你有一定的参考价值。

session.setAttribute(key,value)的第二个参数可否是引用类型?
比如数组.

可以,只不过是取值时要转换成相应的类型.
比如数组
session.setAttribute("str", new String[]"a","b");
//取值时转换成相应对象类型即可
String str=(String) session.getAttribute("str");
参考技术A 可以的,value是Object类型。 存什么都可以 参考技术B 所谓的会话,就是维护那个sessionid。如果新打开的
窗口中包含这个sessionid,那么就和父窗口是同一个会话。
否则就不是相同的会话。
sessionid其实是被保存在请求头中了。我们不能直接看到
会话的维持需要浏览器的支持的。
IE6,IE8在会话的管理中有明显的不同。你要注意啊。
参考技术C 可以呀,具体的应该是这样的:session.setAttribute(String key,Object value)
第一个是键,第二个参数是一个对象的引用,当然可以是引用类型啦。

EL表达式的11隐含对象

EL表达式在不同范围如何取值:

<%
        pageContext.setAttribute("book", "红楼梦");
        request.setAttribute("book", "水浒传");
        session.setAttribute("book", "三国演义");
        application.setAttribute("book", "西游记");
    %>
    <!-- 当key值相同的时候,并且没有指明在什么范围内取值的话,会取最小范围内的值返回 -->
    ${book }
    <br/>
    <!-- 获取不同范围内的值 -->
    pageScope:${pageScope.book }
    <br />
    requestScope:${requestScope.book }
    <br />
    sessionScope:${sessionScope.book }
    <br />
    applicationScope:${applicationScope.book }
    <br />
    <hr/>
    <input type="text" value = "${pageScope.book }" />
    <input type="text" value = "${pageScope[‘book‘]}" />
    <input type = "text" value = "<%=request.getParameter("user_id")==null?"":request.getParameter("user_id") %>"  /><br/>
   param:相当于request.getParameter("user_id"); <input type= "text" value = "${param.user_id }" /><br/>
   paramValues(一key多值):相当于request.getParameterValues("user_id");<input type = "text" value= "${paramValues }" />

 

以上是关于session.setAttribute(key,value)的第二个参数可否是引用类型?的主要内容,如果未能解决你的问题,请参考以下文章

java session如何存取数据

session.setAttribute和session.getAttribute

EL表达式的11隐含对象

java里老是说key,这是啥东东?

如何往session对象保存和取出数据?

session对象的使用