java - doGet called twice jetty server -
i using embedded jetty server within java application. doget() method being called twice. being called result of (method.equals(method_get)) condition within service method of httpservlet class.
i tried request using both chrome , explorer had same result.
can see reason doget being called twice..
public class helloservlet extends httpservlet{ private string greeting="hello world"; public helloservlet(){} public helloservlet(string greeting) { this.greeting=greeting; system.out.println("started server" + greeting); } protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { response.setcontenttype("text/html"); response.setstatus(httpservletresponse.sc_ok); response.getwriter().println("<h1>"+greeting+"</h1>"); response.getwriter().println("session=" + request.getsession(true).getid()); count = count+1; system.out.println(count); response.getwriter().println("count=" + count); response.flushbuffer(); } } public class oneservletcontext{ public static void main(string[] args) throws exception { server server = new server(8080); servletcontexthandler context = new servletcontexthandler(servletcontexthandler.sessions); context.setcontextpath("/"); server.sethandler(context); system.out.println("about start servlets"); context.addservlet(new servletholder(new helloservlet()),"/*"); context.addservlet(new servletholder(new helloservlet("buongiorno mondo")),"/it/*"); context.addservlet(new servletholder(new helloservlet("bonjour le monde")),"/fr/*"); server.start(); system.out.println("started servlets"); server.join(); } }
when request page browser, requests icon. instance, request http://foo.com request http://foo.com/favicon.ico. that's puts little icon in address bar identify sites. it's source of second request servlet. try adding line servlet:
system.out.println("request uri=" + request.getrequesturi());
Comments
Post a Comment