Questão FC373687
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. package com.fu
Frameworks para Desenvolvimento
FCC · 2022
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.
package com.funcionarios.empresa.controller;
import com.funcionarios.empresa.model.*;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class Controle {
private LoginDao dao;
private Login login;
@RequestMapping(value = "/login", method = RequestMethod.POST)
@ResponseBody
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) {
\(\overset{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
- o botão do tipo submit do formulário deve conter o atributo value com o valor "login".
- o formulário deve conter o atributo submit com o valor "/login".
- o atributo action da tag form deve conter o valor "login".
- o formulário deve conter um campo flag com o valor "/login".
- o atributo method da tag form deve conter o valor "/login".
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O método receberLogin na classe Controle está mapeado com @RequestMapping(value = "/login", method = RequestMethod.POST). Por isso, o atributo action do formulário deve apontar para esse mesmo caminho para que a requisição seja entregue ao método correto.
Além disso, o formulário precisa usar o method POST para corresponder ao mapeamento do controller; sem isso, o Spring não invocará o método que espera requisições POST.
Também é necessário que os campos do formulário tenham os nomes correspondentes aos @RequestParam — ou seja, os inputs devem usar name="user" e name="senha" — assim os valores serão recebidos corretamente pelo método.
Em resumo: configurar action="/login" (ou "login" como URL relativa) e method="post" garante o mapeamento adequado do formulário ao método receberLogin.
Conteúdo do catálogo FC Concursos · Atualizado em