Spring Exercício da apostila

Prezados, boa tarde!

Estou seguin o exemplo da apostila fiz conforme está. Na hora de executar da a seguinte mensagem: HTTP Status 404 - /fj21-tarefas/WEB-INF/views/tarefa/formulario.jsp.

type Status report

message /fj21-tarefas/WEB-INF/views/tarefa/formulario.jsp

description The requested resource (/fj21-tarefas/WEB-INF/views/tarefa/formulario.jsp) is not available.

Pesquisei na net e não achei nada sobre o assunto. Poderia judar-me por favor?

Minha bola de cristal está muito embaçada - você está se referindo à apostila FJ-21 da Caelum?

vc ja verificou se esse jsp existe dentro da pasta

WEB-INF/views/tarefa/
?

Estou usando a apostila!

sim o arquivo jsp, está dentro da pasta.

[ironic mode: on]
Apostila de spring?
É essa que está utilizando? http://www.geoprocessamento.net/modules/mydownloads/viewcat.php?cid=30
Eu não encontrei o exercício que você está tentando fazer…
[ironic mode: off]

Adilson verifica se o caminho /views/tarefa/ esta igual ao que esta no seu web-inf

drsmachado o exercicio que ele esta tendo é o do topico 11.8 - Exercícios: Criando tarefas, apostila fj21 caelum

Isso logo no começo da lição de spring da aposta da Caelum. Consegui rodar o ola mundo. mas esse não.

o problema Adilson, é que aparentemente o spring mvc não está encontrando sua jsp, por isso estou perguntando se o caminho esta igual

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" id="WebApp_ID" version="3.0">
  <display-name>fj21-tarefas</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <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/dispatcher-servlet.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>

Configuração do Spring


<?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.1.xsd
		http://www.springframework.org/schema/beans
		http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
		http://www.springframework.org/schema/context
		http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 

        <context:component-scan base-package="br.com.caelum.tarefas" />
        <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>

Java


@Controller
public class TarefasController {

	@RequestMapping("novaTarefa")
	public String form(){
		return "tarefa/formulario";
	}
	
	@RequestMapping("adicionaTarefa")
	public String adiciona(Tarefa tarefa){
		TarefaDAO dao = new TarefaDAO();
		dao.adicona(tarefa);
		return "tarefa/adicionada";
	}
	
}

vc tá seguindo essa estrutura

WEB-INF
-views
-tarefa
-formulario.jsp

A pasta tarefa esta dentr da pasta view. O arquivo JSP está dentro da pasta tarefa.

a pasta que o tarefa/formulario.jsp está e view ou views?

views.

Obrigado!

Adilson, Conseguiu resolver o problema?

se não, tenta tirar seu formulario.jsp da pasta views/tarefa e colocar na pasta views apenas, e troca o retorno do seu metodo form() para apenas formulario e faz um teste

Fiz como você falou e deu certo. Mas, na apostila diz para fazer desse jeito. O que pode ser?

Alguém tem a resolução completa desse exercicio de incluir uma nova tarefa?

Agradeço.

Adilson,

faz um teste agora assim
cria uma outra pasta na sua pasta views com o nome de “tarefas” e coloca seu formulario.jsp nela e troca o retorno do seu metodo para “tarefas/formulario”

Deu certo. Mas estava assim antes!

então Adilson, é assim devia ter algum errinho na String de retorno ou no nome das pastas e por isso o spring não encontrava seu jsp