0

I've a .jsp page and I'm adding fields database in it. I write some servlet. When I am clicking add button servlet is running but it's not send my .jsp page. I want to send it same .jsp page.

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        String username=request.getParameter("addUsername");
        String password=request.getParameter("addPassword");
        String page="";
        String url="http://localhost:8983/solr/adminCore";
        SolrClient solr=new HttpSolrClient.Builder(url).build();
        ((HttpSolrClient) solr).setParser(new XMLResponseParser());
        SolrInputDocument doc=new SolrInputDocument();
        doc.addField("id", UUID.randomUUID().toString());
        doc.addField("userName", username);
        doc.addField("password", password);
        try {
            solr.add(doc);
            UpdateResponse updateResponse=solr.commit();
            PrintWriter out=response.getWriter();
            response.setContentType("text/html");  
            out.println("<script type=\"text/javascript\">");  
            out.println("alert('Adding an administration account is successful!');");  
            out.println("</script>");
            out.close();


        } catch (SolrServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            page="upload.jsp";

        }

            request.getRequestDispatcher("upload.jsp").forward(request, response);

        //doGet(request, response);
    }

}

This is my servlet code. It gives me this error

Cannot call forward after the response has been committed
  • Similar thing discussed here. https://stackoverflow.com/questions/2123514/java-lang-illegalstateexception-cannot-forward-sendredirect-create-session – Mebin Joe Apr 03 '19 at 06:33
  • Well, of course since, before forwarding to the JSP, you write invalid HTML to the response directly in your servlet and close the response output stream, thus preventing the view to write anything else. – JB Nizet Apr 03 '19 at 06:35

0 Answers0