KaizerSX, на реальных проектах используют как только томкат, в том числе с уродливыми url (например для внутренних приложений, которые не для клиентов, а для сотрудников), так и nginx + tomcat (тогда и в интернет не стыдно выставить).
Это вообще вопрос не к Dev, а к Ops.
Как по мне - вопрос не имеет однозначного ответа.
Постоянно приходится выбирать между магией Spring/Hibernate и утратой контроля и каким-нибудь *JDBC, но весь SQL придется писать руками.
Посмотрите в сторону mybatis/jooq.
Решить это вопрос можно очень просто: прекратить использовать sublime text и начать использовать IntelliJ IDEA. Там и debug есть - поможет разобраться.