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

Não Passa pelo Controller

Bom dia. Não sei o que eu fiz de errado aqui. Perdi as contas de quantas vezes iniciei o projeto, cada hora uma coisa diferente. Dessa vez, ao criar um projeto Maven na unha, a estrutura de pastas está diferente do curso e com isso, não consigo progredir. Estou perdendo mais tempo com o ambiente do que com o curso. Não foi criada a pasta webapp e sim uma WebContet (meu index.jsp é reconhecido), onde criei o WEB-INF. Minhas classes estão em src/main/java/br/com/casadodocodigo.... A pasta WebContent está no mesmo nível de src, como façoç para que os Controller sejam reconhecidos?

3 respostas

Bom dia Ronney, vou tentar simplificar a estrutura de pastas web pra ti! pois fazendo na mão, com ide ou com o maven as estruturas ficam diferentes mesmo!

Seguinte, pela especificação, devemos ter uma pasta WEB-INF com a subpasta lib, classes e o arquivo web.xml , tudo que tiver alem disso é apenas para organização ou pastas que a ide coloca por conta dela(como WebContent)

Já que está com o eclipse faça o seguinte. Dentro da pasta WebContent colcoque todo seu conteudo web (html, css, js, imagens) e tbm a pasta WEB-INF(que deverá conter seu web.xml com a declaração da servlet do spring, o arquivo de configuração do spring, o spring-context.xml e suas libs)

Quando você cria uma classe no src o eclipse já compila e coloca o .class no local correto.

Para usar o SpringMVC então importe as libs, configure a servlet do spring no web.xml, configure o spring-context.xml, crie uma classe, anote com @Controller, crie um método, anote com @RequestMapping(''/ url_aqui") e chame pelo navegador!

Espero ter ajudado e poste o resultado!

Abraços

Boa tarde. Estou providenciando as alterações. Inicialmente, pensei que o caminho fosse alterar os plugins do Maven dentro do POM. Mas vamos lá. Pelo que eu entendi os .java devem também estar dentro de WEB-INF. Quando executo ^+Shift+R, o web-inf que aparece é o que está dentro de servers, mesmo eu copiando para dentro da pasta do projeto, ao pressionar novamente a combinação de teclas o arquivo que é trazido está fora do projeto. Não localizei o arquivo: spring-context.xml Vixi a coisa está pior do que eu pensava

solução!

Os arquivos .java devem ficar na pasta SRC (em subpastas cjamadas de packages) e o eclipse é quem compila e joga os .class dentro do WEB-INF para nós. Por padrão uma aplicação web não vem com spring-context.xml, devemos baixar de algum lugar ou pegar de outro projeto spring.

Vamos tentar fazer inicialmente sem o maven pra voce entender i que está acontecendo na criação do projeto.

Crie um novo Dynamic Web Projetct. coloque as dependencias do spring na pasta lib, coloque um spring-context.xml dentro de WEB-INF. Configure o we.xml e o spring-context.xml e depois crie o controller

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software