I am getting data which is windows-1251 encoded in my JSP page from file/DB and printing it using the implicit out variable. But I see only a sequence of '?'
Most probably you are getting windows-1251 char codes in strings instead of unicode char codes. Write a method to print character values as hex to see what you are really getting from server.
Problem lies either in JDBC-ODBC bridge settings (you can set correct character encoding for conversion using properties when you open a DB connection), or in JDBC driver (I had similar problems with PostgreSQL driver).