Bom dia Galera, estou tentando fazer um sisteminha Intranet usando como referência a apostila FJ-21 e estou com o seguinte problema…
Bem galera, quero pegar parametros da página “alterametas.jsp”, mas esta ocorrendo o famoso " NullPointerException", sera que alguem poderia me ajudar nesse erro?
[code]<%@ 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” %>
Alteração de Metas:<br/>
<form action="alterametas" method="POST">
Campanha:<input type="text" name="campanha"/><br/>
Meta do Dia:<input type="text" name="meta_hoje"/><br/>
Meta da semana:<input type="text" name="meta_semana"/><br/>
Meta do mes:<input type="text" name="meta_mes"/><br/>
<input type="submit" value="Enviar"/>
</form>
<c:import url=“rodape.jsp” />
[/code][code]package br.com.wa.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import br.com.wa.dao.RankingDAO;
import br.com.wa.modelo.Metas;
public class AlteraMetas extends HttpServlet {
protected void service(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
// busca o writer
PrintWriter out = response.getWriter();
// buscando os parâmetros no request
String campanha = request.getParameter("campanha");
int meta_hoje = (Integer.parseInt(request.getParameter("meta_hoje")));
int meta_semana = (Integer.parseInt(request.getParameter("meta_semana")));
int meta_mes = (Integer.parseInt(request.getParameter("meta_mes")));
// monta um objeto contato
Metas metas = new Metas();
metas.setCampanha(campanha);
metas.setMeta_hoje(meta_hoje);
metas.setMeta_semana(meta_semana);
metas.setMeta_mes(meta_mes);
// salva o contato
RankingDAO dao = new RankingDAO();
dao.atualiza(metas);
// imprime o nome do contato que foi adicionado
RequestDispatcher rd = request
.getRequestDispatcher("/ranking_online.jsp");
rd.forward(request, response);
out.println("<html>");
out.println("<body>");
out.println("Alteração feita com sucesso");
out.println("</body>");
out.println("</html>");
}
}[/code]
[code]package br.com.wa.dao;
import java.sql.*;
import br.com.wa.connection.Connect;
import br.com.wa.modelo.Metas;
public class RankingDAO {
private static Connection connection;
public RankingDAO(Connection connection) {
this.connection = connection;
}
public RankingDAO() {
this.connection = new Connect().getConexao();
}
public void atualiza(Metas metas) {
String sql = "UPDATE CONTATOS SET META_HOJE=?, META_SEMANA=?, META_MENSAL=? WHERE TXT_PRODUTO=?";
try {
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setInt(1, metas.getMeta_hoje());
stmt.setInt(2, metas.getMeta_semana());
stmt.setInt(3, metas.getMeta_mes());
stmt.setString(4, metas.getCampanha());
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
[/code]
ERRO:
[code]type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
br.com.wa.dao.RankingDAO.atualiza(RankingDAO.java:24)
br.com.wa.servlet.AlteraMetas.service(AlteraMetas.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.32 logs.[/code]
OBS: Testeo método atualiza do RankingDAO e esta funcionando perfeitamente, mas parece que tem algo errado com a passagem do parâmetro.
Como sou iniciante em java não consigo resolver esse erro!