Olá pessoal estou lendo o artigo do Fernando Lozano na javamagazine nº20 sobre MVC e ele apresenta o seguinte exemplo:
capital.jsp:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html><body>
<h1>Exemplo de Servlet com Forward para JSP</h1><p>
Escolha um estado do Brasil para saber sua capital:
<form action="capital">
<input type="text" name="estado" size="3" maxlength="2" value="${param.estado}">
<input type="submit" value="OK">
<c:if test="${!empty param.estado}">
<hr>
<c:if test="${empty capital}">
Não sei a capital do estado ${param.estado}
</c:if>
<c:if test="${!empty capital}">
A capital do estado ${param.estado} é ${capital}
</c:if>
</c:if>
</form>
</body></html>
E a servlet:
package javamagazine;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
public class ServletCapital extends HttpServlet {
private static Map capitais = null;
public void init(){
if (capitais == null){
capitais = new HashMap();
capitais.put("RJ", "Rio de Janeiro");
capitais.put("SP", "São Paulo");
capitais.put("MG", "Belo Horizonte");
capitais.put("BA", "Salvador");
capitais.put("PA", "Belém");
}
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
processRequest(request, response);
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
processRequest(request, response);
}
public void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
String estado = request.getParameter("estado");
String capital = (String)capitais.get(estado);
request.setAttribute("capital", capital);
request.getRequestDispatcher("/capital.jsp").forward(request, response);
}
}
Eu não entendi o seguinte como a jsp executa a Servlet? E como nessa linha eu consigo imprimir a capital
A capital do estado ${param.estado} é ${capital}
