@RequestMapping("ForgetPwd.action") public String ForgetPwd() { this.front(); String username = this.getRequest().getParameter("username"); String email = this.getRequest().getParameter("email"); String vcode = this.getRequest().getParameter("vcode"); if(vcode.equals("") && vcode.length() != 6){ this.getSession().setAttribute("message", "请输入完整信息"); return "redirect:/index/preForget.action"; } Users u = new Users(); u.setUsername(username); List<Users> usersList = this.usersService.getUsersByCond(u); if (usersList.size() == 0) { this.getSession().setAttribute("message", "用户名不存在"); return "redirect:/index/preForget.action"; } else { Users users = usersList.get(0); if (email.equals(users.getEmail()) && vcode.length() == 6) { this.getSession().setAttribute("userid", users.getUsersid()); this.getSession().setAttribute("username", users.getUsername()); this.getSession().setAttribute("users", users); this.getSession().setAttribute("message", "您的密码为:"+users.getPassword()); return "redirect:/index/index.action"; }else{ this.getSession().setAttribute("message", "请输入正确验证码"); return "redirect:/index/preForget.action"; } } }解析该段每句代码
时间: 2023-06-27 08:08:13 浏览: 90
1. `@RequestMapping("ForgetPwd.action")`: 声明一个请求映射,将请求映射到名为"ForgetPwd.action"的方法上。
2. `public String ForgetPwd() {`: 声明一个返回字符串的方法名为"ForgetPwd",该方法没有参数。
3. `this.front();`: 调用该类的父类方法"front",实现对请求的处理。
4. `String username = this.getRequest().getParameter("username");`: 从请求中获取参数名为"username"的值,并将其赋值给变量"username"。
5. `String email = this.getRequest().getParameter("email");`: 从请求中获取参数名为"email"的值,并将其赋值给变量"email"。
6. `String vcode = this.getRequest().getParameter("vcode");`: 从请求中获取参数名为"vcode"的值,并将其赋值给变量"vcode"。
7. `if(vcode.equals("") && vcode.length() != 6){`: 判断变量"vcode"的值是否为空或长度不等于6。
8. `this.getSession().setAttribute("message", "请输入完整信息");`: 将一个名为"message"的属性,值为"请输入完整信息"存储在当前会话中。
9. `return "redirect:/index/preForget.action";`: 返回到名为"preForget.action"的页面。
10. `Users u = new Users();`: 创建一个"Users"对象。
11. `u.setUsername(username);`: 将变量"username"的值赋给对象"u"的"username"属性。
12. `List<Users> usersList = this.usersService.getUsersByCond(u);`: 调用"usersService"对象的"getUsersByCond"方法,将"u"对象作为参数传入,并将返回值赋给"usersList"变量。
13. `if (usersList.size() == 0) {`: 判断"usersList"变量的长度是否为0。
14. `this.getSession().setAttribute("message", "用户名不存在");`: 将一个名为"message"的属性,值为"用户名不存在"存储在当前会话中。
15. `return "redirect:/index/preForget.action";`: 返回到名为"preForget.action"的页面。
16. `} else {`: 如果"usersList"变量的长度不为0,则执行以下代码。
17. `Users users = usersList.get(0);`: 从"usersList"变量中获取第一个"Users"对象,并将其赋值给"users"变量。
18. `if (email.equals(users.getEmail()) && vcode.length() == 6) {`: 判断变量"email"的值是否等于"users"对象的"email"属性的值,且变量"vcode"的长度是否为6。
19. `this.getSession().setAttribute("userid", users.getUsersid());`: 将"users"对象的"usersid"属性存储在名为"userid"的属性中。
20. `this.getSession().setAttribute("username", users.getUsername());`: 将"users"对象的"username"属性存储在名为"username"的属性中。
21. `this.getSession().setAttribute("users", users);`: 将"users"对象存储在名为"users"的属性中。
22. `this.getSession().setAttribute("message", "您的密码为:"+users.getPassword());`: 将一个名为"message"的属性,值为"您的密码为:xxxx"(xxxx为"users"对象的"password"属性的值)存储在当前会话中。
23. `return "redirect:/index/index.action";`: 返回到名为"index.action"的页面。
24. `}else{`: 如果变量"email"的值不等于"users"对象的"email"属性的值,或者变量"vcode"的长度不为6,则执行以下代码。
25. `this.getSession().setAttribute("message", "请输入正确验证码");`: 将一个名为"message"的属性,值为"请输入正确验证码"存储在当前会话中。
26. `return "redirect:/index/preForget.action";`: 返回到名为"preForget.action"的页面。
27. `}`: 结束"if-else"语句块。
28. `}`: 结束"ForgetPwd"方法。
阅读全文