Configurando o Spring Duvida [RESOLVIDO]

Olá galera,

Após muito custo, consegui colocar todas as dependências do spring e ele na pasta \WEB-INF\lib. Quando eu starto o tomcat ele não da nenhum erro. Eu criei tudo iglau está explicando na apostila FJ-21. Porém quando eu chamo a classe ele me retorna erro 404 como se a pagina não existisse.

package br.com.caelum.tarefas.controller;

@Controller
public class olaMundoController {
	@RequestMapping("/olaMundoSpring")
	public String execute() {
		System.out.println("Executando a lógica com Spring MVC");
		return "ok";
	}
}

Essa classe fica com erro, no @Controller, @RequestMapping como se o eclise não entendesse as tags.

Na pasta /WEB-INF/ eu tenho os arquisos:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- -->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">


	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>
				/WEB-INF/spring-context.xml
			</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>


</web-app>

e

spring-context.xml


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

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<context:component-scan base-package="br.com.caelum.tarefas.controller" />
	<mvc:annotation-driven />
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>

Na pasta /WEB-INF/views/

Tenho a jsp

ok.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<h2>Olá mundo com Spring MVC!</h2>
</body>
</html>

Esta configurado no patch do TomCat o projeto tarefas

Eu tento acessar no ff pela url:

http://localhost/tarefas/olaMundoController

Obs.: o tomcat esta funcionando normal se eu coloco a pagina ok.jsp em
WebContent e acesso:

http://localhost/tarefas/ok.jsp

Funciona normalmente.

Alguem tem uma sugestão ? Eu fiquei encabulado com o eclipse deixar minha classe olaMundoController como erro. Tem que configurar alguma coisa no eclipse ?

Obrigado.

Ae consegui resolver !!!

Na pagina que o spring chama falta o import o codigo ficou:


import org.springframework.stereotype.Controller;

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

    @Controller  
    public class olaMundoController {  
        @RequestMapping("/olaMundoSpring")  
        public String execute() {  
            System.out.println("Executando a lógica com Spring MVC");  
            return "ok";  
        }  
    }  

Caso tenha conseguido solucionar seu problema, por favor altere o titulo do tópico para [RESOLVIDO].

t+

[quote=Acatao]Olá galera,

Após muito custo, consegui colocar todas as dependências do spring e ele na pasta \WEB-INF\lib. Quando eu starto o tomcat ele não da nenhum erro. Eu criei tudo iglau está explicando na apostila FJ-21. Porém quando eu chamo a classe ele me retorna erro 404 como se a pagina não existisse.

package br.com.caelum.tarefas.controller;

@Controller
public class olaMundoController {
	@RequestMapping("/olaMundoSpring")
	public String execute() {
		System.out.println("Executando a lógica com Spring MVC");
		return "ok";
	}
}

Essa classe fica com erro, no @Controller, @RequestMapping como se o eclise não entendesse as tags.

Na pasta /WEB-INF/ eu tenho os arquisos:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- -->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
	version="3.0">


	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>
				/WEB-INF/spring-context.xml
			</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>


</web-app>

e

spring-context.xml


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

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<context:component-scan base-package="br.com.caelum.tarefas.controller" />
	<mvc:annotation-driven />
	<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/" />
		<property name="suffix" value=".jsp" />
	</bean>
</beans>

Na pasta /WEB-INF/views/

Tenho a jsp

ok.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<h2>Olá mundo com Spring MVC!</h2>
</body>
</html>

Esta configurado no patch do TomCat o projeto tarefas

Eu tento acessar no ff pela url:

http://localhost/tarefas/olaMundoController

Obs.: o tomcat esta funcionando normal se eu coloco a pagina ok.jsp em
WebContent e acesso:

http://localhost/tarefas/ok.jsp

Funciona normalmente.

Alguem tem uma sugestão ? Eu fiquei encabulado com o eclipse deixar minha classe olaMundoController como erro. Tem que configurar alguma coisa no eclipse ?

Obrigado.[/quote]