Regarding to the database side (datamodel/SQL): make sure that your datamodel is designed the right way and that your SQL returns ONLY the rows that you actually need and if necessary also in the order that you want.
Regarding to the server side (Java/JSP): make sure that you write efficient code and don´t do memory hogging stuff. Running a profiler may help a lot to find inefficient code and memory leaks.
Regarding to the client side (HTML/JS): make sure that your HTML is not unnecessarily big and that your JS is also written efficient. There are also profilers for JS.