[RESOLVIDO] Problema ao receber parametro da requisição/ Servlets

5 respostas
A

Ola pessoal tudo bem? Eu estou estudando pela apostila da caelum e um dos capitulos é explicado como utilzar apenas uma servlet , utilizando classes que implementam uma interface “logica”.

O codigo que a apostila apresenta é esse :

public class ControllerServlet extends HttpServlet {
     protected void service(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException {

            String parametro = request.getParameter("logica");
            String nomeDaClasse = "br.com.caelum.mvc.logica." + parametro;

            try {
                 Class classe = Class.forName(nomeDaClasse);
                 Logica logica = (Logica) classe.newInstance();
                 logica.executa(request, response);

                } catch (Exception e) {
                    throw new ServletException("A lógica de negócios causou uma exceção", e);
                   }

a servlet seria acessada em um endereço como :
http://localhost:8080/contexto/sistema?logica=AdicionaContato.

oq eu nao entendi é da onde surgiu esse parametro “logica” que esta sendo recebido da requisicao. Um input “nome” por exemplo seria recebido pelo mesmo modo da requisição. Agora oq é esse parametro logica? um input? um radio? um select? Nao sei se to sendo claro na minha duvida. Esse parametro foi a unica coisa que nao entendi :confused:

5 Respostas

J

Boa tarde,

Bom não estudei essa apostila mais pelo que vejo esse request.getParameter(“logica”); é o nome da classe para onde teu servelt vai redirecionar ele esta sendo enviado quando você da submit no form em sua JSP ou até mesmo por um link via formulário GET que seria algo do tipo seuServlet.jsp?logica=NomeClasse

Respondendo sua duvida 'Agora oq é esse parametro logica? um input? um radio? um select?'pelo que vejo não é nenhum desses simplismente em alguma parte da sua JSP deve ter um comando assim:

request.setParameter(“logica”,“NomeDaClasse”);
ou como já disse antes em um link: seuServlet.jsp?logica=NomeClasse

L

Esse parâmetro logica realmente na apostila é um input. Por exemplo:

<input type="hidden" name="logica" value="AdicionaContato" />

Se não me engano na apostila está assim mesmo.

A

JGustavoF:
Boa tarde,

Bom não estudei essa apostila mais pelo que vejo esse request.getParameter(“logica”); é o nome da classe para onde teu servelt vai redirecionar ele esta sendo enviado quando você da submit no form em sua JSP ou até mesmo por um link via formulário GET que seria algo do tipo seuServlet.jsp?logica=NomeClasse

Respondendo sua duvida 'Agora oq é esse parametro logica? um input? um radio? um select?'pelo que vejo não é nenhum desses simplismente em alguma parte da sua JSP deve ter um comando assim:

request.setParameter(“logica”,“NomeDaClasse”);
ou como já disse antes em um link: seuServlet.jsp?logica=NomeClasse

é exatamente isso, eu nao to entendendo o q era esse parametro logica, na apostila essa parte nao ficou mto bem explicado sobre esse parametro.
e na jsp que foi feito na apostila pra testar esse codigo nao tinha nenhum desses dois metodos que vc citou.

Muito obrigado por responder :slight_smile:

A

lincolnti:
Esse parâmetro logica realmente na apostila é um input. Por exemplo:

<input type="hidden" name="logica" value="AdicionaContato" />

Se não me engano na apostila está assim mesmo.

lincolnti muito obrigado por responder.

Eu nao ve esse trecho de codigo na apostila , ou estou MUITO CEGO ou a apostila que tenho está desatualizada.

Vou testar esse metodo e posto o resultado aqui depois.

Vlw mesmo :wink:

A

And_guimaraes:
lincolnti:
Esse parâmetro logica realmente na apostila é um input. Por exemplo:

<input type="hidden" name="logica" value="AdicionaContato" />

Se não me engano na apostila está assim mesmo.

lincolnti muito obrigado por responder.

Eu nao ve esse trecho de codigo na apostila , ou estou MUITO CEGO ou a apostila que tenho está desatualizada.

Vou testar esse metodo e posto o resultado aqui depois.

Vlw mesmo ;)

Funcionou direitinho lincolnti , muito obrigado pela dica.
duvida resolvida :slight_smile:

Criado 25 de julho de 2012
Ultima resposta 25 de jul. de 2012
Respostas 5
Participantes 3