Historically I have used jQuery with Java servlets at work, but that is an older way to do it now. The more morderem way I have been developing is using Java Spring Boot for the backend, and React for the front end (specifically NextJS). Both of those tools have a big community and support around them. jOOQ makes working with a database very easy and when you change types, it goes through the Java code.
I have tried Java Dropwizard in the past, but that seems to be slowly dying out with less support.