Java 结果为null,程序未输入if语句

Java 结果为null,程序未输入if语句,java,servlets,Java,Servlets,//多普斯特法 @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String password = null; response.setContentType("text/html;charset=UTF-8"); Pr

//多普斯特法

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String password = null;
       response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String parm;
        parm=request.getParameter("user_name");
        String User_name=parm;
        parm=request.getParameter("National");
        int National_ID=Integer.parseInt(parm);
        try{
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=My_Project;integratedSecurity=true;applicationName=WebApplication2;");
    String sqlquery="select * from Users where First_Name='" + User_name + "'and National_ID='" +National_ID + "'";
        PreparedStatement ps=con.prepareStatement(sqlquery);
    rs=ps.executeQuery();
        if(rs.next()){

            password=rs.getString(9);

         }
    }catch(SQLException e){} catch (ClassNotFoundException ex) {
        Logger.getLogger(Forget.class.getName()).log(Level.SEVERE, null, ex);
    }
             //ds.ss(User_name, National_ID);
             //String password=ds.password;
            //  String password=new DataBase().(User_name,National_ID);
            /* TODO output your page here. You may use following sample code. */
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet Forget</title>");            
            out.println("</head>");
            out.println("<body>");
           out.println("<h1>Your Password  " + password + "</h1>");
            out.println("</body>");
            out.println("</html>");

    }

//结果仍然为空

首先,我想告诉您,在编写代码时请遵循适当的java约定。当你发帖时,请用正确的格式发帖。通过适当的异常消息或stacktrace使用异常处理来识别问题

我刚改变了你的发帖方式。使用它,看看它是否有效。注意:我假设您的JDBC连接在没有任何isse的情况下运行良好:

@凌驾 受保护的无效doPostHttpServletRequest请求、HttpServletResponse响应 抛出ServletException、IOException{ response.setContentTypetext/html;charset=UTF-8; PrintWriter out=null; 字符串密码=null; 字符串userName=request.getParameteruser\u name; 字符串nationalVal=request.getParameterInternational; 国际国内=0; ifnational!=null&&!national.isEmpty{ national=Integer.parseIntnationalVal; } 结果集rs=null; 语句st=null; 连接con=null; 试一试{ out=response.getWriter; Class.forNamecom.microsoft.sqlserver.jdbc.SQLServerDriver; con=DriverManager.getConnectionjdbc:sqlserver://localhost:1433;databaseName=My_项目;integratedSecurity=true;applicationName=WebApplication2;; String sqlQuery=从用户中选择密码,其中First_Name='+User_Name+'和National_ID=+National_ID; st=con.createStatement; rs=st.executeQuerysqlQuery; ifrs.next{ 密码=rs.getString9; } }CatchSQLE异常{ e、 打印跟踪; } out.println; out.println; out.println; out.printlnServlet忘记; out.println; out.println; out.println您的密码+密码+; out.println; out.println;
}您正在使用一个准备好的语句,尽管您在所述查询语句中连接值没有确切的原因。请不要重新发布问题。很多这样的代码让我畏缩。建议使用断点,并确保您的jdbc连接有效。首先,非常感谢您的帮助,但问题仍然存在。结果仍然为空。您获得的用户名和国家值是多少。。?打印出来,让我知道。