DDL statements , exiting or even DISCONNECT from SQL*Plus causes an IMPLICIT COMMIT.
One way is simply closing the session without EXIT or QUIT in SQLPLUS wont commit the transaction.
Transaction Control Commands manage changes made by Data Manipulation Language commands. A transaction (or logical unit of work) is a sequence of SQL statements that ORACLE treats as a single unit. A transaction ends with a commit, rollback , exit, or any DDL statement which issues an implicit commit. In most cases transactions are implicitly controlled.
if you want to work your way of exit still there is a option as said in this link.
But i have the problem that when application server is commiting the updates even though the transaction is aborted in the client session or you can say that the client session died due to some reason.so now we want to rollback the transaction but the case is that it commited half of the transaction which is bizarre. It is really difficult to do any thing on the application server becasue this means to rewrite the kernel of the application server.
so we need to change the default behaviour of the sqlplus that it commits only when the user types commit.