Another case would be where the bandwidth is not sufficient to perform the initial download of the Angular fat-client application. The application that I am working at the moment has a 3kbps satellite link between the client and server. Downloading a 500kB bundle for the GUI would take over 20 minutes.
Monica Shiralkar wrote:These days websites are possible to be made using AngularJS and NodeJS combination.
AngulurJS is obsolete and has been replaced by Angular (Google did not ask me about naming things, so don't shoot the messenger). Even Angular is downward trending in the face of the rising popularity of React and Vue.js.
Also, it's not a given that a front-end powered by an SPA framework (be it Angular, React, Vue.js, or whatever's going to be the hotness next week) is driven by a NodeJS backend. Most SPAs are layered on a RESTful API¹ which can be written using any server-side tool: Java, NodeJS, Python, or anything else.
In which case is JSP used these days when website is possible with AngularJS and NodeJS combination itself?
Again, I'll assume you are asking about SPAs in general, and one simple reason might be that a team already knows Java and its ecosystem, and doesn't want to take the time or expense to train in a new language and ecosystem.
And there are likely many more reasons that a company might choose to stick to Java web apps.
¹ GraphQL is getting a lot of buzz lately but it's not clear if it will "stick" or not.