jsp界面调用servlet中设置的bean,得到null的原因总结

本文详细阐述了JSP页面中Bean的加载过程及其作用,包括如何通过useBean标签加载Bean,以及Bean的生命周期管理等内容。同时,文章还强调了在Servlet与JSP交互过程中属性名和作用域的一致性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bean的加载原理:(当jsp界面使用jsp动作标记useBean加载一个bean时,jsp引擎将首先根据jsp动作标记useBean给出的bean的id的名字以及scope给出的使用范围(bean生命周期),在一个同步块中查找jsp引擎内置pageContent对象中是否含有这样的bean。如果这样的bean存在,jsp就分配给用户这样的bean;如果没有,会新创建一个,并将其添加到pageContent内置对象中。
作用:从jsp引擎创建bean的过程可以看出,首次创建一个新的bean需要用相应的字节码文件创建对象,当某些jsp界面在需要同样的bean时,jsp引擎直接将内置的pageContent中已经有的bean分配给jsp页面,提高了jsp使用bean的效率。)

1、属性名的问题:在servlet中的session.setAttribute(“bean”,bean);,加引号的那个东西,即属性名,必须要和其转向的.jsp界面中标签中的id名一致。
2、scope的问题:.jsp界面中的scope要和servlet中设置属性的范围相对应。即:
这里写图片描述

3、粗心大意:将property的名字写错等等。
这是目前我亲身经历找到的原因,希望对你有所警示!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值