I need to create add servlets at runtime. When I run the following code.
protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException 
    {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title> URI out</title>");
            out.println("</head>");
            out.println("<body>");
            Integer generatedKey = Math.abs(randomiser.nextInt());
            out.print(generatedKey);
            createServlet(Integer.toString(generatedKey),request.getServletContext());
        } finally {
            out.println("</body>");
            out.println("</html>");
            out.close();
        }
    }
    private void createServlet(String generatedKey, ServletContext servletContext) {
        String servletMapping = "/"+generatedKey;
 ServletRegistration sr = servletContext.addServlet(generatedKey, "com.path.lbs.servlets.testDynamic");
        sr.setInitParameter("keyname", generatedKey);
        sr.addMapping(servletMapping);
    }
I get the following error.
java.lang.IllegalStateException: PWC1422: Unable to configure mapping for servlet 1114600676 of servlet context /123-LBS, because this servlet context has already been initialized
Is it impossible to add new servlets at runtime i.e. after the Servlet Context is initialised or am I doing something wrong?
 
     
    