request.getSession().setAttribute("regUser", u); <jsp:useBean id="regUser" class="entity.Users" scope="session"/>两者关系

来源:1-11 Servlet获取表单数据

翼之龙

2017-04-07 11:25

request.getSession().setAttribute("regUser", u);
<jsp:useBean id="regUser" class="entity.Users" scope="session"/>
这两者之间有什么关系吗?
为什么在<jsp:useBean>中实例的regUser就是session中的实例regUser。而且就能直接调用。
<jsp:useBean>中实例的regUser里面的内容不应该直接为空吗?

写回答 关注

2回答

  • qq_二区_0
    2017-04-09 16:17:21

    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 作用域范围依次递增

    0110号建...

    这个页面不是又用<jsp:useBean>中实例化了一个对象regUser吗?可以去掉userinfo页面的这个<jsp:useBean>动作吗?既然已经在session里存了reguser对象?直接用<jsp:getproperty>来获得各个属性?

    2017-05-15 15:59:22

    共 1 条回复 >

  • 菜鸟_Dreamweaver_myk
    2017-04-07 16:57:50

    <jsp:useBean> 指的是创建一个Bean实例并指定它的名字和作用范围;<jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>首先会试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模版中进行示例;因为指定作用范围是session;

JAVA遇见HTML——Servlet篇

本门课程在JSP课程的基础上,深入介绍Servlet的基础知识

160615 学习 · 1029 问题

查看课程

相似问题