SóProvas


ID
895192
Banca
CESPE / CEBRASPE
Órgão
CNJ
Ano
2013
Provas
Disciplina
Programação
Assuntos

No que se refere às tecnologias de desenvolvimento web em Java,
julgue os itens a seguir.

Apesar de serem independentes de plataforma, os servlets, para funcionarem, precisam utilizar o protocolo HTTP.

Alternativas
Comentários
  • Os servlets normalmente utilizam o protocolo HTTP (Hypertext Transfer Protocol), apesar de não serem restritos a ele. (Brian Basham, Kathy Sierra e Bert Bates, 2005)
  • Pra mim também está errado a independência de plataforma, pra mim elas são uma API especifica da plataforma Java
    E realmente, nao precisa ser HTTP, vc pode receber um SevletRequest e um ServletResponse
  • "Se seus servlets precisarem implementar outros protocolos além do HTTP poderão estender a GenericServlet"
    Deitel - Java - Como Programar - 6a Edicao
  • Prezados

    Uma Servlet não precisa utilizar o protocolo HTTP, pois ela pode ser uma Servlet genérica (javax.servlet.GenericServlet ) . Não necessariamente toda Servlet é uma HttpServlet. A questão está errada.
    O conceito de Servlet de acordo com a API é :
    “Servlet: Define os métodos que todas as servlets devem implementar. Uma servlet é um pequeno programa Java que roda dentro de um WebServer. Servlets recebem e respondem requisições de clientes web, usualmente por HTTP. Para implementar uma servlet você pode escrever uma servlet genérica que herde javax.servet.GenericServlet ou uma Servlet HTTP que herde javax.servet.http.HttpServlet.”
     
    De acordo com a JSR-000154 que especifica os Servlets, temos o seguinte conceito para Servlets na página 19 :
    Servlet: Uma servlet é um component web da tecnologia java, gerenciado por um container, que gera conteúdo dinâmico. Como outras tecnologias java, servlets são classes independente de platadormas que são compiladas para bytecode e podem ser carregadas dinamicamente e rodar sobre um container web. Servlets interagem com os clientes web via o paradigma requisição/resposta implementado pelo container servlet.
    “A servlet is a JavaTM technology-based Web component, managed by a container, that generates dynamic content. Like other Java technology-based components, servlets are platform-independent Java classes that are compiled to platform-neutral byte code that can be loaded dynamically into and run by a Java technology-enabled Web server. Containers, sometimes called servlet engines, are Web server extensions that provide servlet functionality. Servlets interact with Web clients via a request/response paradigm implemented by the servlet container.”
     
    Também de acordo com a JSR, na página 168, para implementar a interface Servlet podemos escrever uma servlet genérica que herde javax.servlet.GenericServlet ou uma HTTP servlet que herde javax.servlet.http.HttpServlet
     
    Fonte : JSR-000154 JavaTM Servlet 2.4 Specification
  • Duro é ler que algo que depende do JAVA é independente de plataforma... O pior é que está escrito isso em alguns lugares. Pra mim, depende do Java e não depende do HTTP.

  • No meu entendimento, a banca quis dizer independência relativa ao sistema operacional.

     

    "Servlet technology, in addition to improved scalability, offers the well-known Java advantages of security, robustness, object orientation, and platform independence."

     

    "Because servlets are written in the Java programming language, they are supported on any platform that has a Java virtual machine (JVM) and a Web server that supports servlets. Servlets can be used on different platforms without recompiling."

     

    https://docs.oracle.com/cd/B14099_19/web.1012/b14017/overview.htm

     

    Eu fiquei intrigado por que a banca se interessa pelo uso de servlets com protocolos além de HTTP.

     

    http://stackoverflow.com/questions/19254670/when-to-use-genericservlet-over-httpservlet

  • Java Como Programar 6ed - H. M. Deitel, pág 932
    "Se seus servlets precisarem implementar outros protocolos além do HTTP poderão estender a GenericServlet"

    Além desse texto do livro do Deitael que não ficou claro, o livro Caelum - Java para Desenvolvimento Web, pág 43
    “A interface Servlet é a que define exatamente como uma servlet funciona, [..], uma vez que ela possibilita o uso de qualquer protocolo baseado em requisições e respostas, e não especificamente o HTTP.”