Database instance generation for testing database applications

publicité
CSI 2532 Lab6
Application Web et DB
Février 27, 2012
1
Sommaire
• Architecture JDBC
• JSP
• Servlet
2
Architecture JDBC
• 2-Layer et 3-Layer
Dernier
Lab
Ce
Lab
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
Map entre un servlet et une
URL
• web.xml
• classes
– MyJDBCServlet.java/class
• lib
– postgresql-8.3-604.jdbc4.jar
Exécutez l’application
• Trouver le serveur:tomcat
• Unzip myjdbc.zip, et placez le sur:
• D:\apache-tomcat6.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
Téléchargement