The difference is that Model
is an abstraction. You can use Spring with servlets, portlets, or other interfaces, and model attributes will always be available in your respective views.
HttpServletRequest
, on the other hand, is an object specific to Servlets. Spring will also make request attributes available in your views, as well as model attributes, so from the point of view of the user there is not much difference.
Another aspect is that the models are lighter and more convenient to work with (for example, repeating all the attributes on the model map is easier than in the query).
source share