Salut à tous
Je suis en train d'apprendre à utiliser JAX-RS (Jersey). Problème : j'ai besoin de récupérer des paramètres d'init.
voici mon web.xml :
<web-app xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>RbacMgr</display-name>
<servlet>
<servlet-name>RbacMgr</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.tcs</param-value>
</init-param>
<init-param>
<param-name>hostname</param-name>
<param-value>localhost</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RbacMgr</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
Manque de pot, j'arrive à créer un embryon de service REST qui se lance. Mais visiblement le getinitiparms/getinitparmsnames ne passe pas. Raison probable : je n'ai pas compris l'usage des annotations @Context. Quelqu'un a-t-il compris sur ce forum ?
Merci d'avance
P
Ci-dessous mon service :
package com.tcs;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Context;
@Path("/config")
public class Params {
private ServletConfig localCfg;
private String str1, str2, str3;
public void init(@Context ServletConfig cfg) {
localCfg = cfg;
str1 = cfg.toString(); // null a ce stade
}
@GET
@Produces(MediaType.TEXT_HTML)
public String displayParams(@Context ServletContext ctxt) {
str3 = ctxt.toString();
Enumeration e = ctxt.getInitParameterNames();
int cnt = 0;
while (e.hasMoreElements()) cnt++;
return "<html> " +
"<head><title>" + "Params" + "</title></head>" +
"<body>" +
"<h1>" + "Web App parms" + "</h1>" +
"<p> Cfg : " + str1 + "</p>" +
"<p> Ctxt :" + str3 + "(" + cnt + ")</p>" +
"</body>" +
"</html> ";
} // displayParams
}
Partager