session.getattribute,sessiongetattribute方法
当然不是 servlet有3个scopesession.getattribute,request,session,servletcontext 没有所谓session.getattribute的内置名字 quotVisited”这个必然是上下文中定义的,如果session中没有定义quotVisitedquot或者定义了quotVisitedquot的session过期了,sessiongetAttributequotVisitedquot反悔的是null 其实上面这段代码就是初始化以quotVisitedquot为名字的对象到session这个scope。
中可以直接获取session对象如果说我们要保存用session保存用户名和密码可以这样写 ltp ltp lt% sessionsetAttribute#39username#39,#39admin#39ltp style=#39msotabcount1#39 sessionsetAttribute#39password#39,#39admin#39 % ltp 获取用户名和密码时lt% sessiongetAttribute#39username#39 %。
String DATA_PRIV=StringsessiongetAttributequotDATA_PRIVquot从session的属性中将一个名字为“DATA_PRIV”的属性取出来赋给变量DATA_PRIVDATA_PRIV=DATA_PRIV==null?quot0quotDATA_PRIV这句话里面包含了多元运算你可以拆开来看按照运算的优先级来拆 1DATA_PRIV==null?quot0quotDATA_PRIV如果。
你在session中设置的是User对象,所以你通过session去取时,也只能取到User对象 User user = User SessiongetAttributequotloginUserquot然后判断user不为空和usergetUsername不为空 String。
空指针异常,解释如下sessiongetAttributequotuserName“首次返回值肯定是null,因此 String userName = null, 然后你后调usernametostring就相当于写nulltoString明显空指针第二种写法虽然也返回null,但是String username = Stringnull,这句没有语法错误,返回结果是null呵呵,明白。
sessiongetAttribute方法是有参数的是一个字符串 这个Attribute 其实是一个map 这个字符串是键 返回这个键对应的值返回的是一个对象就是Object如果你需要确定返回类型你必须强转session set attribute会话设置属性双语例句1If the scope attribute is set to session, the。
可以用JSP的内置对象session来解决保存账户信息的问题,使用方法如下sessionsetAttributequotsessionNamequot,Object用来设置session值的,sessionName是自己取得一个名称,object是你要保存的对象你这里就应该把账户作为一个对象传入sessiongetAttributequotsessionNamequot根据你上面自己取得名称得到对应名称的。
sessionsetAttribute是该方法的基本语法,其中key是要存储的数据的键名,value是与该键关联的值例如,如果想在会话中存储一个名为”username”的用户名,可以这样做sessionsetAttribute存储和检索数据使用sessionsetAttribute存储数据后,可以使用sessiongetAttribute来检索之前存储的值例如,var。