使用if语句判断结果报错

问题遇到的现象和发生背景

使用if语句判断用户注册时是否填写了用户名和密码结果报错

遇到的现象和发生背景,请写出第一个错误信息

直接点击注册会跳转到

img


输入用户名但是两次密码不一致会跳转到

img


不输入用户名但是两次密码一样也是如上图

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

img

@WebServlet(name = "RegisterServlet", urlPatterns = "/Register")
public class RegisterServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //解决网页乱码问题
    response.setContentType("text/html;charset=utf-8");
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");//设置编码
    String name = request.getParameter("name");
    String pwd = request.getParameter("pwd");
    String pwd2 = request.getParameter("pwd2");
    PrintWriter out =   response.getWriter();
    if(pwd==null&&pwd2==null) {
        if (pwd.equals(pwd2)){
        try {
            Database database=new Database();
            database.insert(name,pwd);
            out.println("注册成功");
    ArrayListusedata=database.getAlluser();
    out.println("请返回登陆界面"+"返回登入");

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            out.println("注册失败");
        } catch (SQLException throwables) {
            throwables.printStackTrace();
            out.println("注册失败2");
        }
        }else {
            out.println("两次输入的密码不一致");
            out.println("请返注册页面"+"返回注册");
        }
    }else {
        out.println("请输入密码");
        out.println("请返注册页面"+"返回注册");

    }
    }



@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request,response);
}

}

运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

应该是else 里面的内容和try 弄混了,但是我该怎么改?

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

1 灰色的那个是因为那个变量没有在任何地方使用,所以IDEA 会这样灰色显示提示你
2 后面那个判断你写错了 if (pwd == null && pwd2 == null) 这个按照你的代码逻辑实际上应该是 if (pwd != null && pwd2 != null)