I know this doesntdoesn't answer your question. But pure and simple: DONTDON'T DO IT!!! Maybe you know all the reasons, but here are some good ones, just in case:
1) Content and Applications have different lifecycles
Content is continually created/refined/published - that is why we use a CMS. Applications are developed, tested and released at agreed and controlled moments. Having your application published from your CMS is so wrong - can you be sure that the publisher will publish all related artifacts at the same moment? What happens if the JSP is published before the Jar.jar file? What happens if someone accidentally publishes (or worse un-publishes) something crucial? Application meltdown on your production system, thatsthat's what. 500 Server Error Heaven.
2) Tridion is designed to manage content and not applications
Thus the aforementioned issues with certain mime-types, although as mentioned, most binaries can be uploaded into the CMS. Just because you can, doesn't mean you should.
3) Developer Frustration
You need to train your developers to use the CMS. They will quickly become annoyed at what was once a simple xcopy or .war deployment becoming some manual update of multiple multimedia components and then moving to another publication to publish. This is before we even start talking about continuous integration - shoving everything through the CMS as a glorified FTP server will make this kind of thing even harder to accomplish.