Pessoal, estou tentando popular uma tabela no jsp apartir do banco mas estou recebendo um erro http 500, alguem poderia me ajudar com as informações abaixo? Muito agradecido!!!
abraço a todos!
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /listarClientes.jsp at line 32
[quote=marciokarpyn]Pessoal, estou tentando popular uma tabela no jsp apartir do banco mas estou recebendo um erro http 500, alguem poderia me ajudar com as informações abaixo? Muito agradecido!!!
abraço a todos!
_______________________________________________________________________________________________
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: An exception occurred processing JSP page /listarClientes.jsp at line 32
29:
30: <%
31: Collection<Cliente> clientes = (Collection<Cliente>)request.getAttribute("lista");
32: for(Cliente c : clientes){
33: %>
34: <tr>
35: <td><%=c.getId()%></td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NullPointerException
org.apache.jsp.listarClientes_jsp._jspService(listarClientes_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
[/quote]
oi
por favor, coloque seu texto entre as tags [ code ] fica mais fácil a leitura
a excessão é clara, NullPointerException, isto está acontecendo no trecho
Collection<Cliente> clientes = (Collection<Cliente>)request.getAttribute("lista");
for(Cliente c : clientes){
isso é, você está tentando acessar um valor de um objeto nulo
Olá pessoa, tudo bem?
Bom, eu estou iniciando agora com Java/Frameworks e estou tendo um problema com o erro 500.
Fiz uma tela (index.jsp) onde verifico no banco de dados se um tal cnpj da vida existe, caso positivo, ele me redireciona para a pagina seguinte (tudo ok até ai), mas quando informo um cnpj que nao existe ele me devolve o erro 500.
Alguém poderia me auxiliar? Grato.
Veja meu login action:
[code]/* @Validations(requiredStrings={ @RequiredStringValidator(fieldName=“loginConexao.cnpj”, message=“O CNPJ informado não localizado em nossa base de dados.”)
})
*/
public class LoginAction extends ActionSupport {
private LoginConexao loginConexao;
@Action(value = "cnpj", results = {
@Result(location = "/ok.jsp", name = "ok"),
@Result(location = "/index.jsp", name = "error")})
public String execute() {
Session session = new HibernateUtil().getSession();
// nao precisa so consulta session.beginTransaction();
if (new LoginConexaoDAO(session).procura(loginConexao)) {
ActionContext.getContext().getSession()
.put("cnpj", loginConexao);
// nao precisa so consulta session.getTransaction().commit();
session.close();
return "ok";
}
session.getTransaction().commit();
session.close();
return "error";
}
public LoginConexao getLoginConexao() {
return loginConexao;
}
public void setLoginConexao(LoginConexao loginConexao) {
this.loginConexao = loginConexao;
}
}
[/code]
Meu LoginConexaoDAO :
[code]public class LoginConexaoDAO {
private Session session;
public LoginConexaoDAO (Session session) {
this.session = session;
}
@SuppressWarnings("unchecked")
public Boolean procura(LoginConexao loginConexao) {
Query query = this.session.createQuery("from LoginConexao where cliente_cnpj = :cnpj");
query.setString("cnpj", loginConexao.getCnpj());
List<LoginConexao> lista = (List<LoginConexao>) query.list();
if (lista.size()>0){
return true;
}
return false;
}
}[/code]
Retornos do erro:
[list]HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.hibernate.TransactionException: Transaction not successfully started
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:131)
br.com.inforbyte.action.LoginAction.execute(LoginAction.java:41)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)[/list]
Valeu brother obrigado pela explicação. Mas como assim objeto nulo? significa que não tem dados no banco? ou que o objeto não existe? Como resolvo isso exatamente? desculpe-me as perguntas idiotas.