it-source

스트럿츠2 대 스프링3

criticalcode 2023. 8. 19. 10:24
반응형

스트럿츠2 대 스프링3

Struts2와 Spring 3 MVC의 차이점을 아는 사람?Struts 1과 Spring 2.5의 차이점을 알고 있지만 Struts 2가 Spring 3이나 그 밖의 방법에 비해 어떤 이점이 있는지는 알고 있습니다.

웹을 다 찾아봤지만, 어디에도 포괄적인 답은 없습니다.

Struts2는 실제로 Struts2로 이름이 바뀐 WebWork2입니다.Struts가 기본적으로 자체 브랜드 이름을 활용하여 WebWork를 새로운 기반으로 채택했다는 사실을 잠시 생각해 보십시오. 그리고 그것은 적어도 그것이 매우 매력적이라고 생각하는 사람들이 있었다는 것을 암시합니다. 속편을 발행할 때 항상 새로운 시작을 위해 자신의 코드 기반을 버리는 것은 아닙니다.

그렇다고 스트럿츠2가 스프링3 MVC보다 더 낫거나 더 나쁘다고 말하지는 않을 것입니다. 결론은 그들이 확실히 비슷하다는 것입니다.

비교 방법에 대한 자세한 내용을 알고 싶다면 이 주제에 대한 Matt Raible의 수년 전 프레젠테이션을 확인하십시오.

http://raibledesigns.com/rd/entry/my_comparing_jvm_web_frameworks

http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks-ApacheConUS2007.pdf

다양한 수준에서 여러 개를 비교하는 스프레드시트를 포함합니다.

http://spreadsheets.google.com/pub?key=0AtkkDCT2WDMXdC1HOEtnUHpCejJMbUhGeGJWUmh5dVE&hl=en&output=html

자, Struts2와 Spring3는 많은 면에서 매우 유사합니다.둘 다 행동 지향적인 프레임워크이며 흐름이 매우 유사합니다.Struts1의 모든 알려진 제한 때문에 Spring MVC가 나왔지만 Struts2 대 Spring3 MVC를 선택하면 차별화할 수 있는 것이 많지 않고 둘 다 잘 설계되고 좋은 프레임워크입니다.Struts2는 웹워크 기반 프레임워크이지만 웹워크에 비해 많은 개선점을 가지고 있습니다. 한 가지 주요 장점은 Spring3 mvc와 동등하게 좋고 강력한 긍정적인 측면에 대한 Struts2에 대한 UI 태그 지원입니다. Spring 프레임워크와의 잘 그리고 매우 깊은 통합입니다.

Struts2는 몇 가지 프로젝트에서 Spring DI 및 Transcation Management와 함께 사용하고 있으며 일부에서는 Spring MVC를 사용하고 있습니다. 사용자의 선택과 브랜드 성향만 중요합니다.

편집을

제 생각에는 설계된 프레임워크를 비교하는 것은 좋은 관행이 아닙니다. 프로젝트의 요구 사항이 정확히 무엇인지 생각해 내는 것이 명확한 비교를 하는 것보다 어떤 프레임워크가 당신의 요구 사항에 가장 적합하고 매우 유사한 요구 사항을 제공하는지 분석하는 것보다 낫습니다.

기능 비교

스트러츠 2

  • 구성 가능한 MVC 구성 요소로 struts.xml 파일에 저장됩니다.변경할 내용이 있으면 xml 파일에서 쉽게 변경할 수 있습니다.

  • POJO 기반 작업입니다.Struts 2 작업 클래스는 Plain Old Java Object이며, 이로 인해 개발자가 인터페이스를 구현하거나 클래스를 상속할 수 없습니다.

  • 비동기 요청을 만드는 데 사용되는 Ajax에 대한 지원입니다.불필요한 정보를 제공하지 않고 필요한 필드 데이터만 전송하므로 성능이 향상됩니다.

  • 최대 절전 모드, 스프링, 타일 등과의 통합을 지원합니다.

  • JSP, 프리마커, 속도 또는 기타 모든 것을 사용하려는 경우 Struts 2에서 다른 종류의 결과 유형을 사용할 수 있습니다.

  • UI 태그, 데이터 태그, 제어 태그 등과 같은 다양한 태그를 활용할 수도 있습니다.

  • 테마 및 템플릿을 충분히 지원합니다.Struts 2는 xhtml, simple 및 css_xhtml을 포함한 세 가지 다른 테마를 지원합니다.

봄 MVC

  • 역할의 깔끔하고 명확한 분리.컨트롤러, 명령 개체, 폼 개체 또는 기타 개체에 관계없이 특수 개체의 도움을 받아 쉽게 수행할 수 있습니다.

  • 컨트롤러 메소드 서명을 통해 적응성, 비침입성 및 유연성을 활용할 수 있습니다.

  • 이제 기존 비즈니스 개체를 복제하여 특정 프레임워크 기본 클래스를 확장하는 대신 명령 또는 양식 개체로 사용합니다.

  • 사용자 지정 가능한 바인딩 및 검증 기능을 사용하면 기존 문자열을 사용하지 않고 수동으로 구문 분석하고 비즈니스 개체로 변환할 수 있습니다.

  • 유연한 모드 전송을 통해 최신 기술과 쉽게 통합할 수 있습니다.

  • 사용자 정의 가능한 로케일 및 테마 해상도, JSTL용 Spring 태그 라이브러리를 사용하거나 사용하지 않는 JSP 지원 등.

  • Spring 태그 라이브러리라고 하는 간단하지만 강력한 JSP 태그 라이브러리를 활용합니다.데이터 바인딩 및 테마와 같은 다양한 기능을 지원합니다.


    이점 비교

스트러츠 2

  • 단순화된 설계

  • 플러그인 사용 편의성

  • 단순화된 수행 양식 및 주석

  • 훨씬 더 나은 태그 기능

  • OGNL 통합

  • AJAX 지원

봄 MVC

  • Struts에서는 불가능한 컨트롤러, JavaBeans 모델 및 뷰 간의 명확한 분리.

  • 스프링 MVC는 스트럿에 비해 유연합니다.

  • Spring은 Velocity, XLST 또는 다양한 다른 뷰 기술과 같은 다양한 플랫폼에서 사용할 수 있습니다.

  • Spring에는 ActionForm과 같은 것이 없지만 도메인 개체에 직접 바인딩됩니다.

  • 코드는 스트러츠와 비교하여 테스트 가능성이 더 높습니다.

  • 7개의 독립 계층으로 구성된 완전한 J2EE 프레임워크로, 다른 프레임워크와의 통합을 단순화합니다.

  • 개발자들이 애플리케이션에 대한 컨트롤러와 뷰를 생성하는 데 도움이 되는 비즈니스 도메인과 로직을 구현하기 위한 프레임워크를 제공하지 않습니다.

(출처 http://www.cygnet-infotech.com/blog/struts-2-vs-springmvc)

저는 봄 MVC를 많이 사용하지 않았기 때문에 의견을 제시하는 방식으로 답변하겠습니다.

다음에 struts2 사용

1)struts2 tags and 
2)struts 2 plugins and 
3)struts2 plugin framework using freemarker makes struts2-jquery-plugin and config-browser-plugin

struts 2 규약을 사용하면 xml로 주석을 짝수로 추가하지 않고 구성을 0으로 설정하지 않고 작업 클래스를 만들 수 있습니다.그것은 단지 종이로 보기 좋게 만들기 위한 것이지만, 모든 실제 큰 프로젝트에서 당신은 주석을 작성해야 합니다.런타임 중에 주석 사이에서 길을 잃으면 dev 모드의 브라우저에서 구성을 확인할 수 있는 방법이 있습니다. config-browser-plugin을 사용해 보십시오.

Struts/spring MVC는 전면 컨트롤러까지만 웹 애플리케이션의 매우 작은 부분으로 구성됩니다.

비웃을 필요는 없지만, 프레임워크 선택을 고려할 가치가 있다면 가장 중요한 몇 가지 고급 사용자 사례에 맞서 몇 가지 급증하는 것도 좋습니다.Struts2와 Spring MVC3 모두 데모 환경을 매우 쉽게 설정할 수 있습니다. 즉, IDE에서 5분 이내에 메이븐 원형을 실행할 수 있습니다.

저는 어떤 틀이 더 나은지에 대한 패널 토론에 참여해왔고, 저는 그 어떤 토론도 시간을 낼 가치가 없다고 진심으로 믿습니다.사용 사례의 맥락에서 프레임워크를 사용하면 훨씬 더 나은 서비스를 제공할 수 있습니다.

스트럿 1과 스프링 2.5의 차이를 알고 있다면 스트럿 1과 스프링 2.5와 스프링 3의 차이가 무엇인지 자문해 보십시오.후자에는 검증, xml 마샬링, rest 등을 통해 webmvc의 개선이 있습니다.Struts 2.0새로운 기능은 Spring 3.0의 새로운 기능은 Spring 3.0의 새로운 기능을 참조하십시오.

Umesh가 말했듯이, Spring3 MVC의 긍정적인 측면은 Spring과 깊은 통합을 가지고 있다는 것입니다.제 프로젝트 중 하나에서, 저는 독점적인 DI 프레임워크를 사용하고 있었기 때문에 Struts2는 명백한 선택이었습니다(우리는 두 개의 DI 프레임워크를 함께 원하지 않았습니다).

Struts2는 매우 적극적인 커뮤니티 지원을 통해 성숙하고 널리 사용되는 웹 프레임워크입니다.스프링3는 스프링 mvc를 포함한 모듈이 많은 큰 프레임워크입니다.

Struts 2는 지난 2년 동안 수많은 보안 취약성으로 인해 어려움을 겪었으며 이 사실을 고려해야 합니다.http://www.cvedetails.com/product/6117/Apache-Struts.html?vendor_id=45

http://www.cvedetails.com/vendor/9664/Springsource.html

언급URL : https://stackoverflow.com/questions/5123816/struts2-vs-spring-3

반응형