- Neste exercício, criaremos uma página simples de registro.
Preparação: Primeiro, configure o servidor Tomcat e use o Eclipse como IDE para compilação.
- No Eclipse, crie um projeto Web.
- Dentro da pasta
WebContent, crie um arquivo chamadocadastrar.jsp.
Código principal: dentro da tag <body>.
<form action="exibir.jsp" method="post">
Nome:<input type="text" name="nomeUsuario"/><br/>
Senha:<input type="password" name="senhaUsuario"/><br/>
Idade:<input type="text" name="idadeUsuario"/><br/>
Interesses:
<input type="checkbox" name="interesses" value="música"/>Música
<input type="checkbox" name="interesses" value="esportes"/>Esportes
<input type="checkbox" name="interesses" value="leitura"/>Leitura<br/>
<input type="submit" value="Cadastrar">
</form>
- Na pasta
WebContent, crie outro arquivo chamadoexibir.jsp.
Código principal: dentro da tag <body>.
<%
// Configura a codificação
request.setCharacterEncoding("utf-8");
String nome = request.getParameter("nomeUsuario");
String senha = request.getParameter("senhaUsuario");
int idade = Integer.parseInt(request.getParameter("idadeUsuario"));
String[] interesses = request.getParameterValues("interesses");
%>
Cadastro realizado com sucesso! Informações:<br/>
Nome: <%= nome %><br/>
Senha: <%= senha %><br/>
Idade: <%= idade %><br/>
Interesses:<br/>
<%
if (interesses != null) {
for (String interesse : interesses) {
out.print(interesse + " ");
}
}
%>
- Resultado em execução:
Resumo: O objeto request é usado para armazenar informações enviadas pelo cliente ao servidor.
- Métodos comuns do objeto
request:
- String getParameter(String chave): Retorna o valor correspondente à chave epsecificada.
- String[] getParameterValues(String chave): Retorna múltiplos valores associados à mesma chave (útil para checkboxes).
- void setCharacterEncoding("utf-8"): Define a codificação para requisições POST (no Tomcat 7 ou inferior, a codificação padrão era ISO-8859-1).
- getRequestDispatcher("b.jsp").forward(request,response): Redireciona a solicitação para outra página.
- ServletContext getServletContext(): Obtém o objeto ServletContext do projeto.
- Fluxo de execução do JSP:
- Na primeira visita: O JSP é convertido para código Java e compilado em um arquivo .class.
- Nas visitas subsequentes: O arquivo .class é acessado diretamente, a menos que o código no servidor tenha sido modificado.
- Códigos de erro comuns:
- 200: Tudo funcionou corretamente.
- 300/301: Redirecionamento de página.
- 404: Recurso solicitado não encontardo.
- 403: Acesso negado (por exemplo, tentando acessar um diretório configurado como invisível).
- 500: Erro interno no servidor (geralmente causado por erros no código).
- Problemas de codificação: Recomenda-se usar "utf-8".