Aula de JSP

Pessoal, estou fazendo um curso super legal de JSP, que inclusive foi recomendado por um dos usuários aqui do fórum, porém, estou com algumas dúvidas.

Construí algumas classes jsp e alguns beans, e um servletcontroller.

O software deve fazer o seguinte: Receber do cliente usuário as informações relativas a uma determinada tarefa, se ela tem alta, média ou baixa importância e sua descrição. Feito isso, quando o cliente clicar em gravar, deve ser gerando um arquivo .txt que deverá ficar salvo dentro da WEB-INF. A aplicação tem a função de demonstrar o desvio de rota de uma página de erro default para uma página de erro específica criada para ser apresentada ao usuário, no caso de um erro, como por exemplo, a tentativa de escrever este arquivo.txt e ele estar sem permissão de escrita no disco, e caso dentro desse domínio vc tente acessar uma página que não existe, o sistema lhe direcionar para uma página de erro personalizada.

A questão é que eu não sei resolver os problemas que estão ocorrendo, e não sei se são problemas de digitação ou algum outro erro que eu possa estar cometendo ou se o fato de eu estar desenvolvendo no MACOS faz com que algum comportamento de alguns métodos sejam diferentes.

Problemas:

  • O arquivo não está sendo gerado e gravado (já procurei por conteúdo e filename pelo SpotLight e nada…)
  • Os erros não estão sendo direcionados para as páginas de erro personalizadas (mesmo após configurar o arquivo xml).

Seguem as classes:

Página de erro personalizada:

[code]<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1”
pageEncoding=“ISO-8859-1”%>

DAWJ - AppWebTODO

<jsp:include page=“cabecalho.jsp”/>

HTTP 404: Página ou arquivo não encontrado

Ops! O recurso que você tentou acessar não existe ou foi movido.

[/code]

Arquivo 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_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>AppWebTODO</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> <description></description> <display-name>ServletController</display-name> <servlet-name>ServletController</servlet-name> <servlet-class>controle.ServletController</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletController</servlet-name> <url-pattern>/ServletController</url-pattern> </servlet-mapping> <error-page> <exception-type>404</exception-type> <location>/error.jsp</location> </error-page> <error-page> <exception-type>java.io.IOException</exception-type> <location>/errorIOE.jsp</location> </error-page> </web-app>

ServletController:

[code]package controle;

import io.TodoIO;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import modelo.Todo;

public class ServletController extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	this.processaRequisicao(request, response);
}


protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	this.processaRequisicao(request, response);
}

private void processaRequisicao (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
	String tarefa = request.getParameter("tarefa");
	String prioridade = request.getParameter("prioridade");
	String prazo = request.getParameter("prazo");
	
	Todo todo = new Todo();
	todo.setTarefa(tarefa);
	todo.setPrioridade(prioridade);
	todo.setPrazo(prazo);
	
	String arquivo = this.getServletContext().getRealPath("/WEB-INF/todo.txt");
	TodoIO io = new TodoIO(arquivo);
	io.gravarRegistro(todo);
	
	request.setAttribute("TodoBean", todo);
	
	RequestDispatcher view = request.getRequestDispatcher("sucesso.jsp");
	view.forward(request, response);
}

}
[/code]

Classe IO:

[code]package io;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import modelo.Todo;

public class TodoIO {
private static final String DELIMITADOR = “;”;
private File arquivo;

public TodoIO(String arquivo){
	this.arquivo = new File(arquivo);
}

public void gravarRegistro(Todo todo) throws IOException{
	StringBuffer registro = new StringBuffer();
	registro.append(todo.getTarefa());
	registro.append(DELIMITADOR);
	registro.append(todo.getPrioridade());
	registro.append(DELIMITADOR);
	registro.append(todo.getPrazo());
	
	PrintWriter out = new PrintWriter(new FileWriter(this.arquivo, true));
	out.println(registro.toString());
	out.close();
	System.out.println("Método executado");
}

}
[/code]

ja tentou Debugar?

Vc diz debugar, eu tentar caçar o erro sozinho ou dá pra fazer isso com o Eclipse? Pq sozinho eu já tentei, mas com o Eclipse só manjo aquele lance de Break Point… É isso?