我将用户信息保存到session对象中,为什么在JSP页面中调用不起来! 5

DB.java//把登录人的信息保存到session对象中publicStringmyLogin(HttpServletRequestrequest,Stringuser... DB.java

//把登录人的信息保存到session对象中
public String myLogin(HttpServletRequest request,String userName){
try{
ArrayList<UserNameBean> listName=null;
HttpSession session=request.getSession();
listName=new ArrayList<UserNameBean>();
rs=selectMess(request,userName);
if(rs.next()){
rs=selectMess(request,userName);
while(rs.next()){
UserNameBean mess=new UserNameBean();
mess.setUserName(rs.getString("username"));
mess.setPassword(rs.getString("password"));
listName.add(mess);
session.setAttribute("userName", listName);
}
}else{
session.setAttribute("userName", listName);
}
return "ok";
}catch(Exception e){
e.printStackTrace();
return null;
}
}

toop.jsp

<%
String loginname=null;
ArrayList login=(ArrayList)session.getAttribute("userName");
if(login==null||login.size()==0){
loginname="";
}else{
for(int i=login.size()-1;i>=0;i--){
UserNameBean nm=(UserNameBean)login.get(i);
loginname=nm.getUserName();
}
}

%>
<td>欢迎<%=loginname%>进入本系统</td>

loginname获取的值为什么总是null.是不是登录信息没有保存到session对象中!
展开
 我来答
百度网友60ba0a5
2014-03-18 · TA获得超过231个赞
知道小有建树答主
回答量:544
采纳率:100%
帮助的人:210万
展开全部
这段代码写的不好,if(rs.next())的出来的只可能是一条数据。按照你的意思应该是按照用户名来查询的。如果用户名是不重复的话。

另外session能不能取到首先要看,有没有放进去,如果if(rs.next())没有值的话,进到else里面,此时的listName为null,那么对于session来说key为userName的value显然就是空。

至于为什么取不到,你可以debug下,或者打印下sql语句定位下原因
hongmao1991
2014-03-18 · TA获得超过128个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:178万
展开全部
建议你先测试一下 加入session之后马上取出来 打印一下 看有没有输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
see198764
2014-03-18 · TA获得超过416个赞
知道小有建树答主
回答量:197
采纳率:100%
帮助的人:56.8万
展开全部
有没有进到if里面去啊,会不会直接进else了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
forGKH
2014-03-18 · TA获得超过209个赞
知道小有建树答主
回答量:342
采纳率:100%
帮助的人:186万
展开全部
session是会话的意思,一个用户登陆上去就是一个session!你这是同一个用户登陆的会话么?
如果是应该是没问题的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式