2015-05-01 1 views
-1
try { 
      stmt = conn.createStatement(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 

     String lEmail=""; 
     String lPassword=""; 
     String type=""; 
     String doc="Doctor"; 
     String pat="Patient"; 
     ResultSet rs; 

     try{ 
      String sql; 
      sql = "SELECT lEmail, lPassword, userType FROM tblLogin "; 

      rs = stmt.executeQuery(sql); 

       if(rs.next()) 
       { 
        lEmail = rs.getString("lEmail"); 
        lPassword = rs.getString("lPassword"); 
        type = rs.getString("userType"); 
       } 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     }finally{ 
      rs.close(); 
      stmt.close(); 
      conn.close(); 
     } 

Есть 3 условия для пользователя: email id, password, userType. Есть ли какая-либо проблема с этими условиями или она находится внутри блока try/catch или если другое условие неверно?не удается перенаправить пользователя на определенную страницу jsp с входа в систему, используя сервлеты

 if(txtId.equals(lEmail) && txtPassword.equals(lPassword)&& doc.equals(Type)){ 
      request.getRequestDispatcher("doctor.jsp").forward(request, response); 
     }else if(txtId.equals(lEmail) && txtPassword.equals(lPassword)&&Type.equals(pat)){ 
      request.getRequestDispatcher("patientView.jsp").forward(request, response); 
     }else{ 
      out.println("Your Id and Password do not match"); 
     } 

ответ

0

Ваша проблема в том, что вы перенаправляете своего диспетчера дважды (даже если он совершается один раз). в вашем сервлете вы можете использовать .forward(req,res) только один раз.

что вы можете сделать, назначьте свой url страницы строковой переменной и в конце условного блока вы пересылаете его только один раз, используя строковую переменную, которую вы установили.

String url=""; 
if(txtId.equals(lEmail) && txtPassword.equals(lPassword)&& doc.equals(Type)){ 
      url = "doctor.jsp"; 
     }else if(txtId.equals(lEmail) && txtPassword.equals(lPassword)&&Type.equals(pat)){ 
      url = "patientView.jsp"; 
     }else{ 
      url = "errorPage.jsp" /* if you have any */ 
      out.println("Your Id and Password do not match"); 
     } 
request.getRequestDispatcher(url).forward(request, response); 

Теперь вы можете видеть, я использовал диспетчера только один раз. попробуйте этот путь и посмотрите.