Объявите переменную OUTSIDE областью метода get/post, после чего вы сможете увеличить ее при каждом вызове сервлета. См. Ниже:
private int counter;
private Object lock;
public void init() throws ServletException{
//init lock
lock = new Object();
// create variable
counter = 0;
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
//increment your counter here
synchronized(lock){
counter++;
}
response.setContentType("text/html");
// here you can actually return the counter to the browser.
PrintWriter out = response.getWriter();
out.println("<h1>" + counter + "</h1>");
}
Новый запрос для каждого запроса, который вы делаете, хотя экземпляр SINGLE сервлет делится между запросами. Чтобы увеличить переменную, вы должны объявить ее ВНЕШНЕМ области запроса. (т. е. в методе init() Servlet), а затем увеличивать его при каждом вызове сервлета. –
@ Вниз-избиратель, пожалуйста, не стесняйтесь добавлять комментарии и свои взгляды. Если вам нужен какой-то код или какие-либо дополнительные спецификации, оставьте комментарий. –
@GilesThompson Создается ли новый поток каждый раз при каждом запросе? Как вы сказали о ресурсах, тогда он может конфликтовать или создавать несогласованность для ресурсов файлов A, B, C Java? –