Как обработать событие клика на кнопке в java web приложении?

Как мне реализовать функционал настройки кнопки таким образом, чтобы при ее нажатии выполнялся код в UserServlet? Моя цель - пролистывать всех пользователей на странице и отмечать каждого как "Like" или "Dislike".
  • 21 марта 2024 г. 16:49
Ответы на вопрос 2
Для обработки события клика на кнопке в Java web приложении можно воспользоваться технологией AJAX. 

Ниже приведен пример того, как реализовать функционал настройки кнопки для отправки запроса на сервер и выполнения кода в UserServlet при ее нажатии:

1. Создайте кнопку в HTML файле вашей веб-страницы:

```html
<button id="likeButton">Like</button>
```

2. Добавьте скрипт JavaScript для отправки AJAX запроса при клике на кнопку:

```javascript
document.getElementById("likeButton").addEventListener("click", function() {
  var xhr = new XMLHttpRequest(); // Создаем объект XMLHttpRequest
  xhr.open("POST", "/UserServlet", true); // Указываем URL для отправки запроса
  
  xhr.setRequestHeader("Content-Type", "application/json"); // Устанавливаем заголовок Content-Type
  
  var data = {
    action: "like"
  };
  
  xhr.send(JSON.stringify(data)); // Отправляем запрос на сервер
});
```

3. В методе `doPost` класса UserServlet обработайте полученный запрос и выполните необходимый код:

```java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String action = request.getParameter("action");
  
  if (action.equals("like")) {
    // Код для отметки пользователя как "Like"
  } else if (action.equals("dislike")) {
    // Код для отметки пользователя как "Dislike"
  }
}
```

Теперь при нажатии на кнопку "Like" будет отправлен запрос на сервер, который будет обработан в UserServlet, где вы сможете отметить пользователя как "Like" или "Dislike".
Нужно сделать, чтобы кнопка отправляла http-запрос на определённый URL, который обрабатывает UserServlet.
Похожие вопросы