It's true that return type of method is boolean. Reason is the method tries to move the record pointer to the first record, if the recrodset has any record it will return true or else false. So after calling rs.first(), if you get true value, you are pointed on the first record. Now if you retrieve column values from here, you will get the values of first record.
I could not get your query very clearly. What exactly do you mean by current record? Once a recordset is created the pointer is typically before the first row. Calling next takes you the next row, calling previous takes you to the previous row. Apart from these you have methods like first,last,relaive,absolute etc. So, what exactly do you mean by current record. Could you please elaborate a more?
Ok, as much as I understood probably your code is taking you the first record, correct me if I am wrong. But probably you wish to move to the exactly the previous record from the current record, right? Moreover as because it's a servlet application, every time the request goes, the pointer is pointed before the first row, right?