Всем привет, только начал изучать Java, столкнулся вот с какой проблемой
На HTML есть форма, и javascript, который сабмитит эту форму через 1 секунду (POST'ом). В значении формы (hidden-поле) содержится id пользователя. Сервер должен проверять запрос на наличие в нем переменой с id пользователя. Новым пользователям возвращать новый id из AtomicInteger, знакомых пользователей приветствовать отправляя сообщение «Hello user: » + id;
У меня, после каждого сабмита страницы высвечивается
null, 2, null, 2, null, 2....
Код | public class ServerConnect extends AbstractHandler{ private AtomicInteger ids = new AtomicInteger(0); private String userId; public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html;charset=utf-8"); response.setStatus(HttpServletResponse.SC_OK); baseRequest.setHandled(true); response.getWriter().println(PageGenerator.generateForm(userId)); userId = request.getParameter("userId"); if (userId == null){ ids.getAndIncrement(); userId = ids.toString(); } }
public static void main(String[] args) throws Exception { Server server = new Server(8080); server.setHandler(new ServerConnect()); server.start(); server.join(); } }
public class PageGenerator { String S;
public static String generateForm(String val){ String htmlCode = null; htmlCode = "... <script> function reload(){ document.forms['MainForm'].submit(); } setTimeout("reload()", 1000); </script> .... + val + ... <form id='MainForm' method = 'POST'> <input type = "hidden" name = "userId" value = \""+ val <form> ... return htmlCode; }
}
|
Уже второй день бьюсь, почему ids = 2, и почему после этого, значение меняется на null
|