This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.BasicDataSource cannot be cast to javax.naming.Context
Seeing as the ClassCastException occurred because you tried to cast something to Context. The only cast to Context I can see is the above line. So it appears that initCtx.lookup("java:comp/env/jdbc/start") returns a BasicDataSource, and you should cast the result to DataSource, not Context.
That makes sense since in the resource "jdbc/start" you've set the type to javax.sql.DataSource.