There are two different types of data in a JSP page.
1. Static part which occurs copied directly to the response by the JSP Engine.
2. Dynamic part, which have anything that may be compiled and translated by the JSP Engine.
There are three basic types of dynamic components. (TIP: remember SAD as an abbreviation for Scripting, Directive elements, and Action).
Declaration component: is the embedded Java declaration statement, which gives inserted at the Servlet class level.
<%! Calendar c = Calendar.getInstance(); %>
Can you define a method within your JSP page?
You can define methods within your JSP pages as declarations, and your methods may be called from within your other methods you define, scriptlets or expression elements. Those declared functions do not have direct access to the JSP implicit objects like response, request, session etc but you may pass them to your functions you declare as parameters.
Expression Element: is the embedded Java expression, which gets solved by the service method.
<%= new Date() %>
Scriptlet Element: are the embedded Java statements, which get performed as part of the service function.
String username = null;
username = request.getParameter("firstName"); //"request" is a JSP implicit object
Action components: A JSP element that gives information for execution phase.