java - 无法将请求的参数与数据库条目匹配[Spring MVC 和 Hibernate ORM]

标签 java spring hibernate

我是 Spring 和 Hibernate 新手 我正在尝试向我的网络应用程序添加登录功能。我制作了一个表格并尝试像这样阅读表格,

@Autowired
public UserDAO userList; 

@RequestMapping(value="index/login/result" , params="go")
public String Authenticate(@RequestParam("Username") String name,
        @RequestParam("Password") String password,
        Model theModel){
    
   List<User> users= userList.getUsers();
   for(User x:users){
       if(x.getUsername().equals(name)&&x.getPassword().equals(password)){
           return "success"; //proceeds to next page
       }
       
   }
   
   return "index"; // returns to home page
}

但是没有任何作用,它永远不会进入 if block ,并且我已经确认 x.getUsername() 和 x.getPassword() 的值分别与名称和密码匹配。我能够成功读取数据库,所以我认为我的 DAO 没有任何问题。我正在使用 Eclipse 与 Tomcat 8 和 mysql。我不知道我错在哪里。

编辑1

我解决了问题,但我仍然无法找出问题的原因。我这样改变了 if 条件,

if(x.getUsername().equals(name.trim())&&x.getPassword().equals(password.trim()))

我比较了 x.getUsername() 和 (name) 的哈希码,结果发现它们是不同的,即使两个字符串看起来相同。所以我使用了trim方法来删除空格。那么谁能告诉我是什么导致了这些字符串的哈希码的变化。

最佳答案

我能想到的可能有两个问题:

  1. 无法访问 success.jsp。

  2. 如果条件不满足。

如果是if条件的问题则返回index.jsp。所以至少你应该能够看到其中一个jsp。

如果 success.jsp 无法访问,请检查它是否与“index”位于同一文件夹中。

如果没有任何 jsp 可以访问,请检查您的调度程序 servlet 并确保您已正确声明基本包。

关于java - 无法将请求的参数与数据库条目匹配[Spring MVC 和 Hibernate ORM],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40129219/

相关文章:

Java ArrayList 日期变量排序?

java - 文本在屏幕上不断滚动

java - 更新第三方jar的步骤

java - 如何使用 Spring 制作异步 REST?

java - 带有嵌套事务的 Spring JpaTransactionManager

java - 在 swagger-ui docker 中更改试用网址

java - 在 Spring 中动态设置 Java bean 验证消息

java - 我应该在 Spring REST 应用程序中使用什么类型的安全性

java - 如何创建一个每次请求时都会重新读取的 hibernate 集合?

java - 使用带*嵌套*复合主键的@IdClass 的 JPA 1.0 限制?