Может кто-нибудь сказать мне, почему это не работает?Я хотел бы иметь возможность проверить, если имя пользователя / пароль, возвращаемый из запроса БД, равно значению.
Атрибут сеанса "loginSuccess" всегда возвращает false, даже если значения должны совпадать.
<%@ page language="java" import="java.sql.*" %>
<%
String driver = "oracle.jdbc.driver.OracleDriver";
Class.forName(driver).newInstance();
Connection con = null;
ResultSet rst = null;
Statement stmt = null;
try {
String url = "jdbc:oracle:thin:username/password@url:port:SID";
con = DriverManager.getConnection(url);
stmt = con.createStatement();
} catch (Exception e) {
System.out.println(e.getMessage());
}
if (request.getParameter("action") != null) {
rst = stmt.executeQuery("select username, password"
+ " from table");
}
%>
<%
boolean loginCheck = false;
int count = 1;
while (rst.next()) {
if(request.getParameter("action")!=null){
if("username1"==rst.getString("username")){
if("password1"==rst.getString("password")){
loginCheck = true;
}
}
}
count++;
}
if(loginCheck==true){
session.setAttribute("loginSuccess", "true");
}else{
session.setAttribute("loginSuccess", "false");
}
rst.close();
stmt.close();
con.close();
%>
<jsp:forward page="login.jsp"/>