well, a 3000 line JSP file is a huge problem that you should probably fix before moving forward. Use the jsp only for output. Try to put things like redirects in the servlet code.
"Response Already Committed" is telling us that the response has already started to write and you are trying to modify it. So, whatever you are trying to do, you must do it earlier, before anything has been written to the response.
A common cause of this problem is simply having a space or carriage return at the top of the JSP. For example, if you have some page directives separated by carriage returns, then those may be put into the response body. Then, if your JSP tries to set something in the header, such as the document type, an exception is thrown. (Remember that the response is just a stream -- the JSP container can't back up and write header data after the page has already started writing the body.) So verify that there are no spaces or carriage returns anywhere in the page above the scriptlet. (There can be carriage returns and spaces within the page directives or scriptlets.) Don't even start the scriptlet "<%" on its own line, since that would mean you'd have a carriage return in the page before the scriptlet code is encountered.