Erro ao fazer login utilizando o SPRING MVC:AUTENTICAÇÃO

Sou novo em JSP e estou treinando com a apostila da caelum de javaWeb.
Não consigo resolver este erro ao fazer o login :

HTTP Status 500 – Internal Server Error

Type Exception Report

Message Request processing failed; nested exception is java.lang.UnsupportedOperationException: Not supported yet.

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.UnsupportedOperationException: Not supported yet.
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause

java.lang.UnsupportedOperationException: Not supported yet.
br.com.javaClass.JdbcUsuarioDao.(JdbcUsuarioDao.java:33)
br.com.iniciando.controller.LoginController.efetuaLogin(LoginController.java:30)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:214)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:690)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note The full stack trace of the root cause is available in the server logs.

----------------Arquivos do projeto para fazer o login-----------------

Formulário do Login “formulario-login.jsp”

JSP Page

Página de Login das Tarefas

Login:
Senha:

Class loginController.java

package br.com.iniciando.controller;

import br.com.javaClass.JdbcUsuarioDao;
import br.com.javaClass.Usuario;
import java.sql.SQLException;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class LoginController {

@RequestMapping("loginForm")
public String loginForm(){
    return "formulario-login";
}

@RequestMapping("efetuaLogin")
public String efetuaLogin(Usuario usuario, HttpSession session) throws SQLException{
 
    	if((new JdbcUsuarioDao().existeUsuario(usuario)) == true){
                session.setAttribute("usuarioLogado",usuario);
                return "menu";
            }
            return "formulario-login";
}

}

public class JdbcUsuarioDao{

private final Session session;
private Connection connection;

public JdbcUsuarioDao(Session session){
this.session=session;
}

public JdbcUsuarioDao() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}

public boolean existeUsuario(Usuario usuario) throws SQLException{
    
  
    ResultSet rs=null;
  
    try {
         
         PreparedStatement stmt = connection.prepareStatement(" select *from usuarios where login= ? and senha= ? ");
         stmt.setString(1,usuario.getLogin());
         stmt.setString(2,usuario.getSenha());
         rs=stmt.executeQuery();
         if(rs.next()){
            stmt.close();
            return true;
        }
    }catch(SQLException e){
        throw new RuntimeException(e);
    }

return true;
}

}

package br.com.javaClass;

public class Usuario {

private String login;
private String senha;

public String getLogin() {
    return login;
}

public void setLogin(String login) {
    this.login = login;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}  

}

menu.jsp

JSP Page

Página inicial da Lista de Tarefas

Bem vindo, ${usuarioLogado.login}

Clique aquipara acessar a lista de tarefas

Especifique o método dos requests, sejam Get, Post, ou outro.

Quando você usa @RequestMapping você precisa especificar o método dele, se quiser, existem @PostMapping, @GetMapping, que é o que você tentou usar diretamente ali.

@RequestMapping(“efetuaLogin” method=“post”) não está a funcionar.

Consegui resolver o problema. Tinha esquecido de criar a conexão na classe JdbcUsuarioDao.

public JdbcUsuarioDao() throws ClassNotFoundException {

    this.connection= new ConnectionFactory().getConnection();

}