Fundamentos de Servlets com formulários HTML
Introdução
Vimos no artigo anterior que Servlets e JSP são suas tecnologias desenvolvidas pela Sun Microsystem para desenvolvimento de aplicações Web a partir de componentes Java que executam no lado servidor. Essas duas tecnologias fazem parte da plataforma J2EE que fornece um conjunto de tecnologias para o desenvolvimento de soluções escaláveis e robustas para a Web. Nesta aula daremos continuidade na utilização dos Servlets, para isso iremos aprender um pouco sobre os formulários HTML e iremos construir uma aplicação no NetBeans.
Servlets e Formulários HTML
As informações digitadas em um formulário HTML chegam até o Servlet por meio do objeto HttpServletRequest e são recuperadas por meio do método getParameter() deste objeto. Todo item de um formulário HTML possui um campo “NAME” e esse campo “NAME” é passado como argumento para o método getParameter() que retorna na forma de String o valor do formulário.
Desenvolvendo uma aplicação no NetBeans IDE 5.0 utilizando Servlets e Formulários HTML
Abra o NetBeans IDE e crie um novo projeto “Web”. (“File” à “New Project...”), na janela “New Project” marque a opção “Web” e em seguida “Web Application”, clique no botão “Next”. Na janela “New Web Application”, coloque o nome do projeto como “Cadastro”, e clique no botão “Finish”. A tela do NetBeans deve ter ficado semelhante a tela abaixo:
Figura 1: Tela do NetBeans com o projeto Cadastro aberta.
Apague todo o conteúdo do arquivo “index.jsp”, e digite o código da listagem 1, na área de trabalho do arquivo “index.jsp”, figura abaixo:
Figura 2: Área de trabalho do arquivo “index.jsp”.
[Versão 0.001]</title></head><body><font face="arial"><center><table><tr><td><h1>Cadastro de Alunos</h1></td></tr></table><br></center><center><form><table><tr><td align="center" width="122"><b>Matricula:</b></td><td align="left"><input type="text" name="matricula" size="10"
maxlength="10"></td></tr><tr><td align="center" width="122"><b>Nome:</b></td><td align="left"><input type="text" name="nome" size="40"
maxlength="40"></td></tr><tr><td align="center" width="122"><b>Idade: </b> </td><td align="left"><input type="text" name="idade" size="5"
maxlength="2"></td></tr><tr><td align="left" width="122"><p align="center"> </td><td align="left"><p align="center"><input type="submit" value="Enviar"><input type="reset"
value="Limpar"></td></tr></table></center></form></font></body></html>
Listagem 1: Código HTML para ser digitado dentro da área de trabalho do arquivo “index.jsp”.
Salve as alterações no arquivo “Fileà Salve” e execute a sua aplicação “RunàRun Main Project”, a tela do seu navegador deve ter ficado igual a figura abaixo:
Figura 3: Tela do navegador (Mozilla Firefox) com a página “index.jsp”.
Agora pare a aplicação, clique na janela de apoio “Bundled Tomcat” e clique no botão “Stop the Server”.
Figura 4: Janela de apoio “Bundled Tomcat”.
Agora crie um arquivo “Servlet”, (clique inverso no nome do projeto “Cadastro”, no meu que aparece escolha a opção “New”, sub-opção “Servlet”), na janela “New Servlet”, em “Class Name” coloque SvCadastro e em Package coloque “org.classe”, conforme a figura abaixo:
Figura 5: Janela New Servlet.
Clique no botão “Next”, não faça nenhuma alteração na janela “New File”, abaixo e clique no botão “Finish”.
Figura 6: Janela New File.
A tela do NetBeans deve ter ficado da seguinte forma, figura abaixo:
Figura 7: Área de trabalho do NetBeans com o arquivo SvCadastro.java.
Procure pelo seguinte trecho no arquivo SvCadastro.java, figura abaixo, e altere com o código da Listagem 2.
Figura 8: Trecho do arquivo SvCadastro.java que vai ser alterado, pelo código da Listagem 2.
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String matricula = request.getParameter("matricula");
String nome = request.getParameter("nome");
String idade = request.getParameter("idade");
String msg = "<br>O aluno " + nome + " de matricula " + matricula + " com " + idade + " anos de idade.<br>";
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet SvCadastro</title>");
out.println("</head>");
out.println("<body><center>");
out.println("<h1>Informação do cadastro</h1><br><br><hr>");
out.println(msg);
out.println("Foi cadastrado com sucesso, no sistema!!!!<br><hr><br>");
out.println("<a href='index.jsp'>Voltar</a>");
out.println("</center></body>");
out.println("</html>");
out.close();
}
Listagem 2: Novo código para o trecho acima.
Altere a seguinte linha no arquivo “index.jsp”
<form>
Para
<form method="get" action="SvCadastro">
Salve as alterações no arquivo “Fileà Salve” e execute a sua aplicação “RunàRun Main Project”, a tela do seu navegador deve ter ficado igual a figura abaixo:
Figura 9: Navegador com a página “index.jsp” carregada.
Agora informa uma matricula, por exemplo “9916123”, um nome, por exemplo “Fulano da Silva”, e uma idade, por exemplo “25”, e clique no botão “Enviar”, sua tela irá ficar igual a figura abaixo.
Figura 10: Tela do navegador com o resultado do cadastro, código gerado pelo SvCadastro.
Clique no botão “Voltar” para fazer novos cadastros.