Chamar um servlet de uma JSP

Boa tarde pessoal,

Ai vai uma pergunta simples para os mais
experientes… ou não ahahha

como chamar um servlet passando um parâmetro
de dentro de uma JSP? (é possível?!)

Obrigado.

Como assim ‘chamar’?
Acessá-lo? Chamar um método nele?

Se for acessar uma ação basta ‘chamá-lo’ a partir de um link, como em link
o caminho pro seui Servlet é o que você configurou no web.xml.

Pode explicar melhor?

[quote=daveiga]Como assim ‘chamar’?
Acessá-lo? Chamar um método nele?

Se for acessar uma ação basta ‘chamá-lo’ a partir de um link, como em link
o caminho pro seui Servlet é o que você configurou no web.xml.

Pode explicar melhor?[/quote]

minha JSP vai processar um documento, ao final
vai chamar uma function mostrarArquivo passando uma resposta
se for “ok” deveria chamar um servlet para fazer o download
desse arquivo.
o mapeamento no xml ficou /GenericServletDownload.
esse servlet vai receber o tipo de arquivo que foi gerado, e o caminho dele
para então ler e fazer o download.

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

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		HttpSession session = request.getSession();
		int tipo_rel;
		String fileName = "";
		tipo_rel =Integer.parseInt((String) request.getAttribute("tipo"));
		switch (tipo_rel) {
		case 1:
			fileName = "SPED_CONTABIL_"
					+ (String) session.getAttribute("str_id_usuario") + ".fz";
			break;
		case 2:
			fileName = "SPED_FCONT_"
					+ (String) session.getAttribute("str_id_usuario") + ".fz";
			break;
		case 3:
			fileName = "SPED_PISCOFINS_"
					+ (String) session.getAttribute("str_id_usuario") + ".fz";
		}

		System.out.println("Servlet Download ");

		response.setContentType("application/txt");
		response.setHeader("Content-Disposition", "attachment;filename="
				+ fileName);

		try {
			FileInputStream fis = new FileInputStream(fileName);
			ServletOutputStream sos = response.getOutputStream();
			byte[] buffer = new byte[1024];
			int i;
			while ((i = fis.read(buffer)) != -1) {
				sos.write(buffer, 0, i);
			}
			sos.flush();
			fis.close();
			sos.close();
		} catch (IOException err) {
			System.out.println(err);
			err.printStackTrace();
		}

	}

}

Obrigado.

Cara,

Não entendi bem o que tu quis dizer, pra ficar mais claro coloca o código da pagina JSP aqui.

Abraços

[quote=riqueluz]Cara,

Não entendi bem o que tu quis dizer, pra ficar mais claro coloca o código da pagina JSP aqui.

Abraços[/quote]

Amigo o problema que eu quis dizer, era que eu precisava
que minha JSP chamasse um servlet que faria o download
de um arquivo no servidor… porem já foi resolvido em partes…
na minha maquina de desenvolvimento(localhost) usando o IE
ele faz o download certo, quando eu tento fazer esse download na
aplicação realmente, não faz esse download…
Já no mozilla funciona em ambos.
Detalhe é que eu preciso que funcione no IE.
não sei se é algum problema do IE ou sei lá o que pode ser…

Obrigado.