Internet Explorer is smart enough to work without providing content type. It uses the file extension and/or contents of the file to determine the content type. Also, this behaviour is inconsistent with the different versions of Internet Explorer and Windows Operating System. Netscape does expect you to provide content type. So it is a good practise to use response.setContentType always.
will open in the document in the same browser window.