Problemas com Servlet

3 respostas
Rodrigo_Silveira

Olá Pessoal

Eu ainda não sei mto de servlet e tenho um arquivo main que gerar um relatorio do ireport, alguem tem como me passar o servlet apatir dos dados deste main.

public class GeraRelatorio {

    private static final String rel1 = "RelAlunos.jasper";

    private static final String rel2 = "jasper/RelAlunosDisciplinas.jasper";

    public GeraRelatorio() throws Exception {
        // Lista dos alunos
        ArrayList listaAlunos = GerarDadosFicticios.getListaAlunos();

        // Cria o data source para o relatório
        RelatorioAlunosDataSource ds = new RelatorioAlunosDataSource(
                listaAlunos);

        // Parametros do relatorio
        Map parametros = new HashMap();
        parametros.put("pathSubRel",rel2);
        
        JasperPrint impressao = JasperFillManager.fillReport(getClass()
                .getResourceAsStream(rel1), parametros, ds);

        //exibe o relatório
        JasperViewer viewer = new JasperViewer(impressao, true);
        viewer.show();
    }

    public static void main(String[] args) throws Exception {
        new GeraRelatorio();
    }
}
  • Editado: inclusão da tag code no código - rcarneiro

3 Respostas

wandersonxs

Pelo que entendi você quer acessar um Servlet para obter dados para o seu relatório. Se for isto use o código abaixo. Procure na net que existe código muito mais simples com a mesma idéia… Este código esta grande pois corrige um bug da versão java 1.3.

Abraços
Wanderson 8)

public void acesso( String stringURL){
		
			buf = new byte[80];

			try{
				//openProxy();
				URL url = new URL(stringURL);
							conn = url.openConnection();
							is = conn.getInputStream();
							es = ((HttpURLConnection)conn).getErrorStream();
							System.out.println("input stream IS:"  +  is);
							System.out.println("error stream IS:"  +  es);
							BufferedReader rd = 
								new BufferedReader(new InputStreamReader(conn.getInputStream()));
							String line;
							while ((line = rd.readLine()) != null) {
								System.out.println(line);
							}

							/*is.read(buf);
							System.out.println("buf is:" + buf);
							for(int i=0; i < buf.length; i++) {
									System.out.print(buf[i]);
							}*/
							System.out.println("-----");
					}
					catch(Exception e){
							System.err.println("YIKES!");
							System.out.println(e);
							try {
									System.out.println("err stream is:" + es);
									// commence workaround... (which doesn't work yet)
									es = ((HttpURLConnection)conn).getErrorStream();
									System.out.println(
											"err stream (after 2nd getErrorStream()) is (still) :  " + es);
									if(es != null) {
											es.read(buf);
											for(int i=0; i < buf.length; i++) {
													System.out.print(buf[i]);
											}
									}
							}
							catch(Exception e2) {
									System.exit(1);
							}
							System.exit(1);
					}
                
	}
Rodrigo_Silveira

OK Wanderson

Vou testar valeu obrigado …

Rodrigo_Silveira

este codigo que você me envio é servlet?
eu preciso de uma sevlet onde ue não use conexao com banco de dados simplesmente pegue aqueles dados como no main que eu publiquei e que gere o relatorio em um pdf.

Grato pela Atenção

Criado 9 de dezembro de 2008
Ultima resposta 11 de dez. de 2008
Respostas 3
Participantes 2