servlet获取session中的值,为啥获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet获取session中的值,为啥获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!相关的知识,希望对你有一定的参考价值。
使用jsp+servlet+dao 设计模式
接口:UserDao.java
public interface UserDao
public boolean getUser(User user);
public void changePassword(User user,int id);
接口的实现:UserDaoJdbcImpl.java
public class UserDaoJdbcImpl implements UserDao
@Override
public boolean getUser(User user)
boolean flag = false;
List list=null;
String sql="select id,username,password from users where username=? and password=?";
String params[] = user.getUsername(),user.getPassword();
try
QueryRunner qr = Dbc.getQueryRunner();
list = (List) qr.query(sql, new BeanListHandler(User.class),params);
if(list.size()>0)
flag=true;
user = (User) list.get(0);
catch (SQLException e)
throw new DaoException(e.getMessage(), e);
return flag;
@Override
public void changePassword(User u,int id)
String sql="update users set password=? where id="+id;
try
System.out.println("id是"+id);
System.out.println(u.getPassword());
QueryRunner qr = Dbc.getQueryRunner();
qr.update(sql, u.getPassword());
System.out.println("555555");
catch (SQLException e)
throw new DaoException(e.getMessage(), e);
你可以这样改啊。
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 = Dbc.getQueryRunner();
list = (List) qr.query(sql, new BeanListHandler(User.class),params);
if(list.size()>0)
user = (User) list.get(0);
catch (SQLException e)
throw new DaoException(e.getMessage(), e);
return user;
然后在该用这个方法的地方,你完全可以判断返回回来的user是不是null,来判断你传过去的username和password是不是能找到user.明白了不?本回答被提问者采纳 参考技术B 大兄弟你好了吗。我也是这问题
如何让php获取session的值
首先如果是文本存储session请注意浏览器的cookie是否关闭,如果关闭了正常情况下是无法使用session的,只能通过url路由去传递session的id值实现调用session,如果是数据库中的session请设置session的存储方式 参考技术A 12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
存储 Session 变量
存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:本回答被提问者采纳 参考技术B session的值都在$_SESSION数组里面,按照存的键取用。可以用print_r打印出全部内容。
以上是关于servlet获取session中的值,为啥获取用户id时每次得到的都是id=0(数据库中为1),其他的字段没问题!的主要内容,如果未能解决你的问题,请参考以下文章
如何在servlet中获得session的值,并且把获得的值赋给网页中的文本域