Les servlets et les filtres sont habituellement déclarés dans le fichier WEB-INF/web.xml. Or ce fichier est unique et ne peut en aucun cas être modifié par les plugins.
Afin d'offrir aux plugins ce type de composants, Lutece propose de créer des servlets et des filtres de plugin. Ceux-ci se déclarent dans le fichier xml.
Les classes Java des servlets ou des filtres sont à écrire exactement de la même manière que des servlets ou filtres standards. Seule leur déclaration est différente.
Des classes existantes, provenant par exemple de produits externes, peuvent être packagées sous forme de servlet ou filtre de plugin (exemple : le filtre de réécriture d'url utilisé par le plugin urlrewriter).
Les servlets et filtres sont à déclarer dans le fichier XML du plugin de la manière suivante :
<!-- servlets -->
<servlets>
<servlet>
<servlet-name>myServlet1</servlet-name>
<url-pattern>/servlet/plugins/myplugin/myServlet1</url-pattern>
<servlet-class>fr.paris.lutece.plugins.myplugin.web.MyFirstServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>myServlet2</servlet-name>
<url-pattern>/servlet/plugins/myplugin/myServlet2</url-pattern>
<servlet-class>fr.paris.lutece.plugins.myplugin.web.MySecondServlet</servlet-class>
</servlet>
</servlets>
<!-- filters -->
<filters>
<filter>
<filter-name>myFilter</filter-name>
<url-pattern>/*</url-pattern>
<filter-class>fr.paris.lutece.plugins.myplugin.web.MyFilter</filter-class>
<init-param>
<param-name>param1</param-name>
<param-value>value of param1</param-value>
</init-param>
</filter>
</filters>
NB : Les URL des servlets doivent impérativement être basées sous /servlet/plugins/myplugin
Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.
Vous devriez rafraîchir la page.