servlet获取session中的值,为什么获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!

servlet获取session中的值,为什么获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!,第1张

问题严重的我都不想讲了。你getUser这个方法设计的简直不是失败能形容的了。你是不是在想,我传进去一个user,在这个方法里面,如果找到了,就把这个传过来的user指向找到的user。如果是的话,大哥,那原来的那个user,还是你新建出来的。跟你这个到数据库中找出来的没关系。唉。。。

你可以这样改啊。

public User getUser(String username,String password) {

User user = null;

List list=null;

String sql="select id,username,password from users where username= and password=";

String params[] = { username,password};

try {

QueryRunner qr = DbcgetQueryRunner();

list = (List) qrquery(sql, new BeanListHandler(Userclass),params);

if(listsize()>0){

user = (User) listget(0);

}

} catch (SQLException e) {

throw new DaoException(egetMessage(), e);

}

return user;

}

然后在该用这个方法的地方,你完全可以判断返回回来的user是不是null,来判断你传过去的username和password是不是能找到user明白了不?

session是后台服务器端的变量,而js是前段脚本,在js中是没有现成的方法获取session的值的,需要通过服务器语言来获取。

比如java就可以用来获取session的值,再赋值给js变量。以jsp为例,通过:var id = '<%=sessiongetAttribute("id")%>';java代码用单引号引起来,java中字符串变量用双引号。

示例我们可以做一个jsp简单的页面显示session的值:先将session值置为Imsession,然后显示。调用jsp代码来运行。

<html>  

<head>  

<title>自定义浏览页面</title>  

<script type="text/javascript">    

function x(){

<%sessionsetAttribute("id","Imsession");%>

var id = '<%=sessiongetAttribute("id")%>';  

alert("session是"+id);

} </script>  

</head>  

<body>  

<input type ="button" onClick="javascript:x();" value="session">      

</body>  

</html>  

这样就可以获取所有数值了。

>

代码如下:

>

if(session!=null){

//如果sessionID不等于空,则说明是第二次访问

//写第二次访问时的代码

}else{

//写第一次访问的代码

}

java web怎么通过sessionid得到session这个我们不需要了解,就是第二次客户端发出请求时,将sessionid也发给了服务器,服务器根据这个唯一的ID找到相应的session(session都是保存在服务器的数据库中,每个session用唯一一个ID所标识),就像是数据库中根据关键字查找数据一样,找到之后就可以直接用这个session里面的数据了。

以上就是关于servlet获取session中的值,为什么获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!全部的内容,包括:servlet获取session中的值,为什么获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!、java怎么获取session中所有的值、怎么用session保存用户登录信息,在所有的servlet中都能获取到session中的值,我试过,输出session的Id,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9576457.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存