Os programas a seguir, que constituem uma integração entre a...

Próximas questões
Com base no mesmo assunto
Q80564 Programação
Em relação à tecnologia JavaServer Pages (JSP), julgue os itens a seguir.

Os programas a seguir, que constituem uma integração entre as tecnologias JSP e Servlet, implementam uma solução válida para mostrar o valor obtido, por uma empresa, com o lucro ou prejuízo na venda de um produto.

Imagem 010.jpg
Alternativas

Comentários

Veja os comentários dos nossos alunos

aonde tem jsp nesse código??
Marquei errado porque só vi um formulário HTML e um servlet.
Não existe JSP no código!

Questão realmente estranha.
Não há tags JSP para seu conhecimento imediato, mas um aparente html que aparentemente invoca um servlet. Porém, uma página JSP também pode ser escrita dessa forma. JSP são compilados em servlets pelo compilador JSP, que gera o servlet em código java, o qual pode ser gerado diretamente em bytecode ou ser novamente compilado por um compilador próprio. O essencial é ter em mente que o compilador JSP transforma a página em um Servlet.
Um exemplo da wikipedia dessa transformação: http://en.wikipedia.org/wiki/JavaServer_Pages

 
Na verdade minha dúvida seria outra. Normalmente se utiliza o doget() ou dopost() e não service(), porém se pode utilizar o service(). O metodo service original seria assim: 

public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {...} e não da forma que está, já implementando o HttpServletRequest. Mas como o ServletRequest é generalização do HttpServletRequest, então está ok.

Só um detalhe:
Assim, para cada requisição recebida de um cliente, o ServletContainer efetua uma chamada a esse método service(...) do Servlet; os parametros desse metodo são referencias para um objeto que encapsula a requisição recebida e para um objeto que encapsula a resposta que deverá ser encaminhada para o cliente.
Por outro lado, como você normalmente estará desenvolvendo Servlets HTTP,dificilmente você terá que implementar esse método; em vez disso, para classes que extendam a classe HttpServlet, você deverá implementar um ou mais dos seguintes métodos:doGet(), doPost(), etc.
Quando uma requisição HTTP é recebida por uma classe que estende HttpServlet, seu método service(...) é chamado, sendo que a implementação default desse método irá chamar a função doXXX() correspondente ao método da requisição recebida

Ref: http://www.inf.ufsc.br/~bosco/downloads/livro-jsp-servlets-j2ee.pdf
A questão está correta.

Não aparece JSP aqui porque o Servet já é o produto final do JSP. Ou seja, o JSP foi uma solução criada para separar a apresentação do modelo de negócios, mas no final tudo se tranforma em um Servlet que é invocado pelo contêiner (ex.: Tomcat, Glassfish, etc.).

O método service() é genérico e trata qualquer tipo de solicitação: seja GET ou POST. Porém quando se pretende especificar o tratamento de uma requisição, pode-se implementar o método doGet() ou doPost(), que implicitamente são chamados pelo método service(), mesmo quanto esse último não é definido pelo programador.

Bons estudos

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo