问题描述
用springmvc写了个用户登录,只有数据库中一个数据能验证后跳转主页,其他都不行??
问题出现的环境背景及自己尝试过哪些方法
我一直以为是我的mybatis有问题,然后我用传统的jdbc写了一次,还是没有通过验证。。。。。
过程描述:
我输入 用户名:admin 密码:admin后,页面正常跳转,去往主页;
但是,我使用,用户名:a 密码:a后,页面没有跳转,还在登录界面;
这是我的数据库表格:
id userName userPassword dataTime
1 admin admin null
2 a a null
3 1 1 null
相关代码
粘贴代码文本(请勿用截图)
@RequestMapping("/checkUser")
public void check(User user, HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException {
if(user != null){
//暂时不做三层架构,直接在Controller层表现
//1.加载配文件
InputStream resourceAsStream = null;
try {
resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
InterUser mapper = sqlSession.getMapper(InterUser.class);
//dbusers从数据库查询的用户信息
List dbusers = mapper.searchAll();
//上方的代码是加载mybatis配置文件后,获取对象
System.out.println("用户输入的名称"+user.toString());
//进行遍历
for(User dbu : dbusers){
if(dbu.getUserName().equals(user.getUserName()) && dbu.getUserPassword().equals(user.getUserPassword())){
System.out.println("这里是实施四四数据库获取用户的名称"+user.toString());
String name=dbu.getUserName();//获取用户名称
session.setAttribute("sessionName",name);
try {
request.getRequestDispatcher("/data/searchByPage").forward(request,response);
} catch (ServletException e) {
e.printStackTrace();
}
return;
}else {
//验证错误,则返回登录页面
try {
request.getRequestDispatcher("/index.jsp").forward(request,response);
} catch (ServletException e) {
e.printStackTrace();
}
}
}
}
}
你期待的结果是什么?实际看到的错误信息又是什么?
我希望我的数据库里的其他数据也能通过验证;
我使用用户名用户名:a和密码:a后;控制台输出:
用户输入的名称User{id=null, userName='a', userPassword='a', dateTime=null}
这里是实施四四数据库获取用户的名称User{id=null, userName='a', userPassword='a', dateTime=null}
从这可以看出,已经判断成功了,为啥没有跳转呢??谢谢大家