I cannot use an applet as the records are from multple tables in a DB. This has got nothing to do with whether you can use an applet or not, that's up to how you code your
JDBC access and how you transfer the data to the applet. I've seen plenty of applets showing and accessing data from multiple tables, multiple databases and even mixing things like database access and web services.
The bottom line here is that if you want anything smarter than a basic HTML form with a bit of JavaScript validation you really have to use an applet. Especially if you want to use something like a JTable.
I can't stress this strongly enough: All the JSP does is build an HTML page and send it to the browser. The JSP code has finished running long before you see the page in the browser - if you "view source" on the results of a JSP in a browser you don't see
Java, just the HTML it has generated. You cannot run GUI code like Swing, AWT, or SWT on a server and expect to see anything in a browser.
For that the only option I have is to use a JTable.
...
I am also scared about the performance as swing is heavy weight.
Not quite. It's still possible to use a slightly lighter approach. You can code an excel-like applet using AWT and Java 1.1, which is supported on a lot more browsers. Your best bet, though, is to look through the software component suppliers and shareware/open source repositories for spreadsheet components, and use one somebody has already written in your own applet.