estou usando postgreSQL segue o crud:
CREATE TABLE Aluno (
PRIMARY KEY (cpf),
cpf varchar (14) NOT NULL,
nome varchar (80) NOT NULL,
email varchar (60) NOT NULL,
senha varchar (40) NOT NULL,
sexo varchar (9) NOT NULL,
rg varchar (9) NOT NULL,
nomeResponsavel varchar (80) NOT NULL,
fone varchar (15) NOT NULL,
cep varchar (9) NULL,
numeroCasa int NULL,
complemento varchar (30) NULL,
rua varchar (80) NULL,
bairro varchar (80) NULL,
cidade varchar (30) NULL,
estado varchar (30) NULL,
escola varchar (80) NULL,
ensino varchar (40) NULL,
turma varchar (10) NULL,
turno varchar (10) NULL,
dataNascimento Date NOT NULL,
dataEfetivada Date NOT NULL
);
CREATE TABLE Escolas (
PRIMARY KEY (codigo),
codigo int NOT NULL,
escola varchar (80) NOT NULL,
endereco varchar (80) NOT NULL
);
INSERT INTO escolas (codigo, escola, endereco) values ('1', 'Hercilio Deeke', 'Rua do Caralho');
INSERT INTO escolas (codigo, escola, endereco) values ('2', 'Adolpho Konder', 'Rua do Carvalho');
INSERT INTO escolas (codigo, escola, endereco) values ('3', 'Escola Legal', 'Rua do Canario');
INSERT INTO escolas (codigo, escola, endereco) values ('4', 'Escola ruim', 'Rua do Carro');
INSERT INTO escolas (codigo, escola, endereco) values ('5', 'Escola Mais ou Menos', 'Rua do Cabeçalho');
INSERT INTO aluno (nome, cpf, email, dataNascimento, sexo, rg, nomeResponsavel, senha, fone, cep, dataEfetivada)
values ('Eduardo', '111.111.111-11', 'admin@gmail.com', '27/11/2003', 'masculino', '1.111.111', 'Leticia Ribeiro', '1234', '(11)11111-1111', '11111-111', '05/08/2021');
INSERT INTO aluno (nome, cpf, email, dataNascimento, sexo, rg, nomeResponsavel, senha, fone, cep, dataEfetivada)
values ('Julia', '222.222.222-22', 'admin2@gmail.com', '02/02/2002', 'feminino', '2.222.222', 'Lurdes Ribeiro', '123', '(22)22222-2222', '22222-222', '17/08/2021');
select * from aluno;
select * from escolas;
drop table aluno;
drop table escolas;
///////////////////////////////////
Usando esse metodo para validar o login:
public boolean validarLogin (String email, String cpf){
// Manda como parametro para ele duas variaveis para ele procurar no banco de dados!
String sql = "select email, cpf from Aluno where email = ? and cpf = ?";
Connection con = Conexao.Conectar();
try {
PreparedStatement stm = con.prepareStatement(sql);
stm.setString(1, email);
stm.setString(2, cpf);
ResultSet rs = stm.executeQuery();
return rs.next();
} catch (SQLException ex) {
System.out.println("Erro:" + ex.getMessage());
}
return true;
}
Usando esse metodo para consultar:
public List<Aluno> consultarAluno(String cpf) {
List<Aluno> lista = new ArrayList<>();
Aluno aluno = new Aluno();
// conectando no banco de dados
Connection con = Conexao.Conectar();
// comandos banco de dados
String sql = "select * from Aluno ";
if (cpf != "") {
sql += "where cpf = ? ";
}
sql += "order by cpf";
try {
PreparedStatement stm = con.prepareStatement(sql);
if (cpf != "") {
sql += "where cpf = ?";
}
stm.setString(1, cpf);
ResultSet rs = stm.executeQuery();
while(rs.next()){
Aluno aluno1 = new Aluno();
aluno1.setNome(rs.getString("nome"));
aluno1.setCpf(rs.getString("cpf"));
aluno1.setEmail(rs.getString("email"));
aluno1.setDataNascimento(rs.getDate("dataNascimento"));
aluno1.setSexo(rs.getString("sexo"));
aluno1.setRg(rs.getString("rg"));
aluno1.setNomeResponsavel(rs.getString("nomeResponsavel"));
aluno1.setSenha(rs.getString("senha"));
aluno1.setFone(rs.getString("fone"));
aluno1.setCep(rs.getString("cep"));
aluno1.setDataEfetivada(rs.getDate("dataEfetivada"));
aluno1.setEscola(rs.getString("escola"));
aluno1.setEnsino(rs.getString("ensino"));
aluno1.setTurma(rs.getString("turma"));
aluno1.setTurno(rs.getString("turno"));
aluno1.setNumeroCasa(rs.getInt("numeroCasa"));
aluno1.setComplemento(rs.getString("complemento"));
aluno1.setRua(rs.getString("rua"));
aluno1.setBairro(rs.getString("bairro"));
aluno1.setCidade(rs.getString("cidade"));
lista.add(aluno1);
}
} catch (SQLException ex) {
System.out.println("Erro:" + ex.getMessage());
}
return lista;
}
Em jsp tenho o login e logar:
<%@page import="Model.Aluno"%>
<%@page import="DAO.AlunoDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
String email = request.getParameter("email");
String cpf = request.getParameter("cpf");
Aluno aluno = new Aluno();
aluno.setEmail(email);
aluno.setCpf(cpf);
AlunoDAO alunoDAO = new AlunoDAO();
if(alunoDAO.validarLogin(email, cpf) == true){
session.getAttribute("cpf");
response.sendRedirect("index.html");
}else{
response.sendRedirect("login.jsp?msg=loginIncorreto");
}
%>
<%@page import="Model.Aluno"%>
<%@page import="DAO.AlunoDAO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="./style/login.css">
<link rel="shortcut icon" type="image/x-icon" href="./favico.ico/logo1.ico"/>
<title>Login | Matrícula Virtual</title>
</head>
<body>
<div class="box-login">
<form class="box" action="logar.jsp">
<div class="title">
<h1>Bem-Vindo</h1>
<p>Matrícula Virtual</p>
</div>
<input type="text" name="email" placeholder="E-mail" required="required">
<input type="password" name="cpf" placeholder="Password" required="required">
<input type="submit" name="entrar" value="Sign in">
<a class="cadastro" href="cadastrar.jsp?">Cadastre-se</a>
</form>
</div>
</body>
</html>
E por fim nos dados pessoas que é onde não estou conseguindo fazer aparecer apenas os dados de quem esta logado:
<label for="infoP" class="tab_label">Informações Pessoais</label>
<div class="tab-content">
<article>
<div class="info">
<%
String cpf = (String) session.getAttribute("cpf");
AlunoDAO alunoDAO = new AlunoDAO();
Aluno a = new Aluno();
List<Aluno> lista = alunoDAO.consultarAluno(cpf);
for (Aluno aluno: lista) {
%>
<div class="information">
<label>Nome</label>
<div>
<input class="input" value="<% out.write(aluno.getNome()); %>" disabled="disabled">
</div>
</div>
<div class="information">
<label>CPF</label>
<div>
<input class="input" value="<% out.write(aluno.getCpf()); %>" disabled="disabled">
</div>
</div>
<div class="information">
<label>RG</label>
<div>
<input class="input" value="<% out.write(aluno.getRg()); %>" disabled="disabled">
</div>
</div>
<div class="information">
<label>Nascimento</label>
<div>
<input class="input" value="<% out.write(String.valueOf(aluno.getDataNascimento())); %>" disabled="disabled">
</div>
</div>
</div>
</article>
</div>
</li>
<li>
<input type="radio" name="tabs" class="rd_tab" id="contato">
<label for="contato" class="tab_label">Contato</label>
<div class="tab-content">
<article>
<div class="information">
<label>E-mail</label>
<div>
<input class="input" value="<% out.write(aluno.getEmail()); %>" disabled="disabled">
</div>
</div>
<div class="information">
<label>Telefone</label>
<div>
<input class="input" value="<% out.write(aluno.getFone()); %>" disabled="disabled">
</div>
Por favor se puderem me ajudar ficarei muito grato