Questão de Programação — Frameworks em Programação — FCC 2022
Programação›Frameworks em Programação
Código
fc067314
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2022
Cargo
Analista Judiciário - Tecnologia da Informação
Atenção: O código a seguir é parte de uma aplicação, em condições ideais, que utiliza o Spring Framework e Spring Boot. Utilize
esse código para responder a questão.
public ModelAndView receberLogin(@RequestParam(name = "user") String user,
@RequestParam(name = "senha") String senha, Model model) {
dao = new LoginDao();
login = dao.verificarLogin(user);
if (login == null) {
I;
ModelAndView mv = new ModelAndView();
mv.setViewName("erros.html");
return mv;
} else {
//Código oculto intencionalmente aqui, que retorna um objeto mv
//com dados de autorização de acesso do usuário.
}
}
}
Em um formulário de uma página HTML um analista deseja enviar o conteúdo dos campos user e senha em uma requisição HTTP POST para o método receberLogin da classe Controle, ao se clicar em um botão do tipo submit do formulário. Para que esse envio ocorra e seja mapeado corretamente
Ao botão do tipo submit do formulário deve conter o atributo value com o valor "login".
Bo formulário deve conter o atributo submit com o valor "/login".
Co atributo action da tag form deve conter o valor "login".
Do formulário deve conter um campo flag com o valor "/login".
Eo atributo method da tag form deve conter o valor "/login".
Revelar gabarito e comentário▾
GabaritoC — o atributo action da tag form deve conter o valor "login".
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Mapeamento de requisição HTTP POST no Spring MVC
Gabarito: letra C. Para que o formulário HTML envie os campos user e senha via POST para o método receberLogin, o atributo action da tag <form> deve conter o valor "login" (ou "/login"), pois o método está anotado com @RequestMapping(value = "/login", method = RequestMethod.POST). As demais alternativas confundem o propósito dos atributos do formulário.
A questão testa o conhecimento da integração entre formulários HTML e controladores Spring MVC. O método receberLogin está mapeado para a URL /login e aceita apenas requisições POST. O formulário deve usar method="post" e action="login" (ou "/login").
Alternativa A — ❌ Incorreta
O atributo value do botão submit define o texto exibido no botão e, quando presente, envia um par nome=valor no formulário, mas não determina a URL de destino. A URL de destino é definida pelo action.
Alternativa B — ❌ Incorreta
Não existe o atributo submit na tag <form>. Os atributos relevantes são action (URL de destino) e method (método HTTP).
Alternativa C — ✅ Correta ⟵ GABARITO
O atributo action especifica para qual URL os dados do formulário serão enviados. Como o controlador mapeia /login com POST, o action deve apontar para essa URL. O valor pode ser relativo ("login") ou absoluto ("/login"), desde que corresponda ao mapeamento.
Alternativa D — ❌ Incorreta
Não existe "campo flag" no HTML. Essa alternativa é fictícia e não corresponde a nenhum atributo válido de formulário.
Alternativa E — ❌ Incorreta
O atributo method define o verbo HTTP (GET, POST, etc.), não a URL. Para enviar via POST, o correto é method="post", e não method="/login".
PEGA ESSA DICA!
No Spring MVC, a anotação @RequestMapping ou @PostMapping define a URL e o método HTTP. No HTML, o formulário deve combinar action (URL) com method (GET/POST). Grave: action = caminho do servidor, method = verbo HTTP.