session.setAttribute报错_java string contains方法

session.setAttribute报错_java string contains方法HTTPSession在setAttribute时,保存的对象是否需要序列化?查看StandardSession源码中,在setAttribute()中有如下代码if((manager!=null)&&manager.getDistributable()&&!isAttributeDistributable(name…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

HTTPSession在setAttribute时,保存的对象是否需要序列化?

查看StandardSession源码中,在setAttribute()中有如下代码

 if ((manager != null) && manager.getDistributable() &&
          !isAttributeDistributable(name, value))
            throw new IllegalArgumentException
                (sm.getString("standardSession.setAttribute.iae", name));

 protected boolean isAttributeDistributable(String name, Object value) {
        return value instanceof Serializable;
 }

 manager接口:
	
    /**
     * Return the distributable flag for the sessions supported by
     * this Manager.
     */
    public boolean getDistributable();
	
    /**
     * Set the distributable flag for the sessions supported by this
     * Manager.  If this flag is set, all user data objects added to
     * sessions associated with this manager must implement Serializable.
     *
     * @param distributable The new distributable flag
     */
    public void setDistributable(boolean distributable);

 

在web.xml配置<distributable/>后, manager中的distributable变量为true,在setAttribute时会检查对象是否序列化。

 因此,session中的对象需不需要实现序列化,取决于是否支持分布式session。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184136.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android listview清空数据[通俗易懂]

    android listview清空数据[通俗易懂]privateListViewlistview;  privateArrayList>data;  privateSimpleAdapteradapter;        if(data.size()>0){data.removeAll(data);adapter.notifyDataSetChanged();

    2022年7月22日
    21
  • 什么是大数据架构?「建议收藏」

    什么是大数据架构?「建议收藏」什么是大数据架构?

    2022年4月21日
    38
  • DSP28335学习记录(一)

    DSP28335学习记录(一)本文记录dsp28335的各种外设的配置方法,常见模块的驱动方法,以及各种常见问题的解决方法,持续更新

    2022年10月19日
    1
  • java链表排序方法_java链表排序

    java链表排序方法_java链表排序插入排序    对链表进行插入排序,是最简单的一种链表排序算法,用于插入排序是迭代的,所以每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。    每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。    插入排序的时间复杂度为O(N^2),空间复杂度为O(1)cla

    2022年10月9日
    5
  • 手机框架_移动端框架_跨平台_汇总_哪个好[通俗易懂]

    uni-app【重点推荐】是一个使用Vue.js开发跨平台应用的前端框架,开发者编写一套代码,到7个平台,Android版iOS版H5版微信小程序版支付宝小程序版百度小程序版头条小程序版https://uniapp.dcloud.io/DCloud即数字天堂(北京)网络技术有限公司是W3C成员及HTML5中国产业联盟发起单位,旗下产品:…

    2022年4月12日
    42
  • Android 的singleTask和singleInstance的一点思考[通俗易懂]

    Android 的singleTask和singleInstance的一点思考[通俗易懂]目录导语一、几个概念1、概念区分2、android:taskAffinity二、详细描述下这四种启动模式三、singleTask简单分析1、实例2、验证singleTask的几个特点3、简单总结singleTask的特点四、singleInstance的简单分析1、验证singleInstance的几个特点2、简单总结singleInstance的…

    2022年6月26日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号