JSP x templates

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

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

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.

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:

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

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:

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 ?

o que eh JESI?

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

http://www.edge-delivery.org

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

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

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

jakarta.apache.com/velocity

clica em doc, user guide

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

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

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.

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?

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

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

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

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: