How Java Full Stack Works