1
resposta

Erro 404 persiste, Não consigo acessar outra pagina que não seja a home

Acredito que o erro seja na pom.xml, mas ja fiz de tudo e no log não aparece nada além de informações. Abaixo segue o codigo pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.codigo1</groupId>
  <artifactId>codigo1</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <build>
    <finalName>codigo1</finalName>
  </build>
  <properties>


        <failOnMissingWebXml>false</failOnMissingWebXml>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.0.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-servlet-api</artifactId>
        <version>7.0.86</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp.jstl</groupId>
        <artifactId>jstl-api</artifactId>
        <version>1.2</version>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.glassfish.web</groupId>
        <artifactId>jstl-impl</artifactId>
        <version>1.2</version>
        <exclusions>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
        </exclusions>
    </dependency>


</dependencies>
</project>

Além disso vale ressaltar que o produtosController aparentemente esta correto e pode ser observado abaixo.



package br.com.codigo1.teste.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import br.com.codigo1.teste.models.Produto;

@Controller
public class produtosController {
    @RequestMapping("produtos/form")
    public String form() {
        System.out.println("Entrando na HP do formulario");
        return "produtos/form"; //parte final
    }
    @RequestMapping("/produtos")
    public String grava(Produto produto) {
        System.out.println(produto);
        return "produtos/ok";
    }
}

Voces poderiam me ajudar?

1 resposta

Oi Gustavo, boa noite! O 404 é o status do protocolo HTTP para página não encontrada. Na sua classe ProdutosController você tem dois métodos que devem retornar uma String representando páginas JSP. As páginas form.jsp e ok.jsp existem dentro de uma pasta chamada produtos dentro de WEB-INF/views ?

Obs.: vi que sua classe ProdutosController inicia com letra minúscula. O padrão do Java para nomear classe é iniciar com letra maiúscula. Sugiro que você renomeie para o padrão, assim: ProdutosController. Isso também pode gerar problemas na hora de configurar o Spring.