关于验证码==null
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积分~
来为老师/同学的回答评分吧
0 星