Trabalhando com
JSP, Ajax, Servlet – Parte02
Trabalhando com Ajax, JSP e Servlet.
Chegou a hora, vamos fazer a tecnologia funcionar. O primeiro passo que temos que fazer é escolher a IDE, pode se utilizar o Netbeans, figura 2, o Eclipse ou qualquer outra IDE, fica por conta do leitor esta escolha, neste caso estarei utilizando o Netbeans, versão 5.0.
Figura 2. Netbeans 5.0
Uma vez definida a IDE que será utilizado, é hora de criar o projeto. O nome do projeto será Ajax. Após a criação do projeto na IDE, deverá ser criado também um pacote, que irá armazenar o objeto Cidades, listagem 2, bem como o Servlet, listagem 3, e o nome deste pacote será exemplo, a figura 3 contempla como ficara a IDE após a execução destes passos.
Figura 3. Estrutura da IDE
Quando a aplicação é gerada a IDE já cria o programa índex.jsp, neste caso iremos alterá-lo para que possa atender as necessidades do exemplo que esta sendo desenvolvido, listagem 1.
Listagem 1.
/*
* Cidades.java
*
* Created on 6 de Junho de 2005, 15:07
*/
package Negocio;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Hailton David Lemos
*/
public class Cidades
{
protected String vid;
protected String vcidade;
protected String vuf;
protected Connection conexao;
protected PreparedStatement declaracao;
protected Statement stm;
protected ResultSet resultado;
protected String comando;
protected String vmensagem;
public Cidades ()
{
vid = "";
vcidade = "";
vmensagem = "";
vuf = "";
}
protected boolean GravaCidade (int opcao)
{
try
{
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
}
catch(Exception E)
{
vmensagem = "Erro na abertura do Cidades";
return false;
}
try
{
try
{
conexao.close ();
stm.close ();
}
catch(Exception sqle )
{
}
conexao = DriverManager.getConnection ("jdbc:mysql://localhost/exemplo ", "root","");
stm = conexao.createStatement ();
if(opcao == 1)
{
comando = "insert into cidade (";
comando = comando + "cidade, ";
comando = comando + "uf) ";
comando = comando + "values (";
comando = comando + "'" + vcidade + "', ";
comando = comando + "'" + vuf + "')";
}
else if (opcao == 2)
{
comando = "update cidade set ";
comando = comando + "', cidade = '" + vcidade;
comando = comando + "', uf = '" + vuf;
comando = comando + "' where id = '" + vid + "'";
}
else if (opcao == 3)
{
comando = "delete from cidade where id = '" + vid + "'";
}
else if (opcao == 4)
{
comando = "select * from cidade where uf = '" + vuf + "' order by cidade";
}
else if (opcao == 5)
{
comando = "select * from cidade";
}
else if (opcao == 6)
{
comando = "select cidade from where cidade = '" + vcidade +"'";
}
else if (opcao == 7)
{
comando = "select * from cidade where id = '" + vid + "'";
}
if(opcao <= 3 || opcao == 8 || opcao == 9)
{
stm.executeUpdate (comando);
}
else
{
resultado = stm.executeQuery (comando);
}
if(opcao == 5 || opcao == 7)
{
try
{
resultado.next ();
vid = resultado.getString (1);
vcidade = resultado.getString (2);
vuf = resultado.getString (3);
}
catch(SQLException E1)
{
vmensagem = "nao consegui executar o query" + comando;
}
}
else if (opcao == 6)
{
try
{
resultado.next ();
}
catch(SQLException E1)
{
vmensagem = "nao consegui executar o query de busca " + comando;
}
}
}
catch(Exception E)
{
vmensagem = comando + " ERRO";
return false;
}
return true;
}
public boolean IncCidade ()
{
if(GravaCidade(1))
{
vmensagem = "A inclusao efetuada com sucesso\n";
return true;
}
else
{
return false;
}
}
public boolean AltCidade ()
{
if(GravaCidade(2))
{
vmensagem = "A alteração foi efetuada com sucesso\n";
return true;
}
else
{
return false;
}
}
public boolean ExcCidade ()
{
if(GravaCidade(3))
{
vmensagem = "A exclusão foi efetuada com sucesso\n";
return true;
}
else
{
return false;
}
}
public boolean LocaCidade ()
{
if(GravaCidade (4))
{
return true;
}
else
{
return false;
}
}
public boolean BuscaCidade ()
{
if(GravaCidade (6))
{
return true;
}
else
{
return false;
}
}
public boolean PsqCidade ()
{
if(GravaCidade (7))
{
return true;
}
else
{
return false;
}
}
}
Listagem 2. Cidades.java
/*
* AjaxCidadeSV.java
*
* Created on 4 de Outubro de 2008, 10:17
*/
package exemplo;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
*
* @author Hailton David Lemos
* @version
*/
public class AjaxCidadeSV extends HttpServlet {
protected Cidades cidade;
public void init(ServletConfig config) throws ServletException {
cidade = new Cidades();
super.init(config);
}
public void destroy() {
super.destroy();
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html\n;charset=ISO-8859-1\n\n");
PrintWriter out = response.getWriter();
cidade.vuf = request.getParameter("UF");
cidade.LocaCidade();
try {
cidade.resultado.next();
do
{
out.println(cidade.resultado.getString(1) + "|" + cidade.resultado.getString(2)+ "|");
} while (cidade.resultado.next());
}
catch(Exception E) {
out.println("CIDADE NÃO CADASTRADA" + "|" + "CIDADE NÃO CADASTRADA" + "|");
}
out.close();
}
//
/** Handles the HTTP GET method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP POST method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
//
}
Listagem 3. AjaxCidadeSV.java