1
resposta

The requested resource is not available.

Tento executar a página de cadastro pelo link http://localhost:8080/localcar/clientes/cadastro e dá o erro 404.

Segue a minha programação do CadastroController e cadastro.jsp

package br.localcar.controllers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import br.localcar.daos.ClienteDAO;
import br.localcar.models.Cliente;

@Controller
public class CadastroController {

    @Autowired
    private ClienteDAO clienteDAO;

    @RequestMapping("/clientes/cadastro")
    public String cadastro() {
        return "clientes/cadastro";
    }

    @RequestMapping("/clientes")
    public String gravar(Cliente cadastro) {
        System.out.println(cadastro);
        clienteDAO.gravar(cadastro);
        return "clientes/cadastrado";
    }
}

// Arquivo .jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
    <meta charset="UTF-8">
    <title>Local Car - Cadastro</title>
    </head>

    <body>
        <form action="/localcar/clientes" method="post"> <!--para onde vamos enviar esse formulario-->
            <div>
                <label>Nome Completo</label>
                <input type="text" name="nomeCompleto">
            </div>
            <div>
                <label>E-mail</label> 
                <input type="text" name="email">
            </div>
            <div>
                <label>RG</label> 
                <input type="text" name="rg">
            </div>
            <div>
                <label>CPF</label> 
                <input type="text" name="cpf">
            </div>
            <div>
                <label>Celular</label> 
                <input type="text" name="celular">
            </div>

            <button type="submit">Cadastrar</button>
        </form>

    </body>

</html>
1 resposta

Oi Eduardo, boa noite. Qual o nome do seu arquivo .jsp e em que pasta ele está? Segundo seu Controller, ele precisa estar em uma pasta clientes dentro de /WEB_INF/views e com o nome de cadastro.jsp.

Isso acontece porque configuramos o Spring anteriormente e ele sabe onde encontrar nossas views:

@Bean
public InternalResourceViewResolver internalResourceViewResolver(){
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/views/");
    resolver.setSuffix(".jsp");
    return resolver;
}

Verifica isso e dá um retorno aqui.