Desenvolvimento Servlet

Fala Pessoal,
Eu queria saber algumas coisas…
Bem eu acabei de ler a parte de Servlet de um livro e tal, onde nele o autor desenvolve aplicações inteiras usando somente servlet, mais QUAL O REAL PROPOSITO DE SERVLET???

1 - Pode se criar só pages html onde acessam as servlets e eles fazem tudo desde acesso a base de dados a validação de dados do form e montagem das paginas seguintes??

2 - APLICACAO(JSP+SERVLET) - A JSP chama a servlet e ela valida tudo e chama a base de dados faz as querys e updates??

3 - APLICACAO(JSP+SERVLET+EJB) - Nesse caso as PAGES JSP chamam a servlet passando o Parametro XY e a servlet só entende esse parametro e direciona para uma outra servlet e ai chama UM EJB que faz as validações e acesso a base??

Desenvolver as servelts não foi nada complicado o complicado é entender para que elas realmente servem…

[]'s a todos…

Alan

Servlets são a parte essencial do pattern MVC, onde o Servlet geralmente faz o papel de Controller, ou seja, o Servlet gerencia as Views (JSPs, HTMLs, etc) e o Model (EJBs, JDOs, etc).

Como vc falou, programar a servlet nao eh nada complicado… agora em aplicacoes maiores nao se costuma usar puramente “servlet” por q fica inviavel (impossivel de reusar o codigo, classes longas etc)

O resultado foram por exemplos os padroes do MVC, que sao chamados de PATTERNS… modos de usar diferentes tecnologias e separar o servico.

O pessoal daqui nao costuma falar bem do ejb, e vou dar mais uma dica pessoal e das tecnologias q costumo usar na minha empresa… o pessoal pode dizer o q eles usam e como

A mistura que faco eh do MVC 2 (com uma servlet que recebe TODAS as requests: pattern FrontController) com outros sistemas… essa UNICA servlet recebe tudo e dependendo da URL que foi acessada ela sabe o que ela deve fazer:

  1. ela ve se deve executar alguma acao, (Pattern ServiceLocator e Services), por exemplo adicionar algo no banco de dados
  2. ela joga o servico pra um componente (ViewHelper) que escolhe qual a pagina a ser mostrada (por exemplo ERRO ou Bem vindo!)
  3. esse view helper usa outros patterns (exemplo: ValueObject) para ler dados do banco de dados necessarios para a pagina e mostra-las

isto eh, no meu sistema existem no minimo tres grandes partes… sem contar que a parte do banco de dados usa o pattern DAO pra acessar os dados de maneira limpa pra servlet, sem ela saber qual o tipo de banco de dados usado…

tudo isso gera um codigo onde vc pode mudar: o banco de dados, o design ou qq coisa sem alterar muito codigo

Guilherme

Na realidade uma JSP nada mais é que uma servlet. Quando você escreve sua JSP, ao ser chamada pela primeira vez, o Tomcat ou outro servidor transforma o arquivo meuarquivo.jsp numa servlet meuarquivo.java que em seguida gera o arquivo meuarquivo.class. Isso acontece na primeira vez que a página JSP é chamada e as outras são muito mais rápidas porque só é preciso carregar o .class
JSP é ilusão, pois na verdade ela será transformada em um servlet. Essa prática não é boa, o correto é estudar MVC e separar as camadas como descrito nas outras respostas. :slight_smile:

Da um olhada neste documento:

http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Overview.html

Bom estudo.

vale lembrar que ja existem pre compiladores de jsp! :slight_smile: e ai vc tem uma servlet antes mesmo de dar deploy

Então é mais ou menos assim…
Tenho uma pagina aonde o usario entra com nome e sobrenome e da o SUBMIT, após o submit o action do form chama uma servlet, essa servlet verifica é a pagina de cadastro!!!É então chama um método ou um EJB para adicionar os dados, ai o EJB ou o método da servlet referente a inclusão retorna uma variavel de inclusão OK, ai ira haver uma pagina JSP para pegar esse OK e chamar uma pagina de inclusão com sucesso…
è mais ou menos isso né??

bem com as respostas acima consegui enteder para que funciona a servlet… Mas só quero ver se estou correto…
[]'s e valeu muito pessoal…

Alan

O caso eh o seguinte:

JSP eh usada mais para VIEW
SERVLET eh usada mais para CONTROLLER?

eh isso???

Abraços