쿼리를 실행 한 경우에만 응용 프로그램에 로그인하는 것이 목적 인 서블릿을 작성했습니다 ... 이제 유효하지 않은 사용자 이름과 ID에 사용할 조건이 무엇입니까 ... 조건을 작성할 수 없습니다 .pls 도움말 나와 서블릿은 ... 서블릿이 ...다른 페이지로 리디렉션하기위한 조건은 무엇입니까?
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl ","scott","tiger");
System.out.println("cnnection est");
int Id = Integer.parseInt(request.getParameter("id"));
String Name=request.getParameter("firstname");
boolean b=true;
//Connection con =JdbcConnectionUtil.getConnection();
PreparedStatement pst = con.prepareStatement("select * from login where id=? and firstname=?");
pst.setInt(1, Id);
pst.setString(2, Name);
ResultSet rs = pst.executeQuery();
if(rs!=null && rs.next())
{
//while(rs.next()){
PrintWriter pw = response.getWriter();
System.out.println("here");
pw.println("hello");
pw.println(rs.getInt(1));
pw.println(rs.getString(2));
pw.println(rs.getString(3));
}
//}
else
{
RequestDispatcher rd = request.getRequestDispatcher("/LoginFailed.html");
}
//
}
catch(Exception ex){
ex.printStackTrace();
}
}
이 조건은 유효합니까 ?? if (rs! = null && rs.next()) – Anil
예, 그렇습니다. 결과 집합'rs'가 null/empty인지 확인합니다. 'userid'와'firstname'이 일치하지 않는 경우, 결과 집합'rs'는 비어있을 것이고 따라서 조건은 실패 할 것이고 else 블록에있는 문장이 실행될 것입니다. – Logan
@Anil :'rs! = null' 체크는 유용하지 않습니다. 'executeQuery()'메소드는 절대로 널 결과 세트를 반환하지 않습니다. –