Search code examples
javajakarta-eeservletshttpsession

I can not make a request and the Response to a servlet


I have a servlet. in it I form a line and when I type in the browser link, he told me that rotates the line. everything is fine. Now I want to create an array of strings, and depending on the parameter in the link rotates the particular row. how to do it?

@WebServlet("/goods")
public class GoodsServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.print("{\"name\":\"Pavel\",\"sname\":\"Petrashov\",\"age\":24,\"params\":{\"heigth\":188, \"weight\":72, \"strong\":100}}");
    }
}

and I want to have

 List<String> list = new ArrayList<String>();
        list.add("{\"name\":\"Pavel\",\"sname\":\"Petrashov\",\"age\":24,\"params\":{\"heigth\":188, \"weight\":72, \"strong\":100}}");
        list.add("{\"name\":\"Bill\",\"sname\":\"Gey\",\"age\":99,\"params\":{\"heigth\":188, \"weight\":70, \"strong\":100}}");
        list.add("{\"name\":\"Uill\",\"sname\":\"Smitt\",\"age\":12,\"params\":{\"heigth\":188, \"weight\":99, \"strong\":100}}");

and to make sure that my reference http://localhost:666/sg/goodstook some parameter, depending on which will return an array element


Solution

  • Do you mean depending on GET parameters you want to print out one of the strings in the list? If that is what you want then String myParameter = request.getParameter("param"); will give you the get parameter. Pass the parameter as a query string on the url like http://localhost:666/sg/goods?param=2.

    Now use the parameter to get the string from your list

    try{ int index = Integer.parseInt(myParameter); out.println(list.get(index)); } catch(IndexOutOfBoundsException|NumberFormatException ex){ System.err.println("Invalid get parameter"); }