package a; import java.io.*; import java.net.*; import java.util.Enumeration; //import java.util.ServiceLoader; import javax.servlet.*; import javax.servlet.http.*; import org.api.Executor; import org.api.ExecutorFactory; /** * */ public class NewServlet extends HttpServlet { /** * Processes requests for both HTTP GET and POST methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println(""); out.println(""); out.println("Servlet NewServlet"); out.println(""); out.println(""); out.println("

Servlet NewServlet at " + request.getContextPath () + "

"); out.println(""); out.println(""); } finally { out.close(); } } // /** * Handles the HTTP GET method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP POST method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. */ public String getServletInfo() { return "Short description"; } @Override public void init(ServletConfig arg) throws ServletException { super.init(arg); Enumeration urls = null; try { String prefix = "META-INF/services/"; String serviceName = ExecutorFactory.class.getName(); System.out.println("ServiceName=" + serviceName); urls = getClass().getClassLoader().getResources( prefix + serviceName); } catch (IOException ioe) { throw new ServletException(ioe); } if (urls == null) { return; } while (urls.hasMoreElements()) { URL url = urls.nextElement(); System.out.println("URL=" + url); InputStream in = null; BufferedReader r = null; try { in = url.openStream(); r = new BufferedReader(new InputStreamReader( in, "utf-8")); System.out.println("PROVIDER=" + r.readLine()); } catch (IOException ioe) { throw new ServletException(ioe); } finally { if (in != null) { try { in.close(); } catch (IOException ioe) { // do nothing } } if (r != null) { try { r.close(); } catch (IOException ioe) { // do nothing } } } } /* ServiceLoader factories = ServiceLoader.load(ExecutorFactory.class); System.out.println(getClass().getClassLoader()); System.out.println(Thread.currentThread().getContextClassLoader()); System.out.println(getClass().getClassLoader() == Thread.currentThread().getContextClassLoader()); for (ExecutorFactory f:factories) { Executor e = f.getExecutor(); //System.out.println(e); } */ } }