2013-07-01 81 views
0

我正在使用sendRedirect()方法。但事實並非如此。請看看下面的代碼: -無法重定向JSP

<%@page import="utility.ConnectionClass,java.sql.* "%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>processadmin</title> 
    </head> 
    <body> 
     <% 
      Connection con=null; 
      ConnectionClass obj=new ConnectionClass(); 
      con=obj.createConnection(con); 
      String user=request.getParameter("user"); 
      String pass=request.getParameter("pass"); 
      String sql="select * from admin where username='"+user+"'"; 
      Statement stat=con.createStatement(); 
      ResultSet rs=stat.executeQuery(sql); 
      rs.next(); 
      if((rs.getString(1)==user)&&(rs.getString(2)==pass)) 
       response.sendRedirect("processadmin.jsp"); 
      else 
      out.println("Not working"); 
     %> 
    </body> 
</html> 

當我運行此我得到的輸出: - 使用equals()方法不工作

+1

你應該逐漸[避免](http://stackoverflow.com/q/3177733/1037210)這個可惡的腳本,這是**高度沮喪超過十年。 – Lion

回答

2

比較String==比較字符串引用,而不是String的實際內容。

if(user.equals(rs.getString(1)) && pass.equals(rs.getString(2))) 

注: -請不要在JSP中使用小腳本。這是一個不好的做法。閱讀this

+0

謝謝,它的工作 –

+0

@VinayJain然後接受答案。在任何輸出(如'')和'return'之前,最好在頂部執行代碼。只是因爲緩衝,在sendRedirect時刻還沒有寫入任何內容。 –