1
CSI 2532 Lab6
Application Web et DB
Février 27, 2012
2
Sommaire
• Architecture JDBC
• JSP
• Servlet
Architecture JDBC
• 2-Layer et 3-Layer
Dernier Lab
CeLab
JSP et Servlet
• Côté Serveur
• Lorsqu’un client envoie une requête au serveur, le serveur envoie la requête au servlet. Le servlet construit la réponse qui est ensuite retournée par le serveur au client (via le browser) .
Example
• Une application avec JSP et des servlets qui utilise JDBC
• index.html (la page principale) myjsp.jsp (JSP) MyJDBCServlet.java (Servlet) et,
• library: postgresql-8.3-604.jdbc4.jar• Et d’autres fichiers de configuration
• Télécharger ici: myjdbc.zip
JSP
• Mix de HTML et du code Java
• Les fichiers JSP sont compilés en servlets avant l’éxécution.
• Exemple: myjsp.jsp
Accès à la DB à partir du JSP
• Code Java à l’intérieur d’une page JSP:
Embed java codes with JDBC into a JSP page Import packages:
• <%@ page import=“……"%> Embed running codes or functions
• <% ……%>
<html>
……
<%@ page import="
java.io.*,java.util.*,java.sql.*"%>
<body>
……
<%
……
String uname = request.getParameter("uname");
String pwd = request.getParameter("pwd");
con = DriverManager.getConnection (url, uname, pwd);
……
out.print(rs.getString(1));
……
out.close();
%>
</html>
• “request” and “out” are pre-defined variables.
• “request” is of type javax.servlet.http.HttpServletRequest
• "out" is of type javax.servlet.jsp.JspWriter.
Servlet
• Un servlet est un objet qui reçois une requête et génere une réponse.
• La réponse contient normalement un fichier html.
• L’API d’un servlet est définie par javax.servlet
• Exemple: MyJDBCServlet.java
public class MyJDBCServlet extends HttpServlet
{
public void service(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
……
Connection con = null;
Class.forName("org.postgresql.Driver");
……
out.close();
}
}Le code d’accès à la db est le même qu’avant
• “HttpServlet” est une classe abstraite
• Dans la méthode “service()” est utiliséê pour traiter la ‘request’ et construire la réponse
Exécutez l’application
• Composantes de l’application: index.html myjsp.jsp WEB-INF
• web.xml• classes
– MyJDBCServlet.java/class
• lib– postgresql-8.3-604.jdbc4.jar
Map entre un servlet et une URL
Exécutez l’application
• Trouver le serveur:tomcat
• Unzip myjdbc.zip, et placez le sur:• D:\apache-tomcat-6.0.18\webapps\myjdbc\
• Démarrer le serveur• cd d:\apache-tomcat-6.0.18\bin• startup.bat
• Démarrer votre explorateur web et naviguez à la page suivante: http://localhost:8080/myjdbc/index.html
Exercice
• Créer votre propre JSP et Servlet Connectez vous à la db Faites de requêtes SQL Affichez les résultats dans un format html
• Tips: Get metadata of the query result:
• ResultSet.getMetaData()
Références
• Application developer’s guide sur Tomcat
• Servlets and JSP Pages Best Practices