Your question is really vague but I suggest that you check the scopes you are using. Maybe you are storing a lot of things in the session-scope (for example)?
What about profiling your application? VisualVM, jProfiler and YourKit are all useful and will shed a lot of lights on the dark corners.

I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com