Chamar Servlet

Bom dia galera

É o seguinte, estou tentando gerar um relatório com iText, pois me pareceu mais fácil e os dados q eu irei usar para compor o relatório são complexos, vai ficar melhor de ser feito com iText.

Achei este Exemplo no site da API

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
 
public class PdfServlet extends HttpServlet {
 
    /**
     * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
     */
    protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        try {
            // Get the text that will be added to the PDF
            String text = request.getParameter("text");
            if (text == null || text.trim().length() == 0) {
                 text = "You didn't enter any text.";
            }
            // step 1
            Document document = new Document();
            // step 2
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            PdfWriter.getInstance(document, baos);
            // step 3
            document.open();
            // step 4
            document.add(new Paragraph(String.format(
                "You have submitted the following text using the %s method:",
                request.getMethod())));
            document.add(new Paragraph(text));
            // step 5
            document.close();
 
            // setting some response headers
            response.setHeader("Expires", "0");
            response.setHeader("Cache-Control",
                "must-revalidate, post-check=0, pre-check=0");
            response.setHeader("Pragma", "public");
            // setting the content type
            response.setContentType("application/pdf");
            // the contentlength
            response.setContentLength(baos.size());
            // write ByteArrayOutputStream to the ServletOutputStream
            OutputStream os = response.getOutputStream();
            baos.writeTo(os);
            os.flush();
            os.close();
        }
        catch(DocumentException e) {
            throw new IOException(e.getMessage());
        }
    }
 
    /**
     * Serial version UID.
     */
    private static final long serialVersionUID = 6067021675155015602L;
 
}

Agora estou perdido, como eu faço para chamar ele? Alguém poderia postar um exemplo, estou desde sexta procurando no Google.
Uso JSF 1.2

Desde já agradeço.

Att.
Diego Silva

Ninguém passou por problema igual??

Alguém pode ajudar???

Alguém??

Cara eu por enquanto uso JSP, porém acredito que uma forma para chamar essa servlet seria usar um com um submit! Ficaria algo parecido com isso:

<form action="PdfServlet" method="post"> //não sei se é necessário que vc use esse método service
<input type="submit" value="Gerar PDF">
</form>

[quote=java.teen]Cara eu por enquanto uso JSP, porém acredito que uma forma para chamar essa servlet seria usar um com um submit! Ficaria algo parecido com isso:

[code]

//não sei se é necessário que vc use esse método service [/code][/quote]

Bom dia amigo

Valeu…
Mas eu tenho uma tela com alguns dados e nela tem um botão que eu chamo o relatório… o problema é que faz o procedimento todo, mas na hora que vou abrir o PDF ele tá trazendo a tela, e dá erro no pdf.

Mas vou tentar algo com o q vc me passou!

OK, se resolver posta aqui !

Não funcionou!!!

Bom, terei que implementar um relatório em uma página JSP aqui. Se vc ainda não tiver resolvido, logo trago resultados aqui !

Bom dia caro amigo

Estou com tudo parado, não consegui implementar.

Se vc puder ajudar!
Desde já agradeço.