Affichage des articles dont le libellé est J2EE. Afficher tous les articles
Affichage des articles dont le libellé est J2EE. Afficher tous les articles

lundi 24 décembre 2007

Présentation rapide d’Hibernate Avec des Docs & TPs

Hibernate

Hibernate permet d’alléger de façon importante le développement de la persistance de données. Cette librairie a été développée à la base par une équipe de développeurs Java mené par Gavin King et ensuite fournie par JBoss. Elle permet de faire du mapping relationnel/objet. C’est un outil de persistence puissant et performant permettant le lien entre les objets d’une application et les tables d’une base de données tout en éxécutant des requêtes.

Concrétement, Hibernate permet de lier/mapper un objet défini en Java avec une table dans une base de données, via un fichier déclaratif de mapping. Le système peut s’occuper de la création des tables en fonction des fichiers de configuration et mettre aussi à jour les tables si nécessaire lors d’un changement dans l’un des fichiers de configuration.

Hibernate posséde plusieurs moyens pour effectuer des requêtes. Il est possible d’exprimer des requêtes en SQL, ou en HQL (language propre à Hibernate) ou encore en critéres orienté objet.

Il y a peu la nouvelle version d’Hibernate est sorti, la version numéro 3, apportant de nouvelles fonctions. Une de ces nouvelles fonctions est la gestion temporelle des données en sous-ensembles. Dans les versions antérieurs, le développeur devait écrire lui-même les requêtes lui permettant d’accéder à des données d’une certaine période. Le classement en sous-ensembles se fait via des filtres définies déclarativement. Cela permet de définir quels sont les droits d’accès d’un utilisateur donné. La dernière version d’Hibernate est liée étroitement avec la spécification des EJB 3 permettant ainsi une meilleure implémentation des EJB dans JBoss.

Une librairie concurrente est iBATIS qu’il serait intéressant d’introduire.

Hibernate est disponible sous licence LGPL (Lesser General Public License).

Liens externes


les Docs & TPs


Présentation rapide du framework “Struts” Avec des Docs et des TPs

Struts

Struts sous son véritable nom, “Apache Struts“, est un framework open source utilisé pour faciliter le développement des applications web J2EE.

Il a été créé par Craig McClanahan qui est passé à la fondation Apache en 2000 en sous-partie du projet Jakarta.

Son but premier est de permettre la mise en place d’une architecture MVC (modéle-vue-controlleur) plus aisément. Il utilise pour cela l’API des servlets en les étendant et en donnant accès à des objets améliorant l’approche de ces dernières. Cela débouche sur une meilleure subdivision et structuration du code d’une application web. Cette structuration permet ainsi une meilleure maintenabilité et modularité pour des développements futurs.

Les points importants sont les suivants :

  • Structure de l’application web décrite dans un fichier struts-config.xml
  • Utilisation transparente des servlets via des classes adaptées
  • Exploitation des balises spécifiques dans les JSP (Java Server Page)

L’utilisation du framework Struts est assez lourd pour une application simple car il introduit un niveau de complexité non négligeable et l’effet de ses apports ne se resent que lorsque l’application atteint une certaine taille.

Les concurrents de Struts à l’heure sont principalement Spring MVC et JSF (Java Server Face). La tendance pour le moment montre que ce framework se fait peu à peu remplacé par ces deux derniers frameworks plus puissant.

A savoir que la version actuelle de Struts est la 2.0.8.

Liens externes

COURS & TPs

mardi 11 décembre 2007

TP : XMLHTTP & JSP (MVC 1)

TP : XMLHTTP & JSP (MVC 1) ===> TELECHARGER


1 - Les objets Bean :

1.1 - PaysBean :

----------------------------- PaysBean.java --------------------------------

package com.bean;

public class PaysBean {

private String strCode;
private String strLibelle;

public String getStrCode()
{
return strCode;
}

public void setStrCode(String strCode)
{
this.strCode = strCode;
}

public String getStrLibelle()
{
return strLibelle;
}

public void setStrLibelle(String strLibelle)
{
this.strLibelle = strLibelle;
}



}

---------------------------------------------------------------

1.2 - VilleBean :

----------------------------- VilleBean.java --------------------------------

package com.bean;

public class VilleBean {

private String strCode;
private String strLibelle;
private String strPays;

public String getStrCode()
{
return strCode;
}

public void setStrCode(String strCode)
{
this.strCode = strCode;
}

public String getStrLibelle()
{
return strLibelle;
}

public void setStrLibelle(String strLibelle)
{
this.strLibelle = strLibelle;
}

public String getStrPays()
{
return strPays;
}

public void setStrPays(String strPays)
{
this.strPays = strPays;
}
}

---------------------------------------------------------------

2 - Lobjet Connect (Conexion a la base de donnee ):

----------------------------- Connect.java --------------------------------

package com.data;

import java.sql.*;

public class Connect {

private Connection con;
public ResultSet rs;
private Statement st;

public Connect() {
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException c) {

}
}

public void getConexion()throws SQLException
{

con = DriverManager.getConnection("jdbc:odbc:DB");

}


public ResultSet getDatos(String req) throws SQLException {
st = con.createStatement();
rs = st.executeQuery(req);
return rs;

}

public void closeConexion()throws SQLException
{

con.close();
if (rs != null)
{
rs.close();
}

}

}


---------------------------------------------------------------

3 - L’objet Controleur (Traitement ) :

----------------------------- Controleur.java --------------------------------

package com.controleur;

import java.sql.ResultSet;
import java.util.ArrayList;

import com.bean.PaysBean;
import com.bean.VilleBean;
import com.data.Connect;

public class Controleur {

public ArrayList getPays()
{
ResultSet rs = null;

Connect objConnect = null;

PaysBean objPaysBean = null;

ArrayList arrListPays = new ArrayList();

try
{
objConnect = new Connect();

objConnect.getConexion();

rs = objConnect.getDatos("select * from pays " );

while (rs.next())
{
objPaysBean = new PaysBean();

objPaysBean.setStrCode(rs.getString("Code"));
objPaysBean.setStrLibelle(rs.getString("Libelle"));

arrListPays.add(objPaysBean);

}

}
catch (Exception e)
{

}
return arrListPays;
}

public ArrayList getVille(String strPays)
{
ResultSet rs = null;

Connect objConnect = null;

VilleBean objVilleBean = null;

ArrayList arrListVille = new ArrayList();

try
{
objConnect = new Connect();

objConnect.getConexion();

rs = objConnect.getDatos("select * from ville where pays=" + strPays);

while (rs.next())
{
objVilleBean = new VilleBean();

objVilleBean.setStrCode(rs.getString("Code"));
objVilleBean.setStrLibelle(rs.getString("Libelle"));

arrListVille.add(objVilleBean);

}

}
catch (Exception e)
{

}
return arrListVille;
}

}

---------------------------------------------------------------

4 - Servlet :

----------------------------- Servlet.java --------------------------------

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.bean.VilleBean;
import com.controleur.Controleur;

public class XmlServlet extends HttpServlet {


public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

doPost(request, response);
}


public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
int i = 0;

String strPays = "";

String pageSortie = "";

String strAction = "";

StringBuffer strXml = null;

Controleur objControleur = new Controleur();

VilleBean objVilleBean = null;

ArrayList arrListVille = new ArrayList();

ArrayList arrListPays = new ArrayList();

strAction = request.getParameter("hidAction");

if (strAction.equals("getPays"))
{
arrListPays = objControleur.getPays();

request.setAttribute("ListPays", arrListPays);

pageSortie ="/MyJsp.jsp";

getServletConfig().getServletContext().getRequestDispatcher(pageSortie).forward(request, response);
}
else if (strAction.equals("getVille"))
{


strPays = request.getParameter("hidPays");

arrListVille = objControleur.getVille(strPays);

strXml = new StringBuffer("");

for (i=0 ; i");

strXml.append("");
strXml.append(objVilleBean.getStrCode());
strXml.append("
");

strXml.append("");
strXml.append(objVilleBean.getStrLibelle());
strXml.append("
");

strXml.append("
");
}

strXml.append("
");

response.setContentType("text/xml; charset=utf-8");
PrintWriter out = response.getWriter();
out.println(strXml.toString());
out.flush();
out.close();
}
}

}

---------------------------------------------------------------


5 – Les page JSP :

5.1 - Index.jsp :

5.2 - MyJsp.jsp :

by AideSoft