Java.Servlet.What is the difference between dynamic and static JSP content?

📜 Static vs Dynamic Content in JSP

AspectStatic ContentDynamic Content
DefinitionContent that does not change for each user or request.Content that can change depending on request parameters, user input, or backend logic.
Written asPlain HTML, CSS, JavaScript inside the JSP page.Embedded Java code, expressions, or custom tags inside the JSP page.
ProcessingDirectly copied into the servlet’s output (out.write()).Evaluated at runtime, and result is inserted into the output.
PerformanceVery fast — no calculation needed.Slightly slower — because server has to execute Java code first.
Example<h1>Welcome to our website</h1><h1>Welcome, <%= user.getName() %>!</h1>

🔥 Examples

Static Content Example:

<html>
  <body>
    <h1>Welcome to our website</h1> <!-- Static: same for every visitor -->
  </body>
</html>

This HTML will be the same for everyone.

Server just copies it into the HTTP response.

Dynamic Content Example:

<html>
  <body>
    <h1>Welcome, <%= request.getParameter("username") %>!</h1> <!-- Dynamic -->
  </body>
</html>

If a user accesses hello.jsp?username=Stanley, they will see:

Welcome, Stanley!

If another user accesses hello.jsp?username=Marina, they will see:

Welcome, Marina!

Here, <%= request.getParameter("username") %> is evaluated during request processing.

⚙️ How They Are Handled Internally:

When the server translates a JSP into a servlet:

  • Static content becomes simple out.write("...") Java statements.
  • Dynamic content becomes actual Java code execution inside the _jspService() method.

Example for Static:

out.write("<h1>Welcome to our website</h1>");

Example for Dynamic:

out.write("<h1>Welcome, " + request.getParameter("username") + "!</h1>");

🎯 Final Summary:

  • Static content: Always the same, copied directly into response.
  • Dynamic content: Depends on request or server-side calculations, generated at runtime.

Both coexist in a typical JSP file to create web pages that are partly constant and partly personalized.

This entry was posted in Без рубрики. Bookmark the permalink.