关于验证码==null
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | package com.imooc.register.verify; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.imooc.register.basics.User; import com.imooc.service.achieve.UserServiceImpl; import com.imooc.service.impl.UserService; @WebServlet ( "/VerifyServlet" ) public class VerifyServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 验证验证码: // 获取session中保存的验证码信息 String verifyCode1 = (String) request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY); // 接收前台表单提交的验证码信息 String verifyCode2 = request.getParameter( "verifyCode" ); if (verifyCode2.equals( "" )) { request.setAttribute( "faile" , "请输入验证码!" ); request.getRequestDispatcher( "/login.jsp" ).forward(request, response); } else if (!verifyCode2.equalsIgnoreCase(verifyCode1)) { request.setAttribute( "faile" , "验证码输入不正确!" ); request.getRequestDispatcher( "/login.jsp" ).forward(request, response); } else { // 验证账号密码: // 获得参数username和password String username = request.getParameter( "username" ); String password = request.getParameter( "password" ); // 进行封装 User user = new User(username, password); // 获得context属性中的userList List<User> userList = (List<User>) getServletContext().getAttribute( "userList" ); // 初始化接口 UserService userService = new UserServiceImpl(); // 调用接口验证username和password User existUser = userService.login(userList, user); if (existUser == null ) { // 登录失败 request.setAttribute( "faile" , "用户名或密码错误!" ); // response.sendRedirect(request.getContextPath()+"/login.jsp"); request.getRequestDispatcher( "/login.jsp" ).forward(request, response); } else { // 登录成功 request.getSession().setAttribute( "existUser" , existUser); // request.getRequestDispatcher("/categoryList.jsp").forward(request, response); response.sendRedirect(request.getContextPath() + "/categoryList.jsp" ); } } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } |
想分的更加细致一些,发现书写 if (verifyCode2==null) 无法赋值,似乎文本框不填东西 默认有值
当写 if (verifyCode2.equals(""))时 正常运行
这是为什么?
17
收起
正在回答
2回答
同学你好,是的, null不等同于“”如:,String str=null和String str="";
null:是指对象的引用并不指向任何的对象。
“”:是指空字符串,str指向一个空串。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧