Quantcast
Channel: Últimos conteúdos
Viewing all articles
Browse latest Browse all 14190

Falha ao conectar o MySQL

$
0
0
Olá pessoal, estou tomando uma coça para entender a dinâmica do java(fase inicial) mas acho que para o que estou querendo estou quase lá.
 
Quando tento acessar o servlet recebo o seguinte erro:
HTTP Status 500 - 
 
 
type Exception report
 
message 
 
description The server encountered an internal error that prevented it from fulfilling this request.
 
exception
java.lang.NullPointerException
java.util.Properties$LineReader.readLine(Unknown Source)
java.util.Properties.load0(Unknown Source)
java.util.Properties.load(Unknown Source)
util.Conexao.getConnection(Conexao.java:22)
dao.ProfessorDAO.<init>(ProfessorDAO.java:30)
controller.ProfessorServlet.processRequest(ProfessorServlet.java:52)
controller.ProfessorServlet.doPost(ProfessorServlet.java:67)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
 
 
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.22 logs.
 
 
Apache Tomcat/8.0.22
Meu arquivo de conexão é:
package util;
 
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
 
public class Conexao {
 
    private static Connection connection = null;
 
    public static Connection getConnection() {
        if (connection != null)
            return connection;
        else {
            try {
                Properties prop = new Properties();
                InputStream inputStream = Conexao.class.getClassLoader().getResourceAsStream("db.properties");
                prop.load(inputStream);
                String driver = prop.getProperty("driver");
                String url = prop.getProperty("url");
                String user = prop.getProperty("user");
                String password = prop.getProperty("password");
                Class.forName(driver);
                connection = DriverManager.getConnection(url, user, password);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return connection;
        }
 
    }
}
O tal arquivo db.properties é
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/imwsaogotardo
user=imwsaogotardo
password=carcleo
Meu arquivo de servlet é
package controller;
 
import java.io.IOException;
 
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import dao.ProfessorDAO;
import model.Professor;
 
/**
 * Servlet implementation class ProfessorServlet
 */
@WebServlet("/ProfessorServlet")
public class ProfessorServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
 
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ProfessorServlet() {
        super(); 
        // TODO Auto-generated constructor stub
    }
 
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
// TODO Auto-generated method stub 
 
        String login = request.getParameter("login");
        String senha = request.getParameter("senha");
        String nome = request.getParameter("nome");
        java.util.Date data = new java.util.Date();
        int  sala = Integer.parseInt(request.getParameter("sala"));
 
        Professor professor = new Professor(
         login,
         senha,
         nome,
         data,
         sala
         );
 
 
ProfessorDAO dao = new ProfessorDAO();
dao.addProfessor(professor);
 
RequestDispatcher rd = request.getRequestDispatcher("listar.jsp");
rd.forward(request, response);
 
}
 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
processRequest( request,  response);
}
 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
processRequest( request,  response);
}
}
E o arquivo dao é
 
package dao;
 
/* 
            ///////////////////////////////////////BUSCANDO O ID DA SALA/////////////////////           
            PreparedStatement select = connection.prepareStatement( "select id from sala where nome = ?");
            select.setString(1, _professor.getNomeSala());
            ResultSet rs = select.executeQuery();
            int idSala = rs.getInt("id");
            //////////////////////////////////////////////////////////////////////////////////
*/
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.GregorianCalendar;
import model.Professor;
import util.Conexao;
 
public class ProfessorDAO
 {
 
    private Connection connection;
 
    public ProfessorDAO() 
    {
        connection = Conexao.getConnection();
    }
 
    public void addProfessor(Professor _professor) 
    {
        try {
         PreparedStatement insert = connection.prepareStatement("insert into professor(login, senha, nome, dataCadastro, sala) values (?, ?, ?, ?, ? )");         
            // Parameters start with 1
            insert.setString(1, _professor.getLogin());
            insert.setString(2, _professor.getSenha());
            insert.setString(3, _professor.getNome());
            insert.setDate(4, new java.sql.Date(_professor.getDataCadastro().getTime()));
            insert.setInt(5, _professor.getSala());
            insert.executeUpdate();
 
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
 
    public void deleteProfessor(int _professorId) 
    {
        try {
            PreparedStatement preparedStatement = connection.prepareStatement("delete from professor where id=?");
            // Parameters start with 1
            preparedStatement.setInt(1, _professorId);
            preparedStatement.executeUpdate();
 
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
 
    public void updateProfessor(Professor _professor) 
    {
        try {
         //java.util.Date novaData = new Date();
         GregorianCalendar novaData = new GregorianCalendar();
         java.sql.Date dataNova = new java.sql.Date(novaData.getTime().getTime());
         
            PreparedStatement preparedStatement = connection.
            prepareStatement("update professor set nome=?, login=?, senha=?, dataCadastro=?, sala=?" + "where id=?");
            // Parameters start with 1
            preparedStatement.setString(1, _professor.getNome());
            preparedStatement.setString(2, _professor.getLogin());
            preparedStatement.setString(3, _professor.getSenha());
            preparedStatement.setDate(4,  dataNova);
            preparedStatement.setInt(5,  _professor.getSala());
            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
 
    public List<Professor> getAllProfessores() 
    {
        List<Professor> professor = new ArrayList<Professor>();
        try {
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("select nome, login, senha, dataCadastro, sala from professor");
            while (rs.next()) 
            {            
                Professor professorRS = new Professor(
                       rs.getString("nome"),
                       rs.getString("login"),
                       rs.getString("senha"),
                       rs.getDate("dataCadastro"),
                       rs.getInt("sala")
                       );
                professor.add(professorRS);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
 
        return professor;
    }
 
    public Professor getProfessorById(int _professorId) 
    {
        Professor professor;
        professor = null;
        try {
            PreparedStatement preparedStatement = connection.prepareStatement("select nome, login, senha, dataCadastro sala from professor where id=?");
            preparedStatement.setInt(1, _professorId);
            ResultSet rs = preparedStatement.executeQuery();
 
            if (rs.next()) 
            {
             new Professor(             
                       rs.getString("nome"),
                       rs.getString("login"),
                       rs.getString("senha"),
                       rs.getDate("dataCadastro"),
                       rs.getInt("sala")
                       );
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
 
        return professor;
    }
}
O jsp é
 
<div id="indexMeio">
 
    <form action="ProfessorServlet" method="post">
      <input type="text" name="login" id="login"><br />
      <input type="text" name="senha" id="senha"><br />
      <input type="text" name="nome" id="nome"><br />
      <input type="text" name="sala" id="sala"><br />
      <input type="submit" value="Envia">
    </form><br />
 
</div>
Onde esta o erro?
Obs.: tenho no diretorio imwsaogotardo\WebContent\WEB-INF\lib o .jar mysql-connector-java-5.1.35-bin.jar

Viewing all articles
Browse latest Browse all 14190