To understand param attribute,we will have to know its need.What is the benefit we are getting by using this.To understand that lets explore some scenarios. Suppose you are going directly from HTML form to JSP,then how can we set bean property with the request parameter? We can do it by using standard action tag and scripting. Lets have a look.
exception is an implicit object of java.lang.Throwable type. It is available only on the error jsp pages and not on all normal jsp pages. It is used to get exception details.
session is an implicit object of type HttpSession. The session object is used to track session between requests sent by a single user. it can also be used to get,set and remove attributes in session scope.
Popular method of implicit object session(description as per javadoc)
application is an implicit object of type ServletContext. This object is a bit different.As the name indicates,it is for the whole application. It is created only once by the web container that can be used on all the jsp pages. It can be used to get,set and remove the attributes from the application scope. This object is used to get the initialization parameters declared in the web.xml file(Deployment Descriptor).