Curso Java Web
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Crud com JSP - Alunos

Ir para baixo

Crud com JSP - Alunos Empty Crud com JSP - Alunos

Mensagem por Dougllas Dom Jan 19, 2014 2:21 pm

Caras, tentem fazer um crud aluno com jsp, utilizando jdbc para acessar o banco.

colocarei aqui um crud completo case queiram ver como se faz, deem uma estudada nas apostilas e qualquer coisa me liguem ou postem a duvida.

Tentem de toda forma conseguir fazer o crud, pesquisem na internet... enfim. Testem o código de voces caras, vou postar também umas aulas de jsp com jdbc bem legais, dá pra aprender bastante. ai vai



Aluno - Classe Java e Tabela Banco:


Código:
create table aluno( id serial not null primary key, nome varchar(50), idade integer, data_nascimento date);


Código:
import java.util.Calendar;

public class Aluno {
 private int id;
 private String nome;
 private int idade;
 private Calendar dataNascimento;
 
public Aluno(){}
 

public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getNome() {
 return nome;
 }
 public void setNome(String nome) {
 this.nome = nome;
 }
 public int getIdade() {
 return idade;
 }
 public void setIdade(int idade) {
 this.idade = idade;
 }
 public Calendar getDataNascimento() {
 return dataNascimento;
 }
 public void setDataNascimento(Calendar dataNascimento) {
 this.dataNascimento = dataNascimento;
 }
}

Classe de conexão com o banco:
Código:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.postgresql.Driver;

public class FabricaConexoes {

private static final String URL = "jdbc:postgresql://localhost:5432/cadastros";
private static final String USUARIO = "postgres";
private static final String SENHA = "postgres";

 public Connection getConnection(){
 try {
 DriverManager.registerDriver(new org.postgresql.Driver());
 return DriverManager.getConnection(URL,USUARIO,SENHA);
 } catch (SQLException e) {
 // TODO Auto-generated catch block
 throw new RuntimeException(e);
 }
 }
}
Inteface Dao :

Código:
package com.ronaldo.dao;

import java.util.List;

import com.ronaldo.model.Aluno;

public interface Dao {
 
//todos os metodos da interface são public;
 void inserir(Aluno aluno);
 void atualizar(Aluno aluno);
 void remover(Aluno aluno);
 Aluno pesquizarId(int Id);
 List<Aluno> todos();
 
}


Aluno dao:

Código:

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import com.ronaldo.conexao.FabricaConexao;
import com.ronaldo.model.Aluno;

public class AlunoDao implements Dao{
 
private Connection con;
 PreparedStatement ps;
 ResultSet rs;
 
public AlunoDao() {
 // TODO Auto-generated constructor stub
 con = new FabricaConexao().getConection();
 }

 @Override
 public void inserir(Aluno aluno) {
 // TODO Auto-generated method stub
 String insert = "Insert into Aluno (nome,idade,data_nascimento) values (?,?,?)";
 try {
 ps = con.prepareStatement(insert);
 ps.setString(1, aluno.getNome());
 ps.setInt(2,aluno.getIdade());
 Date data = new Date(aluno.getDatanasc().getTimeInMillis());
 ps.setDate(3, data);
 ps.execute();
 ps.close();
 
} catch (SQLException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 }

 @Override
 public void atualizar(Aluno aluno) {
 // TODO Auto-generated method stub
 String atualiza = "Update Aluno set nome = ?, idade = ?, data_nascimento = ? where id = ?";
 try {
 ps = con.prepareStatement(atualiza);
 ps.setString(1,aluno.getNome());
 ps.setInt(2, aluno.getIdade());
 Date data = new Date(aluno.getDatanasc().getTimeInMillis());
 ps.setDate(3, data);
 ps.executeUpdate();
 ps.close();
 } catch (Exception e) {
 // TODO: handle exception
 }
 
}

 @Override
 public void remover(Aluno aluno) {
 // TODO Auto-generated method stub
 String remove = "delete from Aluno Where id = ?";
 try {
 ps = con.prepareStatement(remove);
 ps.setInt(1,aluno.getId());
 ps.executeUpdate();
 ps.close();
 } catch (Exception e) {
 // TODO: handle exception
 }
 
}

 @Override
 public Aluno pesquizarId(int Id) {
 // TODO Auto-generated method stub
 Aluno aluno = new Aluno();
 String pesquisa = "Selec * from Aluno where id = ?";
 try {
 ps = con.prepareStatement(pesquisa);
 ps.setInt(1,Id);
 rs = ps.executeQuery();
 while (rs.next()){
 aluno.setId(rs.getInt("id"));
 aluno.setNome(rs.getString("nome"));
 aluno.setIdade(rs.getInt("idade"));
 Date data = rs.getDate("data_nascimento");
 Calendar dt = Calendar.getInstance(); // Calendar é uma classe Abstrata
 dt.setTime(data);
 aluno.setDatanasc(dt);
 }
 ps.close();
 rs.close();
 return aluno;
 
} catch (Exception e) {
 // TODO: handle exception
 }
 return null;
 
}

 @Override
 public List<Aluno> todos() {
 // TODO Auto-generated method stub
 List<Aluno> lista = new ArrayList<>();
 String pesqLista = ("Select * from Aluno");
 try {
 ps = con.prepareStatement(pesqLista);
 rs = ps.executeQuery();
 while (rs.next()) {
 Aluno aluno = new Aluno();
 aluno.setId(rs.getInt("id"));
 aluno.setNome(rs.getString("nome"));
 Date data = rs.getDate("data_nascimento");
 Calendar dt = Calendar.getInstance();
 dt.setTime(data);
 aluno.setDatanasc(dt);
 lista.add(aluno);
 }
 ps.close();
 rs.close();
 return lista;
 } catch (Exception e) {
 // TODO: handle exception
 }
 return null;
 }
 }

Servlet de Controlle de Alunos:

Código:

package com.dougllas.servlet.controller;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dougllas.dao.AlunoDaoImpl;
import com.dougllas.model.Aluno;

/**
 * Servlet implementation class AlunoController
 */
@WebServlet("/AlunoController")
public class AlunoController extends HttpServlet {

 private static final long serialVersionUID = 1L;

 @Override
 protected void doPost(HttpServletRequest request,
 HttpServletResponse response) throws ServletException, IOException {

 String action = request.getParameter("action");
 String pagina = "/consultaAlunos.jsp";

                Aluno aluno = new Aluno();
 if (!request.getParameter("id").equals("")
 || request.getParameter("id") != null) {
 aluno.setId(Integer.parseInt(request.getParameter("id")));
 }
 aluno.setNome(request.getParameter("nome"));
 aluno.setIdade(Integer.parseInt(request.getParameter("idade")));
 try {
 Calendar c = Calendar.getInstance();
 Date dataNascimento = new SimpleDateFormat("dd/MM/yyyy")
 .parse(request.getParameter("dataNascimento"));
 c.setTime(dataNascimento);
 aluno.setDataNascimento(c);
 } catch (ParseException e) {
 e.printStackTrace();
 }

 AlunoDaoImpl dao = new AlunoDaoImpl();
 Aluno aluno = getParameters(request);
 

List<Aluno> alunos = new ArrayList<Aluno>();

 switch (action) {

 case "salvar":
 dao.adicionar(aluno);
 alunos = dao.getTodos();
 break;

 case "editar":
 dao.atualizar(aluno);
 alunos = dao.getTodos();
 break;

 case "deletar":
 dao.remover(aluno.getId());
 alunos = dao.getTodos();
 break;

 case "pesquisar":
 aluno = dao.achar(aluno.getId());
 alunos.add(aluno);
 break;
 }

 request.setAttribute("alunos", alunos);
 request.getRequestDispatcher(pagina).forward(request, response);

 }

 @Override
 protected void doGet(HttpServletRequest request,
 HttpServletResponse response) throws ServletException, IOException {
 AlunoDaoImpl dao = new AlunoDaoImpl();

 if (request.getParameter("action").equals("listar")) {

 List<Aluno> alunos = dao.getTodos();
 request.setAttribute("alunos", alunos);
 request.getRequestDispatcher("consultaAlunos.jsp").forward(request,
 response);

 } else if (request.getParameter("action").equals("editando")) {

 String id = request.getParameter("id");
 int idAluno = Integer.parseInt(id);

 Aluno aluno = dao.achar(idAluno);
 
request.setAttribute("aluno", aluno);
 request.getRequestDispatcher("editandoAluno.jsp").forward(request,
 response);
 }

 }


Página jsp para cadastro de Alunos:

Código:

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="com.dougllas.model.Aluno"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>
 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Cadastro Alunos</title>

<style type="text/css">
 body {
 font-family: sans-serif;
 }
 
h1 {
 font-size: 25px;
 padding: 20px;
 }
 
#top {
 height: 80px;
 background: black;
 color: white;
 margin-top: 50px;
 }
 
#conteudo {
 height: 300px;
 margin-top: 10px;
 }
 
#rodape {
 font-size: 14px;
 }
 
.botao {
 background-color: #638cb5;
 color: white;
 border: 0;
 height: 30px;
 font-size: 14px;
 }
 
.textfield {
 border-radius: 20px;
 }
 
table td{
   border: 1;
   padding: 5px;
  
}
 
.tabela{
 font-size: 12px;
 width: 50%;
 }
 
.coluna{
   background: silver;
   font-weight: bold;
   font-size: 14px;
 }
 
ul{
 background: aqua;
 color: black;
 font-weight: bold;
 font-family: monospace;
 padding: 20px;
 height: 20px;
 }
 
ul li{
 display: inline;
 padding: 20px;
 }

</style>
</head>
<body>
 <div id="top">
 <h1>Cadastro de Alunos</h1>
 </div>
 <ul>
 <li><a href="cadastroAlunos.jsp">Cadastrar Aluno</a><li>
 <li><a href="AlunoController?action=listar">Consultar Aluno</a><li>
 </ul>
 <fieldset>
 <div id="conteudo">

 <form action="AlunoController" method="post">
 
<table>
 <tr>
 <td>Id:</td>
 <td><input type="text" name="id" size="5"></td>
 </tr>
 <tr>
 <td>Nome:</td>
 <td><input type="text" name="nome" size="40"></td>
 </tr>
 <tr>
 <td>Idade:</td>
 <td><input type="text" name="idade" size="5"></td>
 </tr>
 <tr>
 <td>Data Nascimento:</td>
 <td><input type="text" name="dataNascimento" size="10">
 </td>
 </tr>
 <tr>
 <td colspan="4">
 <input type="submit" name="action" value="salvar" class="botao">
<input type="submit" name="action" value="editar" class="botao">
<input type="submit" name="action" value="deletar" class="botao">
 <input type="submit" name="action" value="pesquisar" class="botao">
 </td>
 </tr>
 </table>
 </form>

 </div>
 </fieldset>
 <div id="rodape">
 Dougllas WebSystems - Todos os direitos reservados
 </div>
</body>
</html>


Página jsp de consulta de alunos

Código:

<%@page import="java.io.IOException"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="com.dougllas.model.Aluno"%>
<%@page import="java.util.List"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Consulta Alunos</title>
<style type="text/css">
body {
 font-family: sans-serif;
}

h1 {
 font-size: 25px;
 padding: 20px;
}

#top {
 height: 80px;
 background: black;
 color: white;
 margin-top: 50px;
}

#conteudo {
 height: 600px;
 margin-top: 10px;
}

#rodape {
 font-size: 14px;
}

.botao {
 background-color: #638cb5;
 color: white;
 border: 0;
 height: 30px;
 font-size: 14px;
}

.textfield {
 border-radius: 20px;
}

table td {
 border: 1;
 padding: 5px;
}

.tabela {
 font-size: 12px;
 width: 50%;
}

.coluna {
 background: silver;
 font-weight: bold;
 font-size: 14px;
}

ul {
 background: aqua;
 color: black;
 font-weight: bold;
 font-family: monospace;
 padding: 20px;
 height: 20px;
}

ul li {
 display: inline;
 padding: 20px;
}
</style>
</head>
<body>
 <div id="top">
 <h1>Consulta Alunos</h1>
 </div>
 <ul>
 <li><a href="cadastroAlunos.jsp">Cadastrar Aluno</a><li>
 <li><a href="AlunoController?action=listar">Consultar Aluno</a><li>
 </ul>
 <fieldset>
 <div id="conteudo">

 <table border="2" class="tabela">
 <tr>
 <td class="coluna" align="center">Id</td>
 <td class="coluna" align="center">Nome</td>
 <td class="coluna" align="center">Idade</td>
 <td class="coluna" align="center">Data Nascimento</td>
 <td class="coluna" align="center">Editar</td>
 </tr>
 <%
 @SuppressWarnings("unchecked")
 List<Aluno> alunos = (List<Aluno>) request.getAttribute("alunos");
 for(Aluno aluno : alunos){
 %>
 <tr>
 <td>
 <%out.println(aluno.getId());%>
 </td>
 <td>
 <%out.println(aluno.getNome()); %>
 </td>
 <td>
 <%out.println(aluno.getIdade()); %>
 </td>
 <td>
 <%
 
out.println(new SimpleDateFormat("dd/MM/yyyy").format(aluno.getDataNascimento().getTime()));

%>
 </td>
 <td><a href="AlunoController?action=editando&id=<%out.println(aluno.getId()); %>">editar</a>
 </td>
 </tr>
 <%} %>
 </table>

 </div>
 </fieldset>
 <div id="rodape">Dougllas WebSystems - Todos os direitos
 reservados</div>
</body>
</html>





Página jsp de edicao de alunos:

Código:

<%@page import="com.dougllas.dao.AlunoDaoImpl"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="com.dougllas.model.Aluno"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Cadastro Alunos</title>

<style type="text/css">
body {
 font-family: sans-serif;
}

h1 {
 font-size: 25px;
 padding: 20px;
}

#top {
 height: 80px;
 background: black;
 color: white;
 margin-top: 50px;
}

#conteudo {
 height: 300px;
 margin-top: 10px;
}

#rodape {
 font-size: 14px;
}

.botao {
 background-color: #638cb5;
 color: white;
 border: 0;
 height: 30px;
 font-size: 14px;
}

.textfield {
 border-radius: 20px;
}

table td {
 border: 1;
 padding: 5px;
}

.tabela {
 font-size: 12px;
 width: 50%;
}

.coluna {
 background: silver;
 font-weight: bold;
 font-size: 14px;
}

ul {
 background: aqua;
 color: black;
 font-weight: bold;
 font-family: monospace;
 padding: 20px;
 height: 20px;
}

ul li {
 display: inline;
 padding: 20px;
}
</style>
</head>
<body>
 <div id="top">
 <h1>Editando Aluno</h1>
 </div>
 <ul>
 <li><a href="cadastroAlunos.jsp">Cadastrar Aluno</a><li>
 <li><a href="AlunoController?action=listar">Consultar Aluno</a><li>
 </ul>
 <fieldset>
 <div id="conteudo">
 <form action="AlunoController" method="post">
 <%
Aluno aluno = (Aluno)request.getAttribute("aluno");
 %>
 <table>
 <tr>
 <td>Id:</td>
 <td><input type="text" name="id" size="5"
 value="<%=aluno.getId()%>"></td>
 </tr>
 <tr>
 <td>Nome:</td>
 <td><input type="text" name="nome" size="40"
 value="<%=aluno.getNome()%>"></td>
 </tr>
 <tr>
 <td>Idade:</td>
 <td><input type="text" name="idade" size="5"
 value="<%=aluno.getIdade()%>"></td>
 </tr>
 <tr>
 <td>Data Nascimento:</td>
 <td><input type="text" name="dataNascimento" size="10"
 value="<%=new SimpleDateFormat("dd/MM/yyyy").format(aluno.getDataNascimento().getTime())%>">
 </td>
 </tr>
 <tr>
 <td><input type="submit" value="editar" name="action" class="botao"></td>
 <td><input type="submit" name="action" value="deletar" class="botao"></td>
 </tr>
 </table>
 </form>
 </div>
 </fieldset>
 <div id="rodape">Dougllas WebSystems - Todos os direitos
 reservados</div>
</body>
</html>

Dougllas
Dougllas
Admin

Mensagens : 26
Data de inscrição : 26/12/2013

https://dougllaojavaweb.directorioforuns.com

Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos