boa tarde, amigos…
estou tentando recuperar os dados de um DB, via um servlet, porém, não tenho a mínima idéia de como fazer. =\ alguém pode me dar uma idéia? ou algum link com código para estudo! valeu 
Recuperando dados de BD
12 Respostas
Olá diogo.delgaudio blz…
Dá uma olhada nesse artigo aqui do forum…
http://www.guj.com.br/java.tutorial.artigo.7.1.guj
Espero que te ajude, qualquer coisa é só falar…
Olá diogo.delgaudio blz…Dá uma olhada nesse artigo aqui do forum…
http://www.guj.com.br/java.tutorial.artigo.7.1.guj
Espero que te ajude, qualquer coisa é só falar…
fala, cara… a classe de conexão e com o statement jah está feita. o servlet é q eu não estou conseguindo fazer :\ não sei como pegar a informação do bd e jogar na JSP.
www.caelum.com.br
Tem a apostila FJ-21, no capitulo sobre JSTL tem algumas coisas que te ajudam
JSP = Java Servlet Page
Jsp é um facilitador, se você usar uma Servlet e mapea-la, para que ela escreva o HTML voce tem que fazer o seguinte:
java.io.PrintWriter pw = response.getWriter();
por exemplo! Assim, você pode escrever na tela:
pw.println("<html> . . . </html>");
Eu aconselho a usar a própria JSP chamando classes que retornam os resultados de busca no BD e ele escreve o HTML certinho!
Se é isso que é a sua duvida ^^
Abraços.
www.caelum.com.brTem a apostila FJ-21, no capitulo sobre JSTL tem algumas coisas que te ajudam
o jstl tb jah tah prontinho lah… só não saquei ainda como fazer o servlet. xD =\
JSP = Java Servlet PageJsp é um facilitador, se você usar uma Servlet e mapea-la, para que ela escreva o HTML voce tem que fazer o seguinte:
java.io.PrintWriter pw = response.getWriter();por exemplo! Assim, você pode escrever na tela:
pw.println("<html> . . . </html>");Eu aconselho a usar a própria JSP chamando classes que retornam os resultados de busca no BD e ele escreve o HTML certinho!
Se é isso que é a sua duvida ^^
Abraços.
a dúvida é no servlet msmo… 
Então fale qual a sua duvida na Servlet, senão fica dificil ajudar. Uma previa:
public class SuaServlet extends HttpServlet{
protected void doPost(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
...
}
protected void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
...
}
é exatamente isso, eu não tenho idéia de como fazer o servlet, pois o exemplo q tenho está completamente confuso (pelo menos pra mim, que sou iniciante), se alguém conseguir me explicar o servlet-exemplo:
package br.com.digirio.cadastrosweb.servlet.produto;
import br.com.digirio.cadastroweb.jdbc.implementacao.CadastroProduto;
import br.com.digirio.cadastroweb.modelo.produto.Produto;
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import javax.servlet.*;
import javax.servlet.http.*;
public class ConsultarProduto extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String evento = request.getParameter("evento");
HttpSession session = request.getSession();
if (evento != null ) {
if ((evento.equals("consultar")) || (evento.contains("excluir")) ||(evento.contains("alterar"))){
CadastroProduto cp = new CadastroProduto();
if (evento.contains("excluir")||evento.contains("alterar")) {
ArrayList produtos = (ArrayList) session.getAttribute("produtos");
Produto p = (Produto) produtos.get(Integer.parseInt(evento.substring(7)));
if (evento.contains("excluir")){
System.out.println("excluindo......");
cp.excluir(p);
}else if (evento.contains("alterar")){
session.setAttribute("produto", p);
}
}
ArrayList produtos = cp.consultarN(request.getParameter("descricao"));
session.setAttribute("produtos", produtos);
request.setAttribute("descricao", request.getParameter("descricao"));
}
}else{
session.setAttribute("produtos", null);
}
RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/jsp/consultaproduto.jsp");
rd.forward(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
public String getServletInfo() {
return "Short description";
}
// </editor-fold>
}
brigadão, galera!
Por partes:
Os métodos doGet e doPost são chamados logo que se entra na Servlet. Por exemplo, se voce escreve no link:
http://www.link.com.br/servlet?evento=excluir
Voce esta passando por metodo Get as informações, para usar o Post um exemplo é o …
Ambos os métodos (doGet e doPost) estão chamando a função processRequest, então realemente não importa como vc passa os dados.
O codigo abaixo pega o que está no evento, no exemplo acima é “excluir” o valor:
String evento = request.getParameter("evento");
Não vou comentar os codigos simples, como IFs e instanciações.
HttpSession session = request.getSession();
Pegou a sessão para usar os atributos dela:
ArrayList produtos = (ArrayList) session.getAttribute("produtos");
Em algum lugar ele deve colocar na sessão o atributo, algo assim:
ArrayList al = new Arraylist();
al.add("algo");
session.setAttribute("produtos", al);
De resto acho que voce consegue entender, qualquer coisa fala!
ahhn, sim… agora tdo está clareando 
ainda tenho uma dúvida com relação ao código, o q significa essa parte?
ArrayList produtos = (ArrayList) session.getAttribute("produtos");
Produto p = (Produto) produtos.get(Integer.parseInt(evento.substring(7)));
obrigado, guilherme!
ArrayList produtos = (ArrayList) session.getAttribute("produtos");
Produto p = (Produto) produtos.get(Integer.parseInt(evento.substring(7)));
A primeira linha está pegando o ArrayList que está na sessão.
A segunda pega um produto que esta nessa lista. A posição da lista em que está o produto é referenciado está logo após a palavra “alterar” ou “excluir”, já que ele só pega o produto se o evento for um desses. Por exemplo, se chamar o link:
http://www.link.com.br/servlet?evento=alterar5
Ele chama essa servlet, pega a lista da sessão e pega o produto na posição 5 da lista, pode perceber que a substring 7 é o número:
0=a 1=l 2=t 3=e 4=r 5=a 6=r 7=N
0=e 1=x 2=c 3=l 4=u 5=i 6=r 7=N
eh, eu só não sei aonde é setado o alterar N? em q parte do código a posição aparece? mas finalmente eu to começando a entender! 
up?