Search code examples
javaservletsget

HttpServletresponse after response reset for new get data


I use the doGet method to get the parameter and then process it. When the reply is sent, it contains the status data. Also, when the second client connects, the answer contains the data from frist client. I want the send new the data after the second client is connected. Reset buffer and send new data to second client the data, or after restoring the page send new data.

Its not working. The client retrieves the page again and sends me a old and new data. I need only new data to be sent to client.

class HttpTest extends HttpServlet {

    private static final long serialVersionUID = 1L;



    /**
     * @see HttpServlet#HttpServlet()
     */
    public HttpTest() {
        super();
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {



        PrintWriter out = response.getWriter();

        System.out.println(request.getQueryString());

        String[] parameters = request.getQueryString().split(";");
        String out_data="";


        /*
         * algorithm for generate out data
         */

        out.println(out_data);

        out.flush();

    }


    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);

    }

}

Solution

  • try this might help

    private void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        try (PrintWriter writer = response.getWriter()) {
            System.out.println(request.getQueryString());
            String[] parms = request.getQueryString().split(";");
            String outData = "";
            /*
             * algorithm for generate out data
             */
            writer.println(outData);
        }
    }