irepots usanso servlets
21/01/2011
0
Olá.
Estou com uma dúvida quando transporto os arquivos jasper e tento invocá-lo em um servlet. A questão principal é que não o código que deve usar. No meu projeto->Tenho de passar o relatório invocando ele de um servlet. ->Tenho uma camada de persistência usando jpa.
Eu modelei o relatório usando o ireports 4. Em seguida eu transferi o jasper para um pacote (projeto.relatorio.jasper), entretanto não consigo criar um código consistente em servlet. Eu procurei vários exemplos, entretanto não encontrei nenhum que se adequasse à minha solução. O ireports já me deu o arquivo compilado, entretanto os exemplos que pesquisei compilam o xml primeiro, e, adicionalmente, usam urls ao invés de referências aos pacotes.
Entre as minhas dúvidas:1)No jasper já tem o sql, isso indica que eu não preciso refazer a query no server, certo?2)Eu já tenho os dados da conexão com o banco no persistence.xml, entretanto não sei como invocá-lo no servlet. 3. Sugestões?3)[E mais importate] Qual os pontos principais para invocação e geração do relatório no servlet em se tratando de código java?
Eu modelei o relatório usando o ireports 4. Em seguida eu transferi o jasper para um pacote (projeto.relatorio.jasper), entretanto não consigo criar um código consistente em servlet. Eu procurei vários exemplos, entretanto não encontrei nenhum que se adequasse à minha solução. O ireports já me deu o arquivo compilado, entretanto os exemplos que pesquisei compilam o xml primeiro, e, adicionalmente, usam urls ao invés de referências aos pacotes.
Entre as minhas dúvidas:1)No jasper já tem o sql, isso indica que eu não preciso refazer a query no server, certo?2)Eu já tenho os dados da conexão com o banco no persistence.xml, entretanto não sei como invocá-lo no servlet. 3. Sugestões?3)[E mais importate] Qual os pontos principais para invocação e geração do relatório no servlet em se tratando de código java?
Jotanoveseis
Curtir tópico
+ 0
Responder
Posts
22/01/2011
Davi Costa
1)No jasper já tem o sql, isso indica que eu não preciso refazer a query no server, certo?Exato, mas vc vai ter que passar a conexão como parâmetro para seu relatório, foque seus estudos em como fazer isso.
2)Eu já tenho os dados da conexão com o banco no persistence.xml, entretanto não sei como invocá-lo no servlet.
Se vc consegue passar os dados da conexão na camada de serviço e está com dificuldades de usar no seu servlet não tem problema chame o relatório na camada de serviço. Na sua servlet vc simplesmente passa os parâmetro que foram definidos pelo usuário na tela, deixa que a camada de serviços cuida do resto.
3. Sugestões?Como falei na resposta anterior não tem problema deixar a camada de serviço chamar diretamento o relatório, já dizia os mais experientes não misture alhos com bugalhos.
3)[E mais importate] Qual os pontos principais para invocação e geração do relatório no servlet em se tratando de código java?Vc pega os parâmetros da tela (os filtros que o usuário utilizou) e passa esses parâmetros junto com a conexão para o ireport, mas podemos também executar a pesquisa no java e passar já o resultado para o Ireport. Já passei por uma situação tão específica que ficou muito complexo fazer tudo com select no jasper e acabei fazendo a pesquisa no próprio java. Nessa segunda estratégia vc não precisa passar a conexão como parâmetro.
Espero ter ajudado e elucidado um pouco.
Att Davi
2)Eu já tenho os dados da conexão com o banco no persistence.xml, entretanto não sei como invocá-lo no servlet.
Se vc consegue passar os dados da conexão na camada de serviço e está com dificuldades de usar no seu servlet não tem problema chame o relatório na camada de serviço. Na sua servlet vc simplesmente passa os parâmetro que foram definidos pelo usuário na tela, deixa que a camada de serviços cuida do resto.
3. Sugestões?Como falei na resposta anterior não tem problema deixar a camada de serviço chamar diretamento o relatório, já dizia os mais experientes não misture alhos com bugalhos.
3)[E mais importate] Qual os pontos principais para invocação e geração do relatório no servlet em se tratando de código java?Vc pega os parâmetros da tela (os filtros que o usuário utilizou) e passa esses parâmetros junto com a conexão para o ireport, mas podemos também executar a pesquisa no java e passar já o resultado para o Ireport. Já passei por uma situação tão específica que ficou muito complexo fazer tudo com select no jasper e acabei fazendo a pesquisa no próprio java. Nessa segunda estratégia vc não precisa passar a conexão como parâmetro.
Espero ter ajudado e elucidado um pouco.
Att Davi
Responder
Clique aqui para fazer login e interagir na Comunidade :)