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.