
问题严重的我都不想讲了。你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,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)