Uma Servlet x Uma duzia de Servlets  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
Guilherme Silveira
Administrador

Membro desde: 14/08/2002 10:09:26
Mensagens: 1096
Localização: Sao Paulo
Offline

Opa, eu tava pensando sobre a influencia de manter uma unica (ou poucas) servlets mestres que dividem seu trabalho e o impacto de manter diferentes servlets cada uma com sua funcao diferente tanto na memoria quanto na velocidade.

Sei que este eh um tema que ja foi discutido em varios lugares mas nunca ouvi ninguem falar algo que grande forca que indique que eh melhor usar um em tal caso e outro em outro...

Guilherme

-------------------------------------------------------
Guilherme Silveirahttp://blog.caelum.com.br
[Email] [WWW] [MSN]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Oi Guilherme

Hoje em dia, todo mundo é a favor de usar uma única servlet. Quando você utiliza uma Servlet, o seu código dentro do método do"Service" fica MUITO procedural, parece script!

Então muita gente usa alguma ferramenta MVC, tipo o STRUTS do apache...

http://jakarta.apache.org/struts

Eu também evito ao máximo ter mais da uma Servlet.

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
marcos
What is classpath?

Membro desde: 06/09/2002 11:37:41
Mensagens: 5
Offline

Olá Pessoal

Estou começando com Servlets e JSP agora e gostaria de estar por dentro deste assunto "Uma Servlet x Uma duzia de Servlets", alguém poderia me dar um exemplo utilizando várias Servlets para fazer uma determinada tarefa e o mesmo utilizando uma servlet apenas?

[]'s

Marcos

Marcos Java
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Oi Marcos

Seria meio complicado eu te colocar uma aplciacao inteira aqui.

Entao vou fazer a minha propaganda, dizendo porque usar uma unica servlet:

Servlets, para muitos, é o ponto mais forte do J2EE, mais que EJB, devido a sua simplicidade e utilidade. Porem, quando voce faz uma servlet, voce ja deve ter percebido que o codigo da servlet perde bastante no quesito de orientacao a objetos. A coisa fica realmente com uma cara de programa procedural, ou pior, como se fosse um script! Utilizando apenas uma servlet (ou poucas), voce pode fazer com que essa servlet principal seja apenas uma controladora (o C do MVC), e que esta dispare chamadas para outras classes e objetos, afim de manter uma orientacao a objeto e perder essa caracterisitca tao procedural de uma servlet!

Se voce quer dar uma olhada mesmo no codigo de uma aplciacao que usa uma soh servlet, da uma olhada no codigo fonte do GUJ. Ele usa uma ferramenta que chama MAMUTE, que nos fizemso, que eh uma unica servlet e dispara chamadas para outras classes de acordo com a URL dada.

Qualquer cosia, grita!

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
marcos
What is classpath?

Membro desde: 06/09/2002 11:37:41
Mensagens: 5
Offline

Valeu pela resposta, deixa ver se entendi o que você quis dizer.

Imagine que tenho um vários JSP´s que serviram para mostrar o conteudo de tabelas etc...
Como JSP será a camada de Apresentacao - > M , seria interessante eu a chamar a partir de um controlador -> C no caso um servlet.

Tipos

http://localhost:8080/servlet/mostraRelatorio?url=relatorioProdutos.jsp
http://localhost:8080/servlet/mostraRelatorio?url=relatorioClientes.jsp
http://localhost:8080/servlet/mostraRelatorio?url=relatorioFornecedores.jsp

Lógico que isto tudo poderia ser otimizado, mas basicamente seria isto mesmo?

[]´s

Marcos Java
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Sim! Essa é a idéia. Não recomendaria jsp, mas você entendeu o conceito!

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
marcos
What is classpath?

Membro desde: 06/09/2002 11:37:41
Mensagens: 5
Offline

Valeu pelas respostas,

Muito obrigado.

Marcos Java
Leonardo
JavaChild
[Avatar]

Membro desde: 07/09/2002 15:24:52
Mensagens: 119
Localização: São Paulo/SP
Offline

Pessoal nâo querendo abusar, mas... o que vocês acham de um tutorial ou artigo sobre o MVC ?
[Email] [WWW] [MSN] [ICQ]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Leonardo wrote:Pessoal nâo querendo abusar, mas... o que vocês acham de um tutorial ou artigo sobre o MVC ?


pode ter certeza

isso e Velocity

ja esta em andamento....

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Adler Medrado
JavaTeenager
[Avatar]

Membro desde: 14/09/2002 09:34:36
Mensagens: 173
Localização: Brasília / DF / Brasil
Offline


Paulo Silveira Colocada: 10/09/2002, 11:29 pm Assunto:

--------------------------------------------------------------------------------

Sim! Essa é a idéia. Não recomendaria jsp, mas você entendeu o conceito!


Porque nao se recomenda o JSP?
[WWW] [Yahoo!] [MSN] [ICQ]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

porque no JSP voce pode fazer, por exemplo, uma conexao ao banco de dados, e ao mesmo tempo colcoar HTML.

em java, e aplciacoes portaveis, voce deve manter uma GRANDE e TOTAL distancia entre os modulos de visualizacao, controle e dados. MVC (model view controller)

Senao, quando um designer abre o seu jsp, ele ve umas coisas MALUCAS, e fica IRADO! Ou ao contrario, o programador que nao sabe NADA de html, abre um java que ta CHEIO de SQL e HTML.

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Leonardo
JavaChild
[Avatar]

Membro desde: 07/09/2002 15:24:52
Mensagens: 119
Localização: São Paulo/SP
Offline

por M podemos entender sempre um banco de dados ?

por V podemos entender JSP, XML, XSLT, HTML, etc... ?

o C podemos entender Servlets e JavaBeans ?
[Email] [WWW] [MSN] [ICQ]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

matou a charada!

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline

Essa URL ajuda tmb:

http://jakarta.apache.org/velocity/casestudy1.html

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
apalmeira
Java Ninja

Membro desde: 01/11/2006 00:48:21
Mensagens: 250
Offline

Olá, Pessoal!

Estou com uma dúvida na resposta do colega Leonardo. O 'M' é uma classe que interagem com o banco de dados ou é o próprio banco de dados?

Ex: Uma tela de cadastro.
1) View -> Formulário onde o usuário insere os dados para o cadastro.
2) Controler -> Um Servlet que valida as informações fornecidas pelo usuário.
3) Model -> Uma classe que interage com o banco de dados?

O raciocínio está correto?

Desde já agradeço!
Abraço a todos!
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team