[RESOLVIDO]Não consigo dizer olá mundo a minha aplicação web com spring MVC erro 404

Olá a todos, bom eu li a apostila fj21 da caelum por inteira, e resolvi fazer um projeto com conta própria para consolidar os conhecimentos, mas deparei-me com um problema, não consgo sequer dizer um olá mundo, e não sei por quê, gostaria de pedir a ajuda de vocês para saber aonde está meu erro.

Este é o meu web.xml

[code]

springDispatcherServlet
org.springframework.web.servlet.DispatcherServlet

contextConfigLocation
/WEB-INF/spring-context.xml

1

<!-- Map all requests to the DispatcherServlet for handling -->
<servlet-mapping>
	<servlet-name>springDispatcherServlet</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>[/code]

Possuo em meu diretória lib, as seguintes bibliotecas.

antlr-2.7.6.jar
aopalliance-1.0.jar
commons-codec-1.3.jar
commons-collections-3.1.jar
commons-dbcp-1.0.jar
commons-io-1.4.jar
commons-logging-1.0.4.jar
commons-pool-1.5.3.jar
dom4j-1.6.1.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate-search-3.2.0.Final.jar
hibernate-validator-4.2.0.Final.jar
javassist-3.9.0.GA.jar
jboss-logging-3.0.0.GA.jar
jstl-api-1.2.jar
jstl-impl-1.2.jar
jta-1.1.jar
log4j-1.2.16.jar
lucene-analyzers-2.9.2.jar
lucene-core-2.9.2.jar
lucene-snowball-2.9.2.jar
mysql-connector-java-5.1.22-bin.jar
ognl-2.7.3.jar
slf4j-api-1.5.8.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.5.8.jar
solr-core-1.4.0.jar
solr-solrj-1.4.0.jar
spring-aop-3.2.2.RELEASE.jar
spring-aspects-3.2.2.RELEASE.jar
spring-beans-3.2.2.RELEASE.jar
spring-context-3.2.2.RELEASE.jar
spring-core-3.2.2.RELEASE.jar
spring-expression-3.2.2.RELEASE.jar
spring-jdbc-3.2.2.RELEASE.jar
spring-orm-3.0.5.RELEASE.jar
spring-tx-3.0.5.RELEASE.jar
spring-web-3.2.2.RELEASE.jar
spring-webmvc-3.2.2.RELEASE.jar
validation-api-1.0.0.GA.jar
xml-apis-1.0.b2.jar

Está é a classe que é meu controller, e não está sendo encontrada, gerando o erro 404

[code]@Controller
public class PadraoController {

@RequestMapping("/inicio")
public String inicial() {
	return "inicial";
}

}[/code]

o erro acontece que tendo acessar o inicio pela url, através de http://localhost:8080/MinhaAgenda/inicio
assim é mostrado na tela essa mensagem:

[b]HTTP Status 404 - /MinhaAgenda/inicio

type Status report

message /MinhaAgenda/inicio

description The requested resource is not available.[/b]

Abaixo também vai um imagem com a visão geral para meu projeto, com o arquivo spring-context.xml aberto, e também vocês poderão ter uma visão da estrutura do meu projeto
desde já obrigado


chega a dar algum erro? posta a saida do console do eclipse.
tem um tutorial pra iniciantes bem simples -> http://www.edsongoncalves.com.br/2010/02/27/spring-mvc-3-0-na-pratica-parte-1/

E o arquivo spring-context.xml posta ai?

Coloque o mapeamento como:

[code]@Controller
@RequestMapping(value = “/”)
public class SeuController {

@RequestMapping(method = RequestMethod.GET)
public String index() {
    // faz algo
}

}[/code]

Você adicionou o projeto no Tomcat? (Aba Servers, botão direito no Tomcat, Add and Remove).
Quando eu criava um projeto novo, esquecia de fazer isso as vezes.

Então não é lançada um exceção por parte do servidor, a única coisa que acontece é que quando tendo acessar a Ação que está no @controller há o erro 404 como postei.

Hebert Coelho, fiz isso mas o erro Persistiu.

chetspop - este não é o erro que acontece, pois o meu index que fica dentro de webContent roda, eu não consigo é acessar a pagina inicial.jsp dentro do WEB-INF usando o @controler

Este é o meu arquivo spring-context.xml

[code]<?xml version="1.0" encoding="UTF-8"?>

<mvc:annotation-driven /> <!-- habilitando anotações do spring -->
<context:component-scan base-package="br.com.jose.controles" /> <!-- encontrar essas classe dentro desse pacote -->
<mvc:default-servlet-handler/><!-- conteúdo estatico não terá acesso a action -->


<!--local onde colocaremos os arquivos JSP  -->
<bean 
	class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- Classe para passara os nome das pastas do jsp -->
	<property name="prefix" value="/WEB-INF/views/"/><!-- Pasta onde estão os jsp -->
	<property name="suffix" value=".jsp"/><!-- Extensão dos arquivos para serem trabalhados -->
</bean>

</beans>[/code]

Obrigado por tentarem me ajudar.

Já passei por isso uma vez e até entao que me lembro resolvi da seguinte maneira:
no index.html inseri o seguinte codigo jsp.

<html>
<head>
</head>
<% response.sendRedirect(request.getContextPath() + "/paginas/home.xhtml"); %>
só vc alterar para sua pagina.
</html>

espero ter ajudado.

Olá, mesmo fazendo isso o meu não deu certo ;/
eu fiz <% response.sendRedirect(request.getContextPath() + "/WEB-INF/views/inicial.jsp"); %>
mas mesmo se desse certo não iria ficar 100% pois eles condenam a pratica de misturar o código jsp com o html

Eu até vi este tutorial no youtube, fiz tudo praticamente igual a ele, a única diferença é que o dele deu certo e o meu errado ;/
e não fao ideia do por quê, o primeiro projeto que fiz deu certo, o projeto tarefa da apostila caelum, agora não consigo mais.

Roda a aplicação e posta o log do eclipse, o que pode estar acontecendo e que o contexto do spring não ta sendo carregado e assim seus controllers não estará disponíveis.
Obs: ativa o log.

A única coisa que aparece no console quando starto o projeto é:

Mai 06, 2013 3:24:28 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files (x86)\CollabNet;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin;C:\Users\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Users\Public\Documents\RAD Studio\7.0\Bpl;C:\Program Files (x86)\eclipse;;.
Mai 06, 2013 3:24:28 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:MinhaAgenda' did not find a matching property.
Mai 06, 2013 3:24:28 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Mai 06, 2013 3:24:28 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Mai 06, 2013 3:24:28 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 468 ms
Mai 06, 2013 3:24:28 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mai 06, 2013 3:24:28 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.33
Mai 06, 2013 3:24:31 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
Mai 06, 2013 3:24:31 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'springDispatcherServlet'
15:24:32,056  INFO Version:24 - Hibernate Validator 4.2.0.Final
Mai 06, 2013 3:24:32 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Mai 06, 2013 3:24:32 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Mai 06, 2013 3:24:32 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3723 ms

Cara cria um arquivo log4j.properties na raiz do seu projeto e adiciona o seguinte.
Isso da detalhar mais o log do eclipse.

log4j.rootLogger=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
   
log4j.logger.org.springframework=INFO

No console do eclipse deverá aparecer algo como:"

2955 [localhost-startStop-1] INFO  org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping  - Mapped "{[/app/aplicacao],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object br.com.guj.test.controller.AplicacaoController.homepage(javax.servlet.http.HttpServletRequest)

obs: adiciona as dependências do log4j.

Agora o que foi exibido é isso:

prLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files (x86)\CollabNet;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin;C:\Users\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Users\Public\Documents\RAD Studio\7.0\Bpl;C:\Program Files (x86)\eclipse;;. Mai 06, 2013 4:02:54 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:MinhaAgenda' did not find a matching property. Mai 06, 2013 4:02:55 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Mai 06, 2013 4:02:55 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Mai 06, 2013 4:02:55 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 439 ms Mai 06, 2013 4:02:55 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Mai 06, 2013 4:02:55 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.33 Mai 06, 2013 4:02:57 PM org.apache.catalina.core.ApplicationContext log INFO: No Spring WebApplicationInitializer types detected on classpath Mai 06, 2013 4:02:57 PM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring FrameworkServlet 'springDispatcherServlet' 0 [localhost-startStop-1] INFO org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'springDispatcherServlet': initialization started 32 [localhost-startStop-1] INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing WebApplicationContext for namespace 'springDispatcherServlet-servlet': startup date [Mon May 06 16:02:57 BRT 2013]; root of context hierarchy 79 [localhost-startStop-1] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-context.xml] 360 [localhost-startStop-1] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@bb31bc: defining beans [mvcContentNegotiationManager,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy 501 [localhost-startStop-1] INFO org.hibernate.validator.util.Version - Hibernate Validator 4.2.0.Final 860 [localhost-startStop-1] INFO org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - Mapped URL path [/**] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0' 891 [localhost-startStop-1] INFO org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'springDispatcherServlet': initialization completed in 891 ms Mai 06, 2013 4:02:58 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Mai 06, 2013 4:02:58 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Mai 06, 2013 4:02:58 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 3479 ms

blz… edita seu spring-*.xml e comenta a linha.

&lt;mvc:default-servlet-handler /&gt;

Roda seu projeto e posta o logo novamente…

Comentei a linha que você pediu:

Mai 06, 2013 4:23:58 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files (x86)\CollabNet;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin;C:\Users\Public\Documents\RAD Studio\10.0\Bpl;C:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin64;C:\Users\Public\Documents\RAD Studio\10.0\Bpl\Win64;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\Users\Public\Documents\RAD Studio\7.0\Bpl;C:\Program Files (x86)\eclipse;;. Mai 06, 2013 4:23:58 PM org.apache.tomcat.util.digester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:MinhaAgenda' did not find a matching property. Mai 06, 2013 4:23:58 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Mai 06, 2013 4:23:58 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Mai 06, 2013 4:23:58 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 491 ms Mai 06, 2013 4:23:58 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Mai 06, 2013 4:23:58 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.33 Mai 06, 2013 4:24:00 PM org.apache.catalina.core.ApplicationContext log INFO: No Spring WebApplicationInitializer types detected on classpath Mai 06, 2013 4:24:00 PM org.apache.catalina.core.ApplicationContext log INFO: Initializing Spring FrameworkServlet 'springDispatcherServlet' 0 [localhost-startStop-1] INFO org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'springDispatcherServlet': initialization started 32 [localhost-startStop-1] INFO org.springframework.web.context.support.XmlWebApplicationContext - Refreshing WebApplicationContext for namespace 'springDispatcherServlet-servlet': startup date [Mon May 06 16:24:01 BRT 2013]; root of context hierarchy 94 [localhost-startStop-1] INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-context.xml] 423 [localhost-startStop-1] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@e5012b: defining beans [mvcContentNegotiationManager,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor]; root of factory hierarchy 548 [localhost-startStop-1] INFO org.hibernate.validator.util.Version - Hibernate Validator 4.2.0.Final 923 [localhost-startStop-1] INFO org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'springDispatcherServlet': initialization completed in 923 ms Mai 06, 2013 4:24:01 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Mai 06, 2013 4:24:01 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Mai 06, 2013 4:24:01 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 3503 ms 7581 [http-bio-8080-exec-6] WARN org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/MinhaAgenda/inicio] in DispatcherServlet with name 'springDispatcherServlet'

Cara a action que tu ta mapeando não esta sendo carregada pelo contexto do spring, quando ele eh carregada aparece algo como.

2955 [localhost-startStop-1] INFO  org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping  - Mapped "{[/app/aplicacao],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.Object br.com.guj.test.controller.AplicacaoController.homepage(javax.servlet.http.HttpServletRequest)

Clica como o botão direito em cima do seu tomcat da um “Clean Tomcat Work…”, se tiver usando maven da um clean no projeto e roda…

jweibe, MUITO OBRIGADO MESMO pela sua ajuda, muito grato mesmo deu certo aqui, obrigado pela sua atenção.
Apesar de não ter entendido qual foi a causa do problema, já sei o que devo fazer caso venha a se repetir o problema.
tenho pouco conhecimento mais se um dia puder ajudar em algo estou aqui, obg.

cara não sei se foi seu caso… mais isso acontece comigo direto eu uso o maven dai quando começar a acontecer isso eu dou um clean no projeto do maven, e dou um clean no projeto e mais um clean no tomcat ou seja vou dando clean em tudo, depois fica tudo susa novamente.
dica: se tu vai investir em spring mvc e estiver querendo comprar um livro bacana, compra o livro de spring da casa do codigo http://www.casadocodigo.com.br/products/livro-spring-framework tem um conteúdo muito bom, bem explicado e com exemplos bem claros.

Será o meu próximo passo! pretendo saber mais sobre jsf, Spring, jstl.
assim que possível vou adquirir livros, estive olhando uns livros da casa do código que despertaram e muito meu interesse. obg.