Java normal, cria seu formulário no action do formulário vc chama sua servlet correspondente ao formulário… cria seu script no banco e pronto…qual banco vc utilizará?
escaravelho
Usarei o SGBD MySQL.
E depois de passar pelo servlet, eu tenho que passar para outra página, e depois acionar um Bean, esse Bean vai extender essa minha classe de conexão que você citou.
Seria isso?
celia_fernandes
Olha eu fiz uma classe .java BDConector, serve para tres bancos, como vc vai usar apenas mysql considere apenas os comandos do mysql q está aí…na sua servlet correspondente ao formulário vc só chama esse BDConector e prontooo! :lol:
packageConexao;importjava.sql.*;publicclassBDConector{privatestaticBDConectorinstance=null;privateConnectionconn=null;privateStringbanco;//Construtor que carrega o campo estático conn com uma conexão ao banco.privateBDConector(Stringtipo)throwsException{banco=tipo;/* * Conexão com o Oracle * */if(banco.equals("oracle")){try{Class.forName("oracle.jdbc.OracleDriver");conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521","SYSTEM","123456");}catch(Exceptione){thrownewException(e.getMessage());}}elseif(banco.equals("postgresql")){{/* * Conexão com PostGreSQL * */try{Class.forName("org.postgresql.Driver");conn=DriverManager.getConnection("jdbc:postgresql://localhost:5432/meubanco","postgres","postgres");}catch(Exceptione){thrownewException(e.getMessage());}}}// fim do elseelseif(banco.equals("mysql")){{/* * Conexão com MySQL * */try{Class.forName("org.gjt.mm.mysql.Driver");conn=DriverManager.getConnection("jdbc:mysql://localhost/teste","root","");}catch(ClassNotFoundExceptione){e.printStackTrace();}catch(SQLExceptione){e.printStackTrace();}}// fim do else}}//Método estático que será chamado pelo cliente. Ele só cria uma instância se a //atual for nula. publicstaticBDConectorgetInstance(Stringtipo)throwsException{if(instance==null){System.out.println("Instância NOVA criada");instance=newBDConector(tipo);}elseSystem.out.println("Instância JÁ criada");returninstance;}publicConnectiongetConnection(){returnconn;}publicstaticvoidcloseConnection(Statementstmt,ResultSetrs)throwsException{close(stmt,rs);}publicstaticvoidcloseConnection(Statementstmt)throwsException{close(stmt,null);}publicstaticvoidclose(Statementstmt,ResultSetrs)throwsException{try{if(rs!=null)rs.close();if(stmt!=null)stmt.close();}catch(Exceptione){thrownewException(e.getMessage());}}}
celia_fernandes
Aqui vai um exemplo da servlet que chama esse BDConector…
importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.ServletContext;importjavax.servlet.ServletException;importjavax.servlet.ServletOutputStream;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importConexao.BDConector;importnet.sf.jasperreports.engine.JRException;importnet.sf.jasperreports.engine.JasperReport;importnet.sf.jasperreports.engine.JasperRunManager;importnet.sf.jasperreports.engine.util.JRLoader;/** * Servlet implementation class ServletDepartamento */publicclassServletDepartamentoextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;privateBDConectorcon=null;publicServletDepartamento(){super();// TODO Auto-generated constructor stub}protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{Stringaction=request.getParameter("escondido");/* * O Objeto con, pega uma instância da classe * BDConector, que é Multi-banco-de-dados, * podendo ser: oracle, postgresql ou mysql * Através deste objeto con, pode-se efetuar * a chamada ao método: * getConnection() * */con=BDConector.getInstance("oracle");try{if(action.equalsIgnoreCase("cadastrar")){PrintWriterout=response.getWriter();out.println("<HTML><BODY><h2>");out.println("<BR><span style=\"color: #FF0000\">");out.println("");out.println("</span></h2><BODY><HTML>");if(request.getParameter("textfield2").equals("")){out.println("Informe o departamento!");}try{intcoddpto=Integer.parseInt(request.getParameter("textfield1"));Stringdpto=request.getParameter("textfield2");StatementcurStmt=con.getConnection().createStatement();ResultSetbusca=curStmt.executeQuery("select codigo_departamento from departamento where codigo_departamento = "+coddpto);if(busca.next()==true){out.println("<br><br><p><h2 align = CENTER>Manutenção de Departamentos</h2></p>");out.println("<br><br><p><h3 align = CENTER>Departamento já cadastrado.</h3></p>");}else{booleanres=curStmt.execute("INSERT INTO departamento Values ("+coddpto+",'"+dpto+"')");curStmt.close();// A conexão fica aberta//con.close(); // Fecha a conexão com o Banco de Dadosout.println("<p align='center'><font size='3' face='Verdana'><strong>Cadastro");out.println("efetuado com sucesso!</strong></font></p><hr>");out.println("<p align='center'><textarea name='S1' rows='6' cols='32'>"+coddpto+","+dpto+",");out.println("recebemos suas informações em nosso Banco de Dados.");out.println("");out.println("Atenciosamente,");out.println("");out.println("Controle de Departamentos.</textarea></p>");}//else}catch(SQLExceptionex){out.println("<p><h3 align = CENTER>Problemas com o banco de Dados!</h3></p>");out.println(ex);}catch(java.lang.Exceptionex){out.println("<p><h3 align = CENTER>Erro de Comunicacao!</h3></p>");out.println(ex);}}elseif(action.equalsIgnoreCase("listar")){//actionListarCidadesDesc(request, response);PrintWriterout=response.getWriter();out.println("<HTML><BODY><h2>");out.println("<BR><span style=\"color: #FF0000\">");out.println("");out.println("</span></h2><BODY><HTML>");try{Stringcor="#FFFFFF";StatementcurStmt=con.getConnection().createStatement();ResultSetres=curStmt.executeQuery("select * from departamento order by departamento_dep");out.println("<h1 align=center>Departamentos Cadastrados</h1><br>");out.println("<table align='center' border='2' cellpadding='0' cellspacing='0' bgcolor='#808080' width='500'>");out.println("<tr>");out.println("<td><font color='#FFFFFF' face='Verdana'><strong>Código do Departamento</strong></font></td>");out.println("<td><font color='#FFFFFF' face='Verdana'><strong>Departamento</strong></font></td>");out.println("</tr>");while(res.next()==true){out.println("<tr>");out.println("<td bgcolor='"+cor+"'><font face='Verdana'>"+res.getInt("codigo_departamento")+"</td>");out.println("<td bgcolor='"+cor+"'><font face='Verdana'>"+res.getString("departamento_dep")+"</td>");out.println("</tr>");if(cor.equals("#FFFFFF"))cor="#C0C0C0";elseif(cor.equals("#C0C0C0"))cor="#FFFFFF";}curStmt.close();out.println("</table><br><br>");}catch(SQLExceptionex){out.println("<p><h3 align = CENTER>Problemas com o banco de Dados!</h3></p>");out.println(ex);}catch(java.lang.Exceptionex){out.println("<p><h3 align = CENTER>Erro de Comunicacao!</h3></p>");out.println(ex);}}elseif(action.equalsIgnoreCase("alterar")){PrintWriterout=response.getWriter();out.println("<HTML><BODY><h2>");out.println("<BR><span style=\"color: #FF0000\">");out.println("Alterado com Sucesso!");out.println("</span></h2><BODY><HTML>");try{intcoddpto=Integer.parseInt(request.getParameter("textfield1"));Stringdpto=request.getParameter("textfield2");StatementcurStmt=con.getConnection().createStatement();ResultSetbusca=curStmt.executeQuery("select codigo_departamento from departamento where codigo_departamento = "+coddpto);if(!busca.next()==true)// caso não encontre o grupo{out.println("<br><br><p><h2 align = CENTER>Manutenção de Departamentos</h2></p>");out.println("<br><br><p><h3 align = CENTER>Não é possível fazer a alteração pois o código não está cadastrado!</h3></p>");}else{out.print("UPDATE departamento set codigo_departamento="+coddpto+",departamento_dep='"+dpto+"' WHERE CODIGO_DEPARTAMENTO = '"+coddpto+"'");booleanres=curStmt.execute("UPDATE departamento set codigo_departamento="+coddpto+",departamento_dep='"+dpto+"' WHERE codigo_departamento = '"+coddpto+"'");curStmt.close();out.println("<p align='center'><font size='3' face='Verdana'><strong>Cadastro");out.println("de Departamentos</strong></font></p><hr>");out.println("<p align='center'><textarea name='S1' rows='6' cols='32'>"+dpto+",");out.println("ALTERAMOS suas informações em nosso Banco de Dados.");out.println("");out.println("Atenciosamente,");out.println("");out.println("Controle de Departamentos.</textarea></p>");}//else}catch(SQLExceptionex){out.println("<p><h3 align = CENTER>Problemas com o banco de Dados!</h3></p>");out.println(ex);}catch(java.lang.Exceptionex){out.println("<p><h3 align = CENTER>Erro de Comunicacao!</h3></p>");out.println(ex);}}elseif(action.equalsIgnoreCase("excluir")){//actionListarCidades(request, response);PrintWriterout=response.getWriter();out.println("<HTML><BODY><h2>");out.println("EXCLUIR: <BR><span style=\"color: #FF0000\">");out.println("Excluído com Sucesso!");out.println("</span></h2><BODY><HTML>");try{intcoddpto=Integer.parseInt(request.getParameter("textfield1"));Stringdpto=request.getParameter("textfield2");StatementcurStmt=con.getConnection().createStatement();ResultSetbusca=curStmt.executeQuery("select codigo_departamento from departamento where codigo_departamento = "+coddpto);if(!busca.next()==true)// caso não encontre o grupo{out.println("<br><br><p><h2 align = CENTER>Manutenção de Departamentos</h2></p>");out.println("<br><br><p><h3 align = CENTER>Não é possível excluir pois o código não está cadastrado.</h3></p>");}else{booleanres=curStmt.execute("DELETE FROM departamento where codigo_departamento = "+coddpto);curStmt.close();out.println("<p align='center'><font size='3' face='Verdana'><strong>Cadastro");out.println("de Departamentos</strong></font></p><hr>");out.println("<p align='center'><textarea name='S1' rows='6' cols='32'>"+dpto+",");out.println("a EXCLUSÃO foi efetuada com sucesso.");out.println("");out.println("Atenciosamente,");out.println("");out.println("Direção de Desenvolvimento.</textarea></p>");}//else}catch(SQLExceptionex){out.println("<p><h3 align = CENTER>Problemas com o banco de Dados!</h3></p>");out.println(ex);}catch(java.lang.Exceptionex){out.println("<p><h3 align = CENTER>Erro de Comunicacao!</h3></p>");out.println(ex);}}elseif(action.equalsIgnoreCase("Relatorio")){//ServletContext context = getServletContext();byte[]bytes=null;try{//JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject(context.getRealPath("/relatorio/Relatorio_Grupo.jasper"));JasperReportrelatorioJasper=(JasperReport)JRLoader.loadObject("C:\\Documents and Settings\\Celia\\Meus documentos\\testandoMONO\\ProjetoServletTFG\\WebContent\\Relatorios\\RelatorioDepartamento.jasper");Map<String,Object>params=newHashMap<String,Object>();//params.put("DATA", dataServidor);//params.put("MES_ANO_INI", dataInicial);//params.put("MES_ANO_FIM", dataFinal);//params.put("OBSERVACOES", "NÃO CONSTA AS DESPESAS GERADAS COM MATERIAIS DE ORTESE E PROTESE");//bytes = JasperRunManager.runReportToPdf(relatorioJasper, params, ds);bytes=JasperRunManager.runReportToPdf(relatorioJasper,params,con.getConnection());}catch(JRExceptione){e.printStackTrace();}if(bytes!=null&&bytes.length>0){response.setContentType("application/pdf");response.setContentLength(bytes.length);ServletOutputStreamouputStream=response.getOutputStream();ouputStream.write(bytes,0,bytes.length);ouputStream.flush();ouputStream.close();//gerou = true;}}}catch(Exceptione){PrintWriterout=response.getWriter();out.println("<HTML><BODY><h2>");out.println("ERRO: <BR><span style=\"color: #FF0000\">");out.println(e.getMessage());out.println("</span></h2><BODY><HTML>");e.printStackTrace();}finally{//PrintWriter out = response.getWriter();//out.close();}}protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// TODO Auto-generated method stubtry{this.processRequest(request,response);}catch(Exceptione){// TODO Auto-generated catch blocke.printStackTrace();}}protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// TODO Auto-generated method stubtry{this.processRequest(request,response);}catch(Exceptione){// TODO Auto-generated catch blocke.printStackTrace();}}}
escaravelho
Entendi.
Já sei que irei fazer no meu caso.
Obrigado.
D
Danilo_Sanoli
Qualquer duvida sobre aplicações para desktop pode contar cmg, web nao é minha praia