문제

나는 대학생들이 개발 한 일부 JSF 프로젝트를 보았고이 프로젝트는 나에게 매우 느리게 보였다. 아무도 같은 의견을 가지고 있습니까?

현재 "Rich"클라이언트에 JSP+JSTL 및 JQuery를 사용하고 있습니다.

오래된 평범한 JSP보다 현대적인 프레임 워크 (JSF, 개찰구, 태피스트리 ..)가 어떤 장점과 단점이 있는지 궁금합니다.

이 모든 기술을 사용한 사람들이 대답했다면 좋을 것입니다.

또한 가장 흥미로운 기능으로 JSP를 떠나 "대규모"프레임 워크를 사용하게 된 것도 흥미 롭습니다 (예 : 봄의 AOP 또는 눈에 띄는 모든 것을 의미합니다).

모든 의견에 감사드립니다.

도움이 되었습니까?

해결책

CGI, PHP, JSP, Struts, Spring MVC (1.2), BEA 워크샵, JSF, JBoss Seam, Spring MVC (2.5) 및 창구 (그와 같은 순서로). 내가 작업 한 각 신기술에 대한 생산성과 품질이 모두 증가한 것을 알았습니다. 그것은 단지 더 잘 작동합니다 느낌 더 나은. 나는 다른 모든 것보다 개찰구 (스프링, 석영 등의 비틀림)를 선호합니다. 나는 솔직히 빛을 보았다고 말할 수 있고, 나는 더 어둡거나 가벼운;)로 돌아가고 싶지 않다.

개찰구에 대해 할 말이 많습니다.

  • 대화 지원 (또는 탭 가능)은 기본적으로 제공되므로 "새 탭에서 열기"및 "백"버튼 문제에 대해 다시 걱정하지 않습니다.
  • 구성 요소 기반이므로 코드 ALA 스윙을 재사용 할 수 있습니다.
  • 타입 안전 경이로움과 같이 표준 Java를 많이 활용합니다.
  • URL 암호화와 같은 고급 보안 기능을 지원합니다.
  • 기본적으로 클러스터링 가능한 응용 프로그램.
  • 그리고 가장 중요합니다 재미있는 사용.

JSP 및 JSF의 경우 개선해야 할 것이 많습니다.

  • 나를 가장 귀찮게하는 한 가지는 "엘"넌센스입니다.
  • 둘 다 높은 생산성에 대한 툴링 지원이 필요합니다.
  • 문제를 해결하기 위해 두 가지 프레임 워크가 필요합니다 (이음새 프레임 워크에서 볼 수 있듯이 JSF를 사용할 수있게합니다).
  • 오류 처리는 매우 까다 롭고 예외는 스트라이트 포워드가 도움이되지 않습니다.
  • 두 프레임 워크 모두에서 재사용 가능한 구성 요소를 만드는 것은 어렵고 우려를 분리하기위한 적절한 모델을 지원하지 않습니다.
  • ... 그리고 가장 중요한 것은 작은 통증 등입니다. 이것, 또는 이것.

다른 팁

JSP 2.0을 템플릿 기술로 사용하는 것을 좋아합니다. 즉 Spring MVC를 사용하여 도메인 객체에 액세스하고 특정보기에 필요한 모든 데이터를 준비하고 JSP로 남겨 두어 렌더링합니다. JSP 2.0 다른 합성 프레임 워크가 필요한 간단한 JSP 2.0을 사용할 수있는 템플릿 구성에 태그 파일을 사용하고 싶기 때문입니다.

의도적으로 기본적으로 프로그래밍 인 JSP의 모든 것을 피합니다. 데이터 acess, SQL, 스크립트가없고 방법 없음, 아무것도 없습니다. 몇 가지 간단한 사례와 컬렉션의 반복이 포함 된 기존의 컨트롤러 제공 데이터의 명백한 프레젠테이션.

많은 장점. 마지막 프로젝트에서 사용한 JSF 장점을 열거 할 수 있습니다.

  • 내비게이션을위한 중앙 집중식 장소 (스트럿과 같은)
  • Date-Picker, 자동 완성, 페이징 등과 같은 구성 요소
  • 레이아웃에 대한 렌더링이있어 레이아웃 로직이 많이 있습니다.
  • 스트럿과 같은 타일의 가용성.

JSP는 비즈니스 로직과 레이아웃을 명확하게 분리하지 않습니다.

어쨌든,이 모든 장점과 당신이 Java 프로그래머라면 나는 Alok를 취하도록 조언 할 것입니다. 성배 훨씬 더 편안합니다.

JSP는 매우 원시적이며 기본적으로 위젯이 없으며 모든 것을 직접 구축해야합니다. JSF 개선은 Java를위한 최고의 웹 프레임 워크가 아니지만 훨씬 더 인상적인 결과를 얻을 수있는 많은 사람들이 있습니다. 예 : GWT.

스프링 MVC의 이점 :

  • 프레임 워크는 더 나은 설계된 코드를 작성하도록 권장합니다.
  • 첫 번째 글 머리 기호의 부작용으로 코드가 극도로 쉽게 단위 테스트 가능합니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top