Duvida sobre Servlet

Estou iniciando em java para web, naturalmente estou cheio de duvidas e uma delas
é em relação a servlets gostaria de saber se ele substitui um servidor iis ou apache?

A principio eu entendi q o servlets era um tecnologia parecida com Ajax da microsoft,
mais lendo alguns materias na internet acabei me confundindo mais! Lendo um material
na jspbrasil.com.br entendi que o Sevlet nada mais é que uma classe java que trata
requisições http. Então gostaria de saber se estou certo nessa conclusão e se realmente
eu implementando um servlet eu necessito de servidor iis ou apache?

Obrigado!

Att,
Wanderson Carvalho.

[quote=wanderson.si]Estou iniciando em java para web, naturalmente estou cheio de duvidas e uma delas
é em relação a servlets gostaria de saber se ele substitui um servidor iis ou apache?[/quote]
Não

[quote=wanderson.si]Lendo um material
na jspbrasil.com.br entendi que o Sevlet nada mais é que uma classe java que trata
requisições http[/quote]

Veja o trecho retirado do tutorial sobre servlets aqui do GUJ.
O que são Servlets? O que é Tomcat?
Servlets são modulos que ampliam a funcionalidade de servidores baseados em requisições/respostas. Web servers são o exemplo típico, para o qual são usado um tipo especializado de Servlets, os HttpServlets. Uma Servlet, por exemplo, pode receber dados em um form HTML por meio de uma requisição HTTP, processar os dados, atualizar a base de dados de uma empresa, e gerar alguma resposta dinamicamente para o cliente que fez a requisição. Ok, mas e o que que o Tomcat tem a ver com tudo isso? O Tomcat é um Servlet Container, ou seja, é um servidor onde são instaladas Servlets para tratar as requisições que o servidor receber. Existem muitos Containers, mas o Tomcat foi escolhido por ser gratuito e bastante popular. Podemos observar que Servlets são bastante semelhantes com CGI. Por que então usar Servlets? Porque servlets possuem as seguintes vantagens sobre CGI:
Servlets não rodam em um processo separado.
Servlets são mantidas na memória entre uma requisição e outra.
Há apenas uma instancia carregada de cada Servlet no container que serve todas as requisições para ela concorrentemente.

Respondendo de maneira simples e facil sem confusão.

Estou iniciando em java para web, naturalmente estou cheio de duvidas e uma delas
é em relação a servlets gostaria de saber se ele substitui um servidor iis ou apache?

R: de forma alguma primeiro por se tratar de paginas Web o java deve ser acessado dentro de um servidor Java “Jboss, Apache Tomcat et all” apos a instalação do Tomcat existem varios exemplos de Servlets e JSP para aprofundar seus conhecimentos

2- Servlet alem de ser uma classe Java de controle de requisições HTTP com seus Gets e Puts conforme voce falou.

Respondendo de maneira simples e facil sem confusão.

Estou iniciando em java para web, naturalmente estou cheio de duvidas e uma delas
é em relação a servlets gostaria de saber se ele substitui um servidor iis ou apache?

R: de forma alguma primeiro por se tratar de paginas Web o java deve ser acessado dentro de um servidor Java “Jboss, Apache Tomcat et all” apos a instalação do Tomcat existem varios exemplos de Servlets e JSP para aprofundar seus conhecimentos

Veja se entendi. O servlet é o cara que recebe aqueles dados vindo de um form.
Por exemplo uma pagina dinâmica onde vc envia dos dados para o servidor via
get ou post e processa e retorna para cliente. Se for isso eu posso falar que o
Servlet é um concorrente do Ajax?

Obrigado!

Att,
Wanderson Carvalho

De jeito nenhum!

Servlets processam requisições recebidas pelo container, e geram respostas para serem enviadas de volta pelo container. Ponto.
Você usa Ajax para se comunicar assincronamente com algum componente web - pode ser uma página ASP, PHP, um servlet…

hehe então quem recebe as requisições http? Seria o tomcat?
Ai o tomcat repassa essa requisão para o servlet trata?

Alguem tem um bom material de tomcat e servlet?

Obrigado pela força e desculpa pela ignorância.

Att,
Wanderson Carvalho.

Dá uma olhada na imagem abaixo:

Agora suponha que você está acessando um aplicativo web escrito em Java.
Seu computador representa o Web Client da figura. Todo o retângulo verde é o servidor web.

Todas as requisições que você envia - seja um clique em um link, dados de um formulário ou solicitação de download de arquivo - são processadas pelo servidor web. Quando o tratamento da requisição requer algum processamento, o servidor repassa a requisição pro servlet container, que é um subcomponente do servidor web responsável por executar os servlets.

O servlet container então criará um objeto que implementa a interface HttpServletRequest, criará um outro objeto que representa a resposta à requisição e implementa HttpServletResponse, decidirá qual o servlet a ser executado através da URL da requisição e chamará seu método service() passando os dois objetos criados. Quando o servlet terminar sua tarefa, o servlet container repassa a resposta para o servidor web, que por sua vez a enviará de volta para o cliente.

Então, respondendo suas perguntas:

Quem recebe as requisições HTTP é um servidor web.

Quem gerencia o ambiente de servlets é o servlet container. O Tomcat é um servlet container. Portanto, o que você falou não deixa de estar correto.