Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro 404 com server Upado.

Apesar de estar com todas as URLS configuradas, com tudo certinho (em teoria), ao acessar a página pelo link http://localhost:8080/casadocodigo/ ou http://localhost:8080/casadocodigo_test/ recebo o erro 404, já tentei vários meios de acessar o link porém sempre recebo o mesmo retorno.

alguns códigos que configuram o acesso podem ser encontrados nesse estado (em caso de dúvida para o auxílio):

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

        // resolver.setExposeContextBeansAsAttributes(true);
        resolver.setExposedContextBeanNames("carrinhoCompras");

        return resolver;
    }

    @Bean
    public MessageSource messageSource() {
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        messageSource.setBasename("/WEB-INF/messages");
        messageSource.setDefaultEncoding("UTF-8");
        messageSource.setCacheSeconds(1);
        return messageSource;
    }

Para o teste:

public class DataSourceConfigurationTest {

    @Bean
    @Profile("test")
    public DataSource dataSource(){
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
     dataSource.setUsername("desenv");
     dataSource.setPassword("minha_senha");
     dataSource.setUrl("jdbc:sqlserver://localhost:8080/casadocodigo_test");
    dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     return (DataSource) dataSource;
    }
}

JPA Config:

public class JPAConfiguration {

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory() {

        LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        factoryBean.setJpaVendorAdapter(vendorAdapter);
        factoryBean.setDataSource(DriverManagerDataSource(factoryBean));

        Properties properties = additionalProprieties();

        factoryBean.setJpaProperties(properties);
        factoryBean.setPackagesToScan("br.com.casadocodigo.loja.models");

        return factoryBean;
    }

    private Properties additionalProprieties() {
        Properties properties = new Properties();
        properties.setProperty("hibernate.dialect",
                "org.hibernate.dialect.SQLServerDialect");
        properties.setProperty("hibernate.show_sql", "true");
        properties.setProperty("hibernate.hbm2ddl.auto", "update");
        return properties;
    }

    @Profile("dev")
    private DataSource DriverManagerDataSource(
            LocalContainerEntityManagerFactoryBean factoryBean) {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setUsername("desenv");
        dataSource.setPassword("minha_senha");
        dataSource.setUrl(
                "jdbc:sqlserver://(Ip e porta aqui);databaseName=DES_PROESTAGIARIO_20181115");
        dataSource.setDriverClassName(
                "com.microsoft.sqlserver.jdbc.SQLServerDriver");

        return dataSource;
    }

    @Bean
    public JpaTransactionManager transactionManager(EntityManagerFactory emf) {
        return new JpaTransactionManager(emf);
    }

}

Obs: em geral a mesma config do que a do curso, o que muda basicamente é minha connection com o DB (q é no SQL)

7 respostas

Olá, Samuel.

Já verificou o context da aplicação?

Se com o 'context' você se refere as minhas configs com o DB, sim, já verifiquei.

Não, me refiro ao arquivo context.xml dentro de META-INF.

O context está em dia (na verdade, no meu caso o que eu tenho são as configs nas classes.java e o pom.xml, any context)

Meu context.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<Context path="/casadocodigo"/>

O seu está assim também?

Não estamos nos entendendo no quesito em que atingimos na parte: "não existe um arquivo context.xml no meu projeto", tem apenas o pom.xml... O caminho do pom.xml é esse:

target
|_ m2e-wtp
     |_ web-resources
          |_ META-INF
               |_ maven
                    |_ org.casadocodigo
                         |_ pom.xml

(nenhum context.xml) (é a única pasta meta-inf que meu projeto possui)

solução!

Solução: Tem uma aula em que o instrutor otimiza a classe "DriverManagerDataSource", e a factory bean vai para outra classe, ficando mais O.O, em vista dessa troca (sendo que meche com a config do projeto), eu reconfigurei para a antiga modificação, porém não obtive sucesso (mantive o que eu desfiz), após isso, renomeei o meu projeto de "casadocodigo" para "casinha", e logo em seguida renomeei novamente para "casadocodigo", então o problema foi resolvido.