Когда я запускаю свое приложение, мой фильтр всегда запускается сначала, как я могу проверить логин и вызывает мой фильтр только после отправки, и как именно я могу проверить данные в фильтре?
Мой фильтр
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
System.out.println("I'm in the filter");
HttpServletRequest request2 = (HttpServletRequest) request;
HttpSession session = request2.getSession();
Object obj = (Object) session.getAttribute("user");
if(obj==null) {
request.getRequestDispatcher("ErrorPage.html").forward(request,response);
} else {
chain.doFilter(request,response);
}}
Форма моего сообщения
<form action="LoginServlet" method="POST">
<div class="imgcontainer">
<img src="img_avatar2.png" alt="Avatar" class="avatar">
</div>
<% System.out.println("Entrei no Login"); %>
<div class="container">
<%--@declare id="uname"--%><%--@declare id="psw"--%><label for="uname"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="uname" required>
<label for="psw"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="psw" required>
<button type="submit">Login</button>
</div>
<div class="container" style="background-color:#f1f1f1">
<button type="button" class="cancelbtn">Cancel</button>
</div>
У меня вопрос, как фильтр используется для проверки логина? Я имею в виду, я чувствую, что намного проще использовать только сервлет и сравнивать имя пользователя и пароль, я не совсем понимаю, как будет обрабатываться форма отправки в фильтре.
Должен ли / Могу ли я отправить форму отправки непосредственно в Фильтр или мне нужен сервлет в середине этого сообщения?