Introduction : applications Web Servlets JSP
La classe ServletRequest
Un objet de cette classe est pass´e en param`etre de service.Il est cr´e´e
par le container.
Il permet pour la servlet d’avoir les param`etres demand´es par le client
pour la requˆete.
M´ethodes :
java.lang.String getContentType() pour d´eterminer le type MIME de
la requˆete
ServletInputStream getInputStream() pour obtenir le corps de la
requˆete
java.io.BufferedReader getReader() pour obtenir le corps de la
requˆete
int getContentLength() pour obtenir la longueur de la requˆete
java.lang.String getProtocol() pour obtenir le protocole utilis´e par
la requˆete
java.lang.String getRemoteHost() pour obtenir des informations sur
la machine cliente (ou le proxy)
Christophe Garion IN328 Webapps 15/ 88
Introduction : applications Web Servlets JSP
ServletRequest : comment r´ecup´erer des
param`etres
R´ecup´eration des param`etres via des m´ethodes de ServletRequest :
String getParameter(String name)
java.String[] getParameterValues(String name)
java.util.Enumeration getParameterNames()
java.util.Map getParameterMap()
Par exemple pour HTTP : http://.../nomRessource?id=Tof&nb=2,3
Appel R´esultat
getParameter("id") Tof
getParameter("nb") 2,3
getParameterMap() id → {Tof }
nb → {2,3}
Christophe Garion IN328 Webapps 16/ 88
Introduction : applications Web Servlets JSP
La classe ServletResponse
Un objet de cette classe est ´egalement pass´e en param`etre de service. Il
est ´egalement cr´e´e par le container.
Il permet pour la servlet de r´epondre au client.
M´ethodes :
setContentType(java.lang.String type) pour positionner le type
MIME de la r´eponse
setContentLength(int len) pour positionner la longueur de la r´eponse
ServletOutputStream getOutputStream() pour obtenir un flux de
r´eponse
java.io.PrintWriter getWriter() pour obtenir un flux de r´eponse
flushBuffer() pour «flusher »le contenu de la r´eponse
. . .
Christophe Garion IN328 Webapps 17/ 88
Introduction : applications Web Servlets JSP
Initialiser une servlet
La m´ethode init est appel´ee une fois lorsque la servlet est instanci´ee la
premi`ere fois.
Elle permet donc par exemple de r´ecup´erer des informations comme une
connexion vers une base de donn´ees.
On peut utiliser web.xml pour passer des param`etres `a init via un objet
de type ServletConfig :
public void init(ServletConfig config) {
super.init(config);
String bd = getInitParameter("serveurBD");
}
<servlet>
<servlet-name>essai</servlet-name>
<servlet-class>MaPremiereServlet</servlet-class>
<init-param>
<param-name>serveurBD</param-name>
<param-value>monServeur:8120</param-value>
</servlet>
Christophe Garion IN328 Webapps 18/ 88