简体   繁体   中英

Java EE Connection with MySql ERROR

I try to connect to mysql database on my Java EE project but i get an error and I do not know where is the problem. And this is SERVLET, CLASS AND ERRORS

The Java EE Servlet:

package com.hopital.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.hopital.database.Recup_Insert;
import com.hopital.forms.Connections;


@WebServlet("/hopital")
public class hopital extends HttpServlet {
    private static final long serialVersionUID = 1L;   

    public hopital() {
        super();

    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//extrait les cookies
        Cookie[] cookies= request.getCookies();
        if(cookies != null){
            for(Cookie cookie: cookies){
                if(cookie.getName().equals("login")){
                    request.setAttribute("login", cookie.getValue());
                }
            }
        }
//session
        HttpSession session= request.getSession();
        String login= (String) session.getAttribute("login");
        request.setAttribute("login", login);

//extrait les chambers

        Recup_Insert tableChamber= new Recup_Insert();
        request.setAttribute("chambres",tableChamber.recup_chmabre());


        this.getServletContext().getRequestDispatcher("/WEB-INF/home.jsp").forward(request,response);
    }






    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//verification de champs
        Connections form= new Connections();
        form.verifie(request);
        request.setAttribute("form", form);

//stocke les champs entre
        String login=request.getParameter("login");
        String pass=request.getParameter("pass");

//cree un cookies
        Cookie cookie=new Cookie("login",login);
        cookie.setMaxAge(60*60*24*30);
        response.addCookie(cookie);

// cree un session sur login et mot de passe
        HttpSession session= request.getSession();
        session.setAttribute("login", login);
        session.setAttribute("pass", pass);

        this.getServletContext().getRequestDispatcher("/WEB-INF/home.jsp").forward(request,response);
    }

}

My class that contain the database connexion:

package com.hopital.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.List;
import com.hopital.projet.chamber;


public class Recup_Insert {
    public List<chamber> recup_chmabre(){

        List<chamber> chambers= new ArrayList<chamber>();

//charger les drivers
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }catch( ClassNotFoundException e){
        }
//Connexion
        Connection connexion=null;
        Statement statement=null;
        ResultSet resultat = null;
        try {
            connexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/hopital", "root", "3636");

            statement= connexion.createStatement();

            resultat= statement.executeQuery("SELECT * FROM CHAMBER;");

            while(resultat.next()){
                int etage = resultat.getInt("etage");
                int ID_pat = resultat.getInt("ID_pat");
                int num = resultat.getInt("num");
                int nom_lits = resultat.getInt("nom_lits");
                int occupee = resultat.getInt("occupee");

                chamber chamber = new chamber();
                chamber.setEtage(etage);
                chamber.setID_pat(ID_pat);
                chamber.setNum(num);
                chamber.setOccupee(occupee);
                chamber.setNom_lits(nom_lits);

                chambers.add(chamber);

            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            try{
                if(resultat != null)resultat.close();
                if(statement != null)statement.close();
                if(connexion != null)connexion.close();

            }catch(SQLException ignore){
            }
        }


        return chambers;

    }

}

AND THIS IS THE ERRORS AFTER RUNING:

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:983)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:339)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2252)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2285)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2084)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at com.hopital.database.Recup_Insert.recup_chmabre(Recup_Insert.java:29)
    at com.hopital.servlet.hopital.doGet(hopital.java:44)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:214)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:298)
    ... 39 more

Check connection URL and credentials. Try connecting with the same parameters using some SQL client.

You got this error because you cannot connect to database. Most probably you didn't start you server. Check either it running or not, then double check port where it is running. Also check spelling on table name in database it should be "hopital".

Check For mysql-connector-java-5.1.21-bin.jar file added to Properties=>libraries=>
if not then add external jar=>mysql-connector-java-5.1.21-bin.jar

also check port number of tomcat server and mysql.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM