request.getSession().setAttribute("regUser", u);
<jsp:useBean id="regUser" class="entity.Users" scope="session"/>
这两者之间有什么关系吗?
为什么在<jsp:useBean>中实例的regUser就是session中的实例regUser。而且就能直接调用。
<jsp:useBean>中实例的regUser里面的内容不应该直接为空吗?
request.getSession().setAttribute("regUser", u);
向session 域 中存放一个user对象 这个对象代号为regUser 重点理解"域"这个字的含义
<jsp:useBean id="regUser" class="entity.Users" scope="session"/>等价于request.get
实例化一个Users对象 从作用范围scope="session"中寻找代号为id="regUser"这个的对象
class="entity.Users"是user这个bean的地址 通过这样的方式就可以拿到user的对象u了
简化了操作(以往拿到对象 还要在jsp页面写java脚本 通过导包 new user() 的方式)
这两者之间有什么关系吗?
关系就是你往域里存东西 我从域里拿东西
为什么在<jsp:useBean>中实例的regUser就是session中的实例regUser。而且就能直接调用。
<jsp:useBean>中实例的regUser里面的内容不应该直接为空吗?
因为我们session里存的就是user对象 这样就可以找到啊
不理解的话可以百度看看servlet的四大作用域 page request session application 作用域范围依次递增
<jsp:useBean> 指的是创建一个Bean实例并指定它的名字和作用范围;<jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>首先会试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模版中进行示例;因为指定作用范围是session;