CSI 2532 Lab 6 Application Web et DB
CSI 2532 Lab 6 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) Ø My. JDBCServlet. java (Servlet) Ø et, • library: postgresql-8. 3 -604. jdbc 4. 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. get. Parameter("uname"); String pwd = request. get. Parameter("pwd"); con = Driver. Manager. get. Connection (url, uname, pwd); …… out. print(rs. get. String(1)); …… out. close(); %> </html> • “request” and “out” are pre-defined variables. • “request” is of type javax. servlet. http. Http. Servlet. Request • "out" is of type javax. servlet. jsp. Jsp. Writer.
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: Ø My. JDBCServlet. java
public class My. JDBCServlet extends Http. Servlet { public void service(Http. Servlet. Request request, Http. Servlet. Response response) throws IOException, Servlet. Exception { response. set. Content. Type("text/html"); Print. Writer out = response. get. Writer(); out. println("<html>"); …… Connection con = null; Class. for. Name("org. postgresql. Driver"); …… out. close(); } } Le code d’accès à la db est le même qu’avant • “Http. Servlet” 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 – My. JDBCServlet. java/class • lib – postgresql-8. 3 -604. jdbc 4. jar
Exécutez l’application • Trouver le serveur: tomcat • Unzip myjdbc. zip, et placez le sur: • D: apache-tomcat 6. 0. 18webappsmyjdbc • Démarrer le serveur • cd d: apache-tomcat-6. 0. 18bin • 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: • Result. Set. get. Meta. Data()
Références • Application developer’s guide sur Tomcat • Servlets and JSP Pages Best Practices
- Slides: 14