Да, вы можете использовать сервлет для этого.Достаточно ли диспетчера или нет, зависит от конкретных функциональных требований, которые не совсем понятны из вашего вопроса.Однако канонический подход заключается в том, чтобы сохранить зарегистрированного пользователя в области сеанса, а не в области запроса.В противном случае пользователь должен входить в систему каждый раз, когда пользователь хочет посетить страницу с ограниченным доступом.
Кроме того, вы обычно хотели бы отправить перенаправление после успешного входа в систему.Таким образом, новый URL отражается в адресной строке браузера.Кроме того, нажатие клавиши F5 впоследствии не вызовет никаких неожиданностей.Пересылка от одного сервлета к другому - это тоже своеобразный дизайнерский запах.В том числе было бы разумно, но пересылка нет.Как уже говорилось, вместо этого отправьте перенаправление.
Что касается использования ссылки для отправки формы, просто выполните JS form.submit()
во время события нажатия.
<form id="login">
...
<a href="#" onclick="document.getElementById('login').submit(); return false;">login</a>
</form>
Альтернативой является стилизациякнопка, чтобы выглядеть как ссылка с небольшой помощью CSS.Таким образом, он также будет работать на клиентах, у которых отключен JS (например, на мобильных устройствах).