En esta lección, va a crear un paquete habilitado para web para que contenga un servlet que accede al servicio de contador y visualiza los resultados del servicio. El servlet accede al servicio OSGi buscando el servicio a través de InitialContext de JNDI.
package com.ibm.ws.eba.servlet;
import java.io.IOException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ibm.ws.eba.counter.Counter;
/**
* Clase de implementación del servlet CounterServlet
*/
public class CounterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* Constructor predeterminado.
*/
public CounterServlet() {
// Tareas pendientes: Apéndice de constructor generado automáticamente
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Counter counter;
try {
InitialContext ic = new InitialContext();
counter = (Counter) ic.lookup("osgi:service/"+Counter.class.getName());
response.getOutputStream().println("counter="+counter.getCount());
}
catch (NamingException e) {
e.printStackTrace(System.out);
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Tareas pendientes: Apéndice de método generado automáticamente
}
}
Ha creado el servlet que accede a un servicio OSGi buscando el servicio a través de un InitialContext JNDI.