Isso existe ou é uma lenda do Java?

Alguém já viu um servlet que implementa outro protocolo que não o HTTP? Links?

Ao meu ver, se a classe extender outra coisa que nao HttpServlet, ela deixa de ser Servlet.

Abraço

Fernando

O FacesServlet já o satisfaz?

Até!

Isso não é padrão, mas pode ser que seu web container até tenha uma implementação de um “non-http servlet”. Veja a documentação de seu web container.

[quote=fspanont]Ao meu ver, se a classe extender outra coisa que nao HttpServlet, ela deixa de ser Servlet.

Abraço

Fernando[/quote]
Nops…
A API não diz nada sobre o protocolo que será utilizado para troca de informações…
Embora 99,9999% das aplicações utilize Http.

Existe o SipServlet, mas no geral a idéia de Servlets usarem outra coisa que não HTTP foi mais uma das idéias idiotas da Sun que não deu certo.

Tem aquela regra idiota (!) de que as classes/frameworks/bibliotecas devem ser abertas para extensão.
Por isso Servlet é um negocio genérico. A Sun deu-se ao trabalho de implementar o HTTPServlet mas qq um é livre de implementar outros. Realmente os caras da sun seguem uma regras muito idiotas (!)

Eu vi uma vez um de FTP mas era proprietário e tinha que pagar para usar, por isso não sei quão bom era ou sequer se funcionava.

Não é lenda.

A especificação de Servlet não restringe ao uso do protocolo http. Na verdade, Servlet é uma interface java… a Sun já disponibilizou 3 implementações (deduzi isso do javadoc), FacesServlet, GenericServlet e HttpServlet.

Como já disseram, 99,99999% das apps usam o protocolo http, herdando de HttpServlet. Mas nada impede de alguém (container) escrever uma classe que implementa a interface Servlet.

Segue o javadoc da interface:
http://java.sun.com/javaee/5/docs/api/javax/servlet/Servlet.html