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?
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.