Dúvidas com Servlet

Olá, Sou iniciante em java e tenho algumas dúvidas sobre servlet.
Estou estudando programação para web com java e não consigo entender qual a função de um servlet
1º Quando eu tenho que utiliza-los?
2º Em aplicações que usan frameworks como struts e hibernate eu preciso utiliza-lo?

Desde já agradeço.

Então, se você está estudando web com java, estou partindo do principio que você sabe programar em java.

A primeira coisa que indicaria p/ vc aprender, seria servlet e jsp, mas não se aprofunde muito nisso pois você so vai utilizar servlet profissionalmente em projetos muito antigos (ou em algum caso isolado)

Primeiro tente fazer um hello world usando apenas Servlet, depois adicione um JSP. Quando estiver mais familiarizado, tente entender o conceito de MVC.

Mas, respondendo a sua pergunta, um Servlet é uma classe que recebe requisições (Request) de um browser via http, processa e responde ao browser (Response).
1º Já respondido, você dificilmente ira utilizar servlet.
2° Usando o Struts você não precisará utilizar, hibernate é para acesso a dados, não tem nada a ver com servlets.

Obrigado Hover

Agradeço por esclarecer minha dúvidas.