Clase Usuario
/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.lojavirtual.modelo;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
/**
*
public class UsuarioDao {
private final String user = "root";
private final String password = "Tamires90()";
private final String url="jdbc:mysql://localhost:3306/LojaVirtual";
private Connection con;
private Statement st;
private PreparedStatement pst;
List<Usuario> lista = new ArrayList<>();
public int conectar(){
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
return 0;
} catch(ClassNotFoundException e){
System.out.println("Driver de conexão não encontrado " + e.getMessage());
return 1;
} catch(SQLException ex){
System.out.println("Base de dados não Encontrada " + ex.getMessage());
return 2;
}
}
public int desconectar(){
try{
con.close();
return 0;
} catch(SQLException ex){
System.out.println("Falha ao desconectar" + ex.getMessage());
return 1;
}
}
public int inserir(String nome, String email, String telefone, String login, String senha){
try{
st.executeUpdate("INSERT INTO usuario(nome, email, telefone, login, senha) VALUES ('"+nome+"','"+email+"','"+telefone+"','"+login+"','"+senha+"')");
return 0;
} catch(SQLException e){
System.out.println(e);
return 1;
}
}
public List pesquisar(){
try{
ResultSet rs = st.executeQuery("SELECT * FROM usuario ORDER BY nome");
while(rs.next()){
Usuario usuario = new Usuario();
usuario.setNome(rs.getString("nome"));
usuario.setEmail(rs.getString("email"));
usuario.setTelefone(rs.getString("telefone"));
lista.add(usuario);
}
return lista;
} catch(SQLException ex){
return lista;
}
}
}
Classe UsuarioDao
/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.lojavirtual.modelo;
import java.util.ArrayList;
import java.util.List;
/**
*
-
@author rafael
*/
public class Usuario {
private long id;
private String nome;
private String email;
private String telefone;
private String login;
private String senha;
public Usuario(){
List Usuario = new ArrayList<>();
}
public long getId(){
return id;
}
public void setId(long id){
this.id = id;
}
public String getNome(){
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email = email;
}
public String getTelegone(){
return telefone;
}
public void setTelefone(String telefone){
this.telefone = telefone;
}
public String getLogin(){
return login;
}
public void setLogin(String login){
if(login.length() < 5){
throw new IllegalArgumentException(“Login tem que ter pelo menos 5 caracteres”);
}
this.login = login;
}
public String getSenha(){
return senha;
}
public void setSenha(String senha){
this.senha = senha;
}
}
/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package br.com.lojavirtual.controle;
import br.com.lojavirtual.modelo.Usuario;
import br.com.lojavirtual.modelo.UsuarioDao;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
}
A view
<%@page import=“br.com.lojavirtual.modelo.Usuario”%>
<%@page import=“java.util.Iterator”%>
<%@page import=“br.com.lojavirtual.modelo.UsuarioDao”%>
<%@page import=“java.util.List”%>
<!doctype html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Tec Fontes</title>
<meta name="description" content="">
<!--<meta http-equiv="Refresh" content="0; URL=login.html">-->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="imagens/ms-icon-144x144.png">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/estilo.css">
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.8.3-respond-1.4.2.min.js"></script>
</head>
<body>
<nav class="navbar navbar-fixed-top navbar-inverse navbar-transparente">
<div class="container">
<!-- header-->
<div class="navbar-header">
<!--botao para celular-->
<button type="button" class="navbar-toggle collapsed"
data-toggle="collapse" data-target="#barra-navegacao">
<span class="sr-only">Alternar navegação</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="index.html" class="navbar-brand">
<span class="img-logo"></span>
</a>
</div>
<!--barra menu-->
<div class="collapse navbar-collapse" id="barra-navegacao">
<ul class="nav navbar-nav navbar-right">
<li><a href="index.html">Central do sistema</a></li>
<li><a href="cadastro.jsp.html">Cadastro</a></li>
<li><a href="#">Compras </a></li>
<li class="divisor" role="separator"></li>
<li><a href="Ajuda.html">Versão</a></li>
</ul>
</div><!--/barra menu-->
</div><!--/container-->
</nav>
<div class="row">
<div class="col-sm-6">
<br><br>
<h2>Usuários</h2>
</div>
<form action="ControllerUSuario" method="post">
<div class="col-sm-6 text-right h2">
<br><br>
<button type="submit" class="btn-lg btn-primary" href="index.html">
<i class="fa fa-plus"></i>Voltar</button>
<button type="submit" class="btn-lg btn-danger" href="ControllerUsuario">
<i class="fa fa-refresh"></i>Atualizar</button>
</div>
</div>
<hr>
<table class="table table-hover">
<thead>
<tr>
<th>Id</th>
<th width="30%">Nome</th>
<th>Telefone</th>
<th>Opções</th>
</tr>
</thead>
<tbody>
<%
List lista = (List) request.getAttribute("ListaUsuario");
for(Iterator iterator = lista.iterator(); iterator.hasNext();){
Usuario usuarios = (Usuario) iterator.next();%>
<tr>
<th><%= usuarios.getNome()%></th>
<th><%= usuarios.getEmail()%></th>
<th><%= usuarios.getTelegone()%></th>
</tr>
<%
}
%>
</tbody>
</table>
</form>
</body>
Ele está dando nullPointerExecption no array mas não sei oque faço, para resolver isso