Compte Rendu TP JEE
Compte Rendu TP JEE
Compte Rendu TP JEE
JEE
Réalisé par :
Khaled Chebl
2GT3 (GP1)
TP2 : Mon Projet JEE avec JDBC et MYSQL
Etape 2 :
1.
2.
3.
Etape 3 :
Code :
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="resultat" method="post">
<table>
<tr>
<td>Username:</td>
<td><input type="text" name="Username"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="text" name="pass"></td>
</tr>
</table>
<button type = "submit">Identification</button>
</form>
<div>
<br><br>
<% String msg = (String) request.getAttribute("message");
out.println(msg);%>
</div>
</body>
</html>
Code :
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Welcome<</h1>
</body>
</html>
Code :
package connexion;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class connexion {
//Informations de connexion à la base de données MySQL
private static final String URL
="jdbc:mysql://localhost:3308/socialmedia?serverTimezone=UTC";
private static final String USER = "root";
private static final String PASSWORD = "";
Ce code Java présente une classe connexion qui contient une méthode
pour établir une connexion avec une base de données MySQL.
Code :
package connexion;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LoginServlet
*/
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public LoginServlet() {
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
request.setAttribute("message"," ");
request.getRequestDispatcher("login.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
// TODO Auto-generated method stub
String username = request.getParameter("Username");
String password = request.getParameter("pass");
}
}
private boolean authenticate (String username, String password) {
Connection cn = null;
PreparedStatement statement = null;
ResultSet resultset = null;
boolean authenticated = false;
try {
//établir la connexion à la base de données
cn = connexion.getConnection();
//requête SQL pour vérifier les infos
String query = "SELECT * FROM tab_users WHERE username=? AND password=?";
statement = cn.prepareStatement(query);
//remplacer le premier ? par la valeur password donnée en paramètres
statement.setString(1, username);
//remplacer le deuxième ? par la valeur password donnée en paramètres
statement.setString(2, password);
resultset = statement.executeQuery();
//vérifier si l'utilisateur existe dans la base de données
if (resultset.next()) {
//user existe et données correctes
authenticated = true;
}}
catch (SQLException e) {
e.printStackTrace();
//gérer les exceptions (connexion échouée, requête invalide...)
}
return authenticated;
}
}
Code :
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee
/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>TP2</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>connexion.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LoginServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
→ Configuration de la servlet
6. exécution :
• Insertion des données correctes :
Etape 2 :
Code :
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma
ven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>TP3</groupId>
<artifactId>E</artifactId>
<version>ExerciceJPA</version>
<packaging>jar</packaging>
<name>E</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.9.Final</version>
</dependency>
</dependencies>
</project>
Code :
package TP3.E;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table (name = "table_users")
public class Utilisateur {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
public int id ;
@Column(name = "nom")
public String nom;
@Column(name = "prenom")
public String prenom ;
@Column(name = "age")
public int age ;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Code :
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"
version="2.2">
<persistence-unit name="factoryunit">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<class>TP2.ExerciceJPAJava.Utilisateur</class> <!-- Ajoutez ici vos entités -->
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://localhost:3308/socialmediajpa" />
<property name="javax.persistence.jdbc.user" value="root" />
<property name="javax.persistence.jdbc.password" value="" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
</properties>
</persistence-unit>
</persistence>
Code :
package TP3.E;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.*;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
EntityManagerFactory emf = Persistence.createEntityManagerFactory("factoryunit");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
try {
tx.begin();
Utilisateur user = new Utilisateur();
user.setNom("Ardhaoui");
user.setPrenom("foulen");
user.setAge(30);
em.merge(user);
tx.commit();
System.out.println("id:"+ user.getId());
} catch (Exception e) {
e.printStackTrace();
System.out.println("Oops! petit problème");
tx.rollback();
}
finally {
em.close();
emf.close();
}
}
}
Ce code Java représente une application Java SE qui utilise JPA pour
interagir avec une base de données. Le code crée un objet Utilisateur, le
persiste à l'aide d'un EntityManager, et gère les transactions avec
EntityTransaction.
6. Exécution :