小编Way*_*yne的帖子

使用servlet 3.0添加动态servlet会引发异常

我需要在运行时创建添加servlet.当我运行以下代码时.

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);

    }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

java.lang.IllegalStateException:PWC1422:无法为servlet上下文/ 123-LBS的servlet 1114600676配置映射,因为此servlet上下文已经初始化

是否无法在运行时添加新的servlet,即在Servlet Context初始化之后或者我做错了什么?

java servlets glassfish

5
推荐指数
1
解决办法
5871
查看次数

标签 统计

glassfish ×1

java ×1

servlets ×1