Pergunta

Eu vi alguns projetos JSF desenvolvidos pelos meus colegas e esses projetos me pareciam muito lento. Alguém tem a mesma opinião?

Atualmente estou usando JSP + JSTL e jQuery para o cliente "rico".

Gostaria de saber quais as vantagens e desvantagens têm estruturas modernas (jsf, wicket, tapeçaria ..) mais velha jsp simples.

Seria ótimo se as pessoas que usaram todas estas tecnologias haviam respondido.

Também é interessante para mim que recursos mais interessantes fez você deixar jsp e usá-quadro "enorme" (quero dizer, por exemplo AOP na Primavera ou qualquer outra coisa que você pode notar).

Obrigado por todos os comentários.

Foi útil?

Solução

CGI

eu usei, PHP, JSP, suportes, Spring MVC (1.2), oficina Bea, JSF, JBoss costura, Spring MVC (2,5) e Wicket (nessa ordem). Tenho notado um salto na produtividade e qualidade para cada nova tecnologia que eu tenha trabalhado. Ele simplesmente funciona melhor, ele sente melhor. Eu prefiro Wicket (com um toque de primavera, quartzo, etc.) sobre todos os outros. Eu posso honestamente dizer que eu vi a luz, e eu não quero voltar para um mais escuro - ou mais leve;.) - lado

Há muito a dizer sobre Wicket.

  • Suporte de conversação (ou guia de habilitação) vem por padrão, você não se preocupe com "abrir em uma nova guia" e "voltar" problemas botão novamente.
  • É componente baseado, assim você pode reutilizar código ala swing.
  • Aproveita um monte de Java padrão, como as maravilhas tipo de segurança.
  • Características Suporta segurança avançada, como criptografia url.
  • aplicações Clusterizable por padrão.
  • E, mais importante, é fun de usar.

Há muito a melhorar para JSP e JSF.

  • A única coisa que me incomoda mais é o nonsense "EL", pois acredito que ele quebra a segurança e força agradável java tipo.
  • Ambos suporte de ferramentas necessidade de alta produtividade.
  • Você precisa de outro quadro em cima de ambos para realmente resolver os problemas (como visto com o quadro de costura, o que torna JSF utilizável).
  • O tratamento de erros é muito complicado e as exceções não são straitforward útil.
  • É difícil fazer componentes reutilizáveis ??em ambos os quadros e não suporta um modelo adequado para a separação de preocupações.
  • ... e, mais importante, um longo etc de dores menores, como este , ou este .

Outras dicas

I totalmente como usar JSP 2.0 como templates tecnologia - que é que eu usar Spring MVC para acessar meus objetos de domínio e preparar todos os dados que eu preciso para uma certa visão e deixe-o JSP para torná-lo. JSP 2.0, porque gosto de arquivos de marcas de uso para composição modelo que me permite usar simples JSP 2.0, onde eu iria precisar de outras estruturas de composição outra pessoa.

Eu intencionalmente evitar tudo em JSP que, basicamente, é a programação. Sem acesso de dados, não SQL, há scriptlets, nenhum método, sem nada. apenas a apresentação planície de dados pré-existente, fornecido pelo controlador com talvez alguns casos simples e iteração de coleções.

muitas vantagens. Posso enumerar vantagens JSF que são aqueles que eu usei no meu último projeto.

  • local centralizado para a navegação (como no struts)
  • Componentes como uma data-picker, auto-realização, paginação, etc.
  • Você tem presta para o layout que facilita muito alguma lógica layout.
  • Disponibilidade de azulejos, como em suportes.

JSP não faz uma separação clara entre a lógica de negócios e layout.

De qualquer forma, apesar de todas estas vantagens e se você é um programador Java Eu aconselharia a tomar alook Grails que é muito muito mais confortável .

JSP é extremamente primitivo, você tem basicamente sem widgets e tem que construir tudo sozinho. JSF, enquanto uma melhoria não é a melhor framework web para java - há uma abundância de outros que lhe permitem alcançar um resultado muito mais impressionante -. Por exemplo GWT

Benefícios do Spring MVC:

  • O quadro sutilmente incentiva você a escrever código melhor concebido:., Usando a injeção de dependência, e dividindo-se o design do aplicativo no domínio (modelo) objetos, controladores, classes de serviço, DAOs, etc
  • Como efeito colateral do primeiro ponto de bala, suas extremidades código por ser extremamente e facilmente unidade testável.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top