JSP x templates

32 respostas
Rafael_Steil

Quando eu nao sabia o que era Velocity e tambem quando eu nao havia lido uns comentarios sobre como o GUJ foi feito, pensava que as aplicacoes web com Java usavam jsp para fazer a apresentacao e o codigo grosso ficava nos .class, e aquele papo todo. Na minha mente poluida achava que Servlet era pra maluco que gostava de fazer a manipulacao pesada das requisicoes.

Ok, admito que tinha uma visao BEM limitada do poder da tecnologia e do seu uso, mas falta de experiencia resulta nisso. Entao com um minimo de esforco aprendi o que realmente era o Velocity e todo o esquema de templates. Tambem vi que muitos odeiam JSP, e que Servlet nao eh tao sem-utilidade quanto eu pensava.

Ta, mas aqui fica uma duvida ( na verdade sao varias, mas vou dizer que eh apenas uma para nao assustar ): PORQUE eh melhor usar o esquema de templates do Velocity ( ou de qualquer outro template-engine ) e nao usar JSP? veja bem, sei que muitos vao dizer “pq voce separa o codigo java do html etc etc” ou algo assim… mas com jsp posso usar as tablibs para fazer foreachs’s & cia. Velocidade de processamento: ha uma diferenca consideravel? manutencao? gostaria de saber isso, de ter uma ideia melhor desse esquema todo. Ai sim, depois disso, vou poder ler a documentacao com um foco mais direcionado

Valeu
Rafael

32 Respostas

Gilmar_Rodrigues

Bom. Acho meio difícil falar pq é melhor, sendo que nunca usei jsp, mas o Velocity não apenas separa o código java do html. Ele tem um tipo de mini linguagem que permite vc fazer um foreach ou if/else e coisas do gênero, então não será esse o motivo de deixar de usar Velocity. Quanto à velocidade, realmente não posso dizer com precisão, mas arrisco a dizer que se o Velocity fica atrás, não fica muito. :wink:

[]'s

Paulo_Silveira

Oi.

Entao. Quanto a velocidade de processamento, o Velocity perde se voce nao ativar o modo de Cache, porque toda hora ele teria de parsear os templates. Mas eh soh mudar um arquivo properties que ai a coisa fica rapidona. Nao sei quem ganha em velocidade, e para projetos medio porte, isso realmente nao faz a menor diferenca, certo? Ja que ambos sao suficientemente rapidos.

O conceito que tem de ser discutido eh a manutencao. Ambos tem facil manutencao, mas pense o seguinte: se um designer abrir o seu .jsp e abrir um template do Velocity ou Webmacroi, qual ele vai entender muito mais facilmente? O Velocity ganha em legibilidade de LONGE, sem conta que o modelo MVC que ele tras eh o push: isto eh, o servidor empurra o que ele quer mostrar pro template. Um jsp pode fazer uma conexao com um bancod e dados e colocar o que ele quiser na tela. Um template nao. Um template soh pode colocar na tela aquilo que o servlet (ou controller) deu acesso para ele.

Rafael_Steil

Bom, entao um ponto a favor dos templates eh que o cara nao precisa saber jsp, apenas aprender a usar o esquema de tags do template, que com certeza eh muito mais simples. Certo?

Uma ultima coisa ( nao, nao li toda a documentacao ainda ): o esquema de cache funciona como os jsp, ou seja, se o servlet-engine ( ou algo assim ) notar uma alteracao no arquivo, ele vai re-processar, ou tem que explicitamente dizer pra procurar por altracoes?

Rafael
ps: to comecando a gostar disso tudo! :wink:

Paulo_Silveira

os templates voce entendeu direitinho. o designer nao precisa saber jsp, muito menos java!

obre jsp, conheco muito pouco. mas eh esse o esquema do jsp sim. acho que alguns servidores voce pode desabilitar isso, aumentando desempenho, ja que ele nao vai ficar checando se algum arquivo mudou

aconstantino

Olá todos :slight_smile:

Muitas vezes precisamos de soluções rápidas. Apesar de java não adotar o conceito de velocidade no desenvolvimento e sim aplicações bem estruturadas,seguras, portáveis e etc…

Devemos analisar o que é melhor para o tipo de aplicação que estamos desenvolvendo.

Acho que este é o unico espaço que java deu ao .NET (asp.NET) e por isso ele tem um pouco de destaque além do marketing assassino da microsoft :slight_smile:

Leonardo

alguém sabe me dizer como a iniciativa de JESI entra nesta história ? Pelo que entendi é basicamente a mesma coisa, ou não ? o JESI funciona como se fosse um template ?

outro ponto, o velocity implica em maior demanda de processamento ?

Paulo_Silveira

o que eh JESI?

Leonardo

JESI = JSP to ESI (Edge Side Includes) :frowning:

http://www.edge-delivery.org

pelo que vi não é um padrão aberto.

Rafael_Steil

bom, ja home ta assim:

Se o resto nao for, pelo menos a especificacao eh! :slight_smile:

Mas tava vendo la, isso ta bem mais pra taglibs-like sintax do que pra Velocity like.

Rafael

Ze1

Onde encontro a documentação + samples desse Velocity?

Paulo_Silveira

jakarta.apache.com/velocity

clica em doc, user guide

Adler_Medrado

DEUS SEJA LOUVADO!

Estava lendo esse tópico e me interessei.

Eu quando desenvolvo páginas dinâmicas, eu uso JSP, Javabeans, as vezes taglibs…
Eu queria saber mais informações sobre esse Velocity:

1- É compatível com Tomcat?
2- É complicado de instalar? p.ex: Meu site eh hospedado por um desses hospedeiros, eu tenho que pedir para o pessoal da empresa q hospeda meu site para fazerem algo ou eh eu mesmo que instalo pela web ?
3- Eu posso utilizar o velocity em um projeto em conjunto com paginas jsp e javabeans? ou ele só funciona sozinho?

E acesso a BD com o Velocity? como é feito? JDBC normal ou tem complicações?

É isso…
[]s

Rafael_Steil

Adler, seguinte:

É compativel com o Tomcat sim, afinal Velocity eh feito em Java! Voce pega apenas o pacote, nao tem instalcao, basta apenas incluir em sua aplicacao, como qualquer outro pacote.

O Velocity eh um template-engine, isso significa que vc adiciona certos padroes em um arquivo e entao ele vai la e realiza as acoes conforme o comando encontrado.

Ele nao eh usado para acesso a banco de dados essas coisas, eh apenas usado para fazer a apresentacao, o html, para o navegador.

Rafael

Adler_Medrado

DEUS SEJA LOUVADO!

Ah tah! Agora que entendi do que realmente se trata então.
Gostei cara. Vou copiar e testar pra ver realmente essa ferramenta At Work.

L

Olá pessoal, estou com a seguinte dúvida:

  • A partir do momento em que começo a trabalhar com Velocity, hibernate e outros, deixando para trás o JSP, eu deixo de usar Javabean também?
Rafael_Steil

Bom, depende qual o teu conceito de JavaBean…

Qual parte do jsp mais especificamente vc se refere? os <jsp:useBean> ?
Se for, o que muda eh a maneira que voce itera pelos objetos, mas mesmo assim, eh pouca diferenca.

Rafael

urubatan

da para ver que tu ta com duvida mesmo,

Velocity é um template engine,
o hibernate é uma engine de persistencia (nada a ver com o anterior e menos ainda com JSP)

você pode utilizar tanto velocity como JSP para o seu View e utilizar o Hibernate, JDO, CMP ou castor para persistencia (estes persistem Beans, com exceção de CMP que precisa de um EJB :slight_smile: )
e utilizar Beans na sua camada de negocio

urubatan

PS.: acho que este negocio de ficar sem cigarro ta deixando meu humor meio alterado :twisted:

L

urubatan, desculpa, acho que me expressei mal, sei a função de cada um, minha maior dúvida era se começasse a utilizar esses recursos, eu poderia deixar de lado o JSP e qual era a influência disto tudo sobre os Javabeans.

Mas valeu pela dica assim mesmo. :wink:

urubatan

como disse no outro post, desculpa o modo como me espressei, acho que a falta de nicotina ta me afetando hoje :slight_smile:

seguinte, eu realmente tinha entendido errado o que tu quiz dizer :slight_smile:

o unico efeito de utilizar um velocity, por exemplo,
é não poder chamar metodos de beans (com exceção de GET e SET) de dentro do template,
mas de dentro do teu servlet, vai poder chamar normalmente :slight_smile:

os Beans são um ótimo lugar para encapsular a logica de negócio :slight_smile:

L

Se comparar: SERVLET x BEAN
Qual é melhor de se utilizar? Já que a utilização de Bean é boa como falastes.

Vou começar um projeto para poder ficar mais a vontade no mundo JAVA. Por isso dessas dúvidas.

Valeu.

OBS: Cigarro mata!!! 8)

caiofilipini

“Lucashgt”:
Se comparar: SERVLET x BEAN
Qual é melhor de se utilizar?

Os dois!!! Servlets e JavaBeans são complementares. :wink:

L

Neste caso, se eu utilizar o Velocity, não poderia utilizar os metodos GET e SET do JavaBean, foi o que eu entendi até agora. Faria essas chamadas através do SERVLET então? :?:

caiofilipini

“urubatan”:
o unico efeito de utilizar um velocity, por exemplo,
é não poder chamar metodos de beans (com exceção de GET e SET) de dentro do template,
mas de dentro do teu servlet, vai poder chamar normalmente :-)

Acho que vc entendeu ao contrário… Não manjo muito de Velocity, mas pelo que o urubatan falou, gets e sets podem ser chamados de dentro do template… :roll:

L

Realmente, mil desculpas. :slight_smile:

Mas de qualquer forma, posso realizar a chamada de métodos de meus Beans através de um Servlet, não?

caiofilipini

:lol:

L

:oops: Agora, já são Duas mil desculpas… :slight_smile:

Depois de sanadas estas dúvidas, só me resta meter a mão na massa e quebrar as barreiras direto no desenvolvimento.

Valeu galera.

E Caio, desculpa pelo transtorno.

Obrigadão pela ajuda.

caiofilipini

“Lucashgt”:
:oops: Agora, já são Duas mil desculpas… :slight_smile:

Depois de sanadas estas dúvidas, só me resta meter a mão na massa e quebrar as barreiras direto no desenvolvimento.

Valeu galera.

E Caio, desculpa pelo transtorno.

Obrigadão pela ajuda.

Opa, que isso! Tamos ae! E fórum é pra essas coisas mesmo… :wink:

[]'s

L

E aí pessoal sou eu de novo, seguinte:

  • Já baixei o Velocity, Webwork e o Hibernate, o que mais eu devo coneguir para poder comerçar a implementar?

OBS: Já dei uma estudada legal em algumas coisas.

urubatan

Eclipse + Lomboz e JBossIDE para desenvolver
e Tomcat par testar :slight_smile:

L

Ok, Urubatan, já tenho tudo isso instalado.

[list]
Já baixei o Velocity, Webwork e o Hibernate, o que mais eu devo coneguir para poder comerçar a implementar?
[/list]

Com os três que eu listei não falta mais nada então?

M

http://velocity.apache.org/engine/releases/velocity-1.5/vtl-reference-guide.html

Criado 12 de setembro de 2002
Ultima resposta 12 de jun. de 2008
Respostas 32
Participantes 11