2017-07-03 59 views
-1
it is moving forward on any user name or password.let me know the correct solution for this. 

这是我dao.java类我必须做的登录表单验证,如果密码匹配,将前进

public List <Student> getLogin() { 
    return template.query("select * from auction", new RowMapper <Student>() { 

    @Override 
    public Student mapRow(ResultSet rs, int row) throws SQLException { 
     Student s = new Student(); 
     s.setName(rs.getString(1)) 
     s.setPassword(rs.getString(2)); 

     return s; 
    } 
    }); 
} 

这是我controller.java亲切纠正我的代码....什么我需要做的一些更改

@RequestMapping(value="/addLogin",method=RequestMethod.GET) 
public String addLogin(@ModelAttribute("SpringWeb")Student s, Model model) { 
    List<Student> list=dao.getLogin(); 
    List <Student> b=dao.getStudentRecord(); 
    String name=s.getName(); 
    String password=s.getPassword(); 
    if(name.equals(list) && password.equals(list)) { 
    model.addAttribute("welcome",name); 
    model.addAttribute("record",b); 
    return "change"; 
    } else { 
    model.addAttribute("login","Wrong Username or Password"); 
    return "login"; 
    } 
} 
+0

这可能有助于https://spring.io/guides/gs/validating-form-input/ –

+0

但所有关于大小和空间验证...我想检查我的密码,存储在用户提示密码数据库... –

+0

如果两者都相同,那么只有它会向前移动...这是我的条件..plz帮助 –

回答

0

您不需要查询所有用户进行登录。而不是将查询更改为

"select * from auction where userName=? and password=?" 

在服务中检查查询是否返回任何行。如果查询返回一行,则登录成功,否则登录失败。

所以春季实现变得..

template.queryForList("select * from auction where userName=? and password=?", new Object[]{userName, password}); 
+0

那么我需要在控制器端做什么样的改变? –

+0

谢谢..我从你的参考得到答案..我会尝试它......也解释在https://dzone.com/articles/spring-mvc-example-for-user-registration-and-login-1 –

+0

公益助学的ValidateUser(学生S){ \t \t字符串SQL = “从拍卖选择*其中名称='” + s.getName()+ “ '和密码='” + s.getPassword() \t \t +“ ““; \t \t列表 list = template.query(sql,new StudentMapper()); \t \t return list.size()> 0? list.get(0):null; \t \t} } 类StudentMapper实现的RowMapper { \t公共学生mapRow(结果集RS,INT ARG1)抛出的SQLException { \t学生S =新学生(); \t s.setName(rs.getString(“name”)); \t s.setPassword(rs.getString(“password”)); \t return s; \t} } –