Connectioncon=Conexao.receberConexao();ArrayList<Funcionario>funcionarios=newArrayList<Funcionario>();Stringsql="SELECT * FROM funcionario";try{PreparedStatementpreparador=con.prepareStatement(sql);ResultSetresultado=preparador.executeQuery();while(resultado.next()){Funcionariofuncionario=newFuncionario();funcionario.setCodigo(resultado.getInt("codigo"));funcionario.setNome(resultado.getString("nome"));funcionario.setIdade(resultado.getString("idade"));funcionario.setCpf(resultado.getString("cpf"));funcionario.setRg(resultado.getString("rg"));funcionario.setCargo(resultado.getString("cargo"));funcionario.setSalario(resultado.getDouble("salario"));funcionarios.add(funcionario);}}catch(SQLExceptione){e.printStackTrace();}returnfuncionarios;}
Connectioncon=Conexao.receberConexao();ArrayList<Funcionario>funcionarios=newArrayList<Funcionario>();Stringsql="SELECT * FROM funcionario";try{PreparedStatementpreparador=con.prepareStatement(sql);ResultSetresultado=preparador.executeQuery();while(resultado.next()){Funcionariofuncionario=newFuncionario();funcionario.setCodigo(resultado.getInt("codigo"));funcionario.setNome(resultado.getString("nome"));funcionario.setIdade(resultado.getString("idade"));funcionario.setCpf(resultado.getString("cpf"));funcionario.setRg(resultado.getString("rg"));funcionario.setCargo(resultado.getString("cargo"));funcionario.setSalario(resultado.getDouble("salario"));funcionarios.add(funcionario);}}catch(SQLExceptione){e.printStackTrace();}returnfuncionarios;}
Use o debug, marque a linha 47 do método mostrarTodos, veja qual variável está null.
O atributo listaFuncionariosRecebidos foi enviado na requisição?
Ou está solicitando o atributo antes de fazer o set dele nas instrução ?request.setAttribute("listaFuncionariosRecebidos", funcionariosRecebidos);
P
Solucao aceita
PedreiroDeSoftware
Quem tem que armazenar o resultado é a sessão, não o request. (HttpSession)request.getSession().setAttribute("listaFuncionariosRecebidos", funcionariosRecebidos);
Assim, que tem que buscar o resultado é a sessão, não o request. (HttpSession)request.getSession().getAttribute("listaFuncionariosRecebidos");
Consegui resolver com isso, agora está dando NullPointerException na linha 47 como vc tinha mencionado mais eu rodo o debug nela e não da nenhum tipo de erro
P
PedreiroDeSoftware
A instrução deve ser chamada na página JSP.
Se não chamar ela lá da nullPointerException.
No servlet vc chama o setAttribute (ok).
Na JSP o getAttribute(falta chamar lá).
Na JSP substituir por <%ArrayList funcionarios = (ArrayList)((HttpSession) request.getSession().getAttribute(“listaFuncionariosRecebidos”));
%>
L
lgoliveira1
O HttpSession eu preciso criar uma constant uma variavel ou definir um parametro pq ta dando erro. E qualquer um desses que eu crio da erro no request se eu deixar sem o HttpSession ele volta pro primeiro erro que estava dando
se eu deixo apenas o resquest.getSession ele funciona mais da o erro do NullPointer
Multiple markers at this line
- Syntax error, insert “AssignmentOperator Expression” to complete Assignment
- Syntax error, insert “;” to complete Statement
- The method setAttribute(String, Object) in the type HttpSession is not applicable for the arguments
(String)
Quando eu rodo o mostrarTodos no java ele mostra todos os dados cadastrado no banco de dados certinho
L
lgoliveira1
funcionarios também está null
P
PedreiroDeSoftware
No servlet marque a linha acima.
Execute o projeto com debug.
Veja se a variável funcionariosRecebidos está null.
Imprima o método mostrarTodos() aqui.
Imprima a pilha de erro aqui.
opçao 3
1ª vá no projeto
2ª clique com o botão auxiliar em blibliotecas
3º clique em adicionar biblioteca
4º selecione a opção Driver JDBC do MySql
5º remover o Class.forName, como se segue:
No servlet marque a linha: HttpSession session = request.getSession();
Execute o projeto com debug.
Veja se a variável funcionariosRecebidos está null.
O código que vc passou não tinha 99 linhas.
O que está escrito na linha 99 da JSP?
Use o debug na JSP na linha 99, veja quem está null.
Vc acessa a JSP sem passar pelo servlet?
Se sim, tem que usar filtro, pois tem que passar pelo servlets antes.
Ou pode ignorar a JSP, mas de qualquer forma precisa dos filtros: