jsp页面中判断session为空

<%StringuserName=session.getAttribute("userName").toString();%>这样写,首次登陆会报错,但是:<%Strin... <%
String userName = session.getAttribute("userName").toString();
%>
这样写,首次登陆会报错,但是:
<%
String userName = session.getAttribute("userName");
%>
这样写就不报错了,为什么,请解释?
上面写错了:
改成:String userName = (String)session.getAttribute("userName");
就正常了,麻烦大家解释,谢谢!
展开
 我来答
狂暎8j
推荐于2017-09-14 · TA获得超过723个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:273万
展开全部
空指针异常,解释如下:
session.getAttribute("userName“)首次返回值肯定是null,
因此 String userName = null, 然后你后调username.tostring();就相当于写null.toString();
明显空指针。

第二种写法虽然也返回null,但是String username = (String)null,这句没有语法错误,返回结果是null。

呵呵,明白了吧
千锋教育
2015-12-15 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
jsp中判断session为空的办法是从session取值:
比如代码从session中取adminname;如果是null,证明session是空的。
<% String name=(String)session.getAttribute("adminname");
if(name!=null){%>
+显示内容
<%}else{ %>
<%response.sendRedirect("index.jsp"); %>
<%} %>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-06-01
展开全部
首先要弄清楚session.getAttribute()的返回值的数据类型,再看看有没有toString()方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
boluofree
2018-04-15
知道答主
回答量:2
采纳率:0%
帮助的人:1630
展开全部
首次登陆,session里面还没有“userName”得嘛,getAttribute得到的结果就是null啊,然后你又调用null的toString()方法,就会报NullPointerException啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kellerxq
2018-03-31 · 超过10用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:13.8万
展开全部
首次登陆session.getAttribute("userName")为NULL,而NULL.toString()会报错。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式