import jakarta.servlet.*;
import jakarta.servlet.http.*;
public class MeuServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>Olá do Servlet!</h1>");
out.println("</body></html>");
}
}
<%= variavel %>
(para exibir valores)<% código Java %>
(para lógica)<%! declarações %>
(para métodos/variáveis)<%@ page ... %>
(para configurações)<c:forEach>
(bibliotecas como JSTL)import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
import java.io.*;
import java.util.Date;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// Obtém parâmetro da URL
String nome = request.getParameter("nome");
if (nome == null) nome = "Visitante";
// Define data atual
Date dataAtual = new Date();
// Armazena dados para a JSP
request.setAttribute("usuario", nome);
request.setAttribute("data", dataAtual);
// Encaminha para JSP
RequestDispatcher dispatcher =
request.getRequestDispatcher("/WEB-INF/hello.jsp");
dispatcher.forward(request, response);
}
}
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="jakarta.tags.core" %>
<!DOCTYPE html>
<html>
<head>
<title>Exemplo Dinâmico</title>
<link rel="stylesheet" href="estilos.css">
</head>
<body>
<h1>Olá, ${usuario}!</h1>
<p>Bem-vindo à nossa página dinâmica.</p>
<p>Data e hora atual: ${data}</p>
<form method="get" action="hello">
<label>Seu nome:</label>
<input type="text" name="nome">
<button type="submit">Enviar</button>
</form>
</body>
</html>