Servlet e JSP

Olá pessoal,

Meu JSP chama o servlets, que faz a consulta no BD e retorna alguns dados, os quais eu gostaria de mostrar na página JSP, ou seja, quero q o servlet retorne os dados para a pág JSP.
Porém não estou conseguindo fazer esta ligação.
Alguém tem alguma dica?

Aguardo retorno

Sta Leisley

tente salvar o objeto que contem as informações na cessão

request.getSession().invalidate();
request.setAttribute(“categorias”, categorias);

edepois é só ler … :thumbup:

mark_domi, seu código está incorreto.

Bom, vamos lá. Não faz muito sentido gravar os dados na sessão sendo que você só vai utilizá-lo em uma tela. O correto então é salvar no escopo de request.

No Servlet:
request.setAttribute(“umObjeto”, seuObjetoComOsDados);

No JSP:
SeuTipo o = (SeuTipo) request.getAttribute(“umObjeto”);

[quote=danieldestro]mark_domi, seu código está incorreto.

Bom, vamos lá. Não faz muito sentido gravar os dados na sessão sendo que você só vai utilizá-lo em uma tela. O correto então é salvar no escopo de request.

No Servlet:
request.setAttribute(“umObjeto”, seuObjetoComOsDados);

No JSP:
SeuTipo o = (SeuTipo) request.getAttribute(“umObjeto”);[/quote]

No JSP coloco o comando entre tags?
O que seria SeuTipo o no comando q vc colocou?

Obrigada

Leisley

Isso, coloca entre <% e %>.

SeuTipo é o tipo que contém os dados. Pode ser um tipo definido por você, ou um String ou qq outro tipo (classe).

[quote=danieldestro]Isso, coloca entre <% e %>.

SeuTipo é o tipo que contém os dados. Pode ser um tipo definido por você, ou um String ou qq outro tipo (classe).[/quote]

Valeu…vou tentar resolver assim…

Abraços

Sta Leisley

olá danieldestro, tentei o seguinte:

no meu servlet:


String command = “”;
command = req.getParameter(“command”);

   /**Recebe o assunto escolhido do formulário Aluno*/
     if(command.equals("OK")){
        assunto = req.getParameter("assunto");
                
        PrintWriter out = res.getWriter();
        res.setContentType("text/html"); 
                                            
   /**Conexão com o Banco de Dados*/ 
        try{
           con = java.sql.DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/Sistema;user=sa"); 
        }catch(Exception e){ 
           e.printStackTrace(); 
           out.println("Error Trace in getConnection() : " + e.getMessage()); 
         }
        
        /**consulta no BD*/
        try{
           stm = con.createStatement(); 
                 
           sql = "SELECT * FROM QUESTAO, ALTERNATIVA" +
                  " WHERE assunto='" + assunto + "'" + 
                  " AND QUESTAO.cod_questao = ALTERNATIVA.cod_questao";
                
           ResultSet rs = stm.executeQuery(sql);
           
           req.setAttribute("codigo",cod_questao); 

.
.
.

no meu JSP:

<%@page contentType=“text/html”%>
<%@page pageEncoding=“UTF-8”%>
<% Int cod_questao = (cod_questao)request.getAttribute(“codigo”);
%>

porém não obtive sucesso. Será q estou fazendo algo de errado?

Aguardo retorno.

Sta Leisley

Totalmente errado.

Primeiro, isto aqui no seu Servlet, só pode ser verdade se a variável cod_questao for um objeto, pq se for uma variável de tipo primitivo, não vai nem compilar.

E depois, isso aqui no seu JSP está errado:

Tem que ser assim:

Se o tipo dele for Integer.

Não confunda. cod_questao é só o nome da variável e não um tipo. O tipo da variável é definido na definição (criação) da variável. Exemplo:

Integer cod_questao;

[quote=danieldestro]Totalmente errado.

Primeiro, isto aqui no seu Servlet, só pode ser verdade se a variável cod_questao for um objeto, pq se for uma variável de tipo primitivo, não vai nem compilar.

E depois, isso aqui no seu JSP está errado:

Tem que ser assim:

Se o tipo dele for Integer.

Não confunda. cod_questao é só o nome da variável e não um tipo. O tipo da variável é definido na definição (criação) da variável. Exemplo:

Integer cod_questao;[/quote]

Obrigada pela dica. Irei arrumar esses erros e vamos ver o q acontece.

t+

Leisley

[quote=Leisley][quote=danieldestro]Totalmente errado.

Primeiro, isto aqui no seu Servlet, só pode ser verdade se a variável cod_questao for um objeto, pq se for uma variável de tipo primitivo, não vai nem compilar.

E depois, isso aqui no seu JSP está errado:

Tem que ser assim:

Se o tipo dele for Integer.

Não confunda. cod_questao é só o nome da variável e não um tipo. O tipo da variável é definido na definição (criação) da variável. Exemplo:

Integer cod_questao;[/quote]

Obrigada pela dica. Irei arrumar esses erros e vamos ver o q acontece.

t+

Leisley[/quote]

Muito obrigada pela ajuda. Consegui obter sucesso com suas dicas.
Valeu mesmo!

Abraços,

Leisley