당신이 찾고 있다면 JEE 웹 애플리케이션을 빠르고 효율적으로 개발하는 데 도움이 될 수있는 Struts 2는 완벽한 솔루션입니다. Struts 2는 시장에서 많이 사용되는 오픈 소스 프레임 워크입니다. 이 Struts 2 Tutorial을 통해 실제 구현과 함께 시작하는 데 도움이 될 것입니다.
다음은이 Struts 튜토리얼에서 논의 할 주제입니다.
Struts는 무엇입니까?
평신도 용어로 Struts는 J2EE에서 웹 애플리케이션을 개발하는 데 도움이되는 기반 오픈 소스 프레임 워크입니다. 그것확장 Model, View, Controller ( MVC ) 건축물.이것은 다음과 같은 표준 기술로 개발 된 웹 애플리케이션을 만듭니다.JSP, JavaBeans 및 XML,보다 유지 관리 가능하고 확장 가능하며 유연합니다.
Struts Framework는 처음에 Craig McClanahan에 의해 개발되었으며 2000 년 5 월에 Apache Foundation에 넘겨졌습니다. 점차적으로 2005 년에 최상위 수준 Apache 프로젝트의 위치를 차지하고 2007 년 2 월에 다음으로 대체되었습니다. 스트럿 2 .
Struts 프레임 워크는 MVC (모델-뷰-컨트롤러) 디자인 패러다임. 주요 목표는 애플리케이션의보기 및 컨트롤러에서 모델을 분리하여 종속성을 줄이고 우려 사항 분리 (SoC)를 촉진하는 것이 었습니다. 즉, 주로 데이터베이스와 통신하는 애플리케이션 로직을 분리하는 데 도움이되었습니다.~로부터 이를 통해 사용자가 애플리케이션 및 모델과보기 간의 정보를 전달하는 데 도움이되는 인스턴스와 상호 작용합니다.
Struts 2의 특징
- POJO 기반 양식 및 작업 :Struts의 액션 클래스는 애플리케이션에서 컨트롤러로 취급됩니다. 사용자 작업에 응답하고, 비즈니스 논리를 실행하고, 렌더링해야하는 뷰와 함께 결과를 반환합니다. 모델 클래스로도 작동합니다.
- 개선 된 태그 및 사용자 지정 : 애플리케이션 개발에 도움이되는 UI 태그, 제어 태그, 데이터 태그 등과 같은 다양한 유형의 태그가 Struts 2에 도입되었습니다.
- AJAX 기능 : Struts 2는 일반적으로 비동기 요청을 생성하는 데 사용되는 ajax 기술을 지원합니다. 필요한 필드 데이터 만 서버로 전송하여 애플리케이션의 성능을 향상시킵니다.
- 쉬운 통합 : 다음과 같은 다른 웹 프레임 워크와 쉽게 통합 할 수 있습니다. , DWR, SiteMesh 및 Tiles.
- 최소 구성 : Struts 2 애플리케이션을 사용하는 동안에는 오버 헤드 구성이 필요하지 않습니다. 편차가없는 한 대부분의 설정이 기본값을 사용하는 최소 구성으로 작동합니다.
- View 기술 통합 : Struts2를 사용하면 XSLT, JSP, Freemarker, 속도 등과 같은 다양한보기 기술과 쉽게 통합 할 수 있습니다.
- 테마 및 템플릿 : Struts 2는 3 가지 유형의 테마를 지원합니다.
- Xhtml
- 단순한
- Css_xhtml
여기서 XHTML은 Struts 2의 기본 테마이며 주로 일반적인 모양과 느낌에 사용됩니다.
이제 Struts와 다양한 기능이 무엇인지 알았으니 이제 Struts 튜토리얼 기사로 넘어 가서 그 아키텍처에 대해 알아 보자.
건축물
위의 다이어그램에서 볼 수 있듯이 Struts는 높은 수준의 MVC 아키텍처 . 여기서 Struts2 디스패치 서블릿 필터는 컨트롤러를 구현하는 데 사용되는 반면 액션은 모델을 구현하는 데 사용되며 뷰는 결과 유형과 결과를 결합하여 구현됩니다. 이 아키텍처에서 공통 스레드, 연결 및 다른 구성 요소와의 통합은 가치 스택 및 OGNL에 의해 활성화됩니다. 이 외에도 액션, 인터셉터, 결과 등과 함께 웹 애플리케이션에 대한 구성도 많은 정보를 전달하는 데 도움이됩니다.
이제 사용자가 생성 한 요청의 수명주기 동안 전체 워크 플로를 설명하겠습니다. 아래에 Struts의 작동 방식을 더 잘 이해할 수 있도록 단계별 워크 플로를 나열했습니다.
- 일부 리소스를 요청하기 위해 서버로 전송되는 사용자 요청으로 시작됩니다.
- 그런 다음이 요청은 필터 디스패처에 의해 처리되어 적절한 작업을 결정합니다.
- 또한 적절하게 구성된 인터셉터 기능이 유효성 검사, 파일 업로드 등과 같은 요청에 적용됩니다.
- 선택한 Action이 결정되고 요청 된 작업에 따라 실행됩니다.
- 사후 처리가 필요한 경우 구성된 인터셉터가 호출됩니다.
- 결국 결과는 뷰에 의해 제공되고 사용자에게 반환됩니다.
이것이 Struts 애플리케이션 내의 워크 플로우를 정리하기를 바랍니다. 이제이 Struts 2 튜토리얼의 다음 섹션에서 Struts를 시작하기 위해 시스템에 필요한 모든 것이 무엇인지 살펴 보겠습니다.
환경 설정
아래에 Struts 2를 시작하는 데 필요한 기본적인 사항을 나열했습니다.
- 자바
시스템에 Java가 설치되어 있지 않은 경우 다음을 참조하십시오. 자바 설치 조.
- 수코양이
시스템에 Tomcat이없는 경우 다음을 방문하십시오. 여기 무료 다운로드.
- IDE (가급적 Eclipse)
마지막으로 이클립스 IDE 응용 프로그램 개발을 위해.
완료되면 Struts로 발을 적실 준비가 된 것입니다. 이 Struts 2 튜토리얼의 다음 섹션에서는 Struts 2의 기본 개념에 대해 간략하게 설명하겠습니다.
기본 개념
1. 구성
모든 Struts 애플리케이션에는 두 가지 주요 구성 파일이 있습니다.
- struts.xml 파일 : 이 파일은작업으로 수정되는 구성. 주로 응용 프로그램의 기본 설정을 재정의하는 데 사용됩니다. 이 파일은 일반적으로 Struts 프로젝트의 WEB-INF / classes 디렉토리 내에 생성됩니다.
- struts.properties 파일 : 이 파일은 프레임 워크의 동작을 변경할 수있는 메커니즘을 제공합니다. 이후프레임 워크는 요구 사항에 따라 변경할 수있는 여러 속성을 사용합니다.
2. 액션
액션 또는 액션 클래스는 MVC 패턴에서 컨트롤러 역할을하기 때문에 Struts 2 애플리케이션의 핵심 개념입니다. 즉, Action 클래스에는 데이터 처리에 도움이되는 비즈니스 로직이 포함되어 있습니다. 이 외에도 액션 클래스는사용자 요청에 응답하여 비즈니스 로직을 실행합니다. 또한 프레임 워크가 구성 파일 (struts.xml)을 기반으로 결과를 결정하고 사용자에게 반환하여보기 페이지를 렌더링하는 데 도움이됩니다.
Stuts2 작업 클래스는 본질적으로 싱글 톤이 아닙니다. 즉,이 클래스의 인스턴스가 각 요청과 함께 생성됩니다. 따라서 스레드로부터 안전 할 필요가 없으며 간단하고 독립적입니다. 이렇게하면 이러한 클래스를 훨씬 쉽게 테스트 할 수 있습니다.
다음과 같은 세 가지 방법으로 작업 파일을 만들 수 있습니다.
- 간단한 액션 클래스
구체적인 Java 클래스는 Struts 2 조치 클래스로 사용할 수 있지만 유일한 요구 사항은 클래스에 String 리턴 유형이있는 execute () 메소드를 포함해야한다는 것입니다. 다음은 간단한 액션 클래스를 만드는 코드입니다.
package com.edureka.struts2.action public class DemoAction {public String execute () {return 'Welcome!' }}
- 액션 인터페이스 구현
com.opensymphony.xwork2.Action 인터페이스를 구현하여 Struts 2 Action 클래스를 만들 수도 있습니다. 여기에는 구현 클래스에 의해 구현되어야하는 단일 메서드 즉 execute ()가 포함됩니다. 이 인터페이스를 구현하여 결과 페이지에 사용할 수있는 SUCCESS, ERROR, NONE, INPUT 및 LOGIN과 같은 여러 상수를 사용할 수 있습니다.
아래 코드는 동일한 예를 보여줍니다.
package com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction 구현 Action {public String execute () {return SUCCESS}}
- ActionSupport 클래스 확장
Struts 2의 액션 클래스는 일반적으로 Action 인터페이스의 기본 구현 인 Action Support 클래스를 확장합니다. 데이터 유효성 검사, 작업 수준 메시지, 작업 수준 오류 메시지, 필드 수준 오류 메시지 및 읽기 리소스 번들 등 웹 응용 프로그램 개발을위한 다양한 필수 기능을 제공합니다.
다음은 동일한 구현입니다.
package com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction extends ActionSupport {@Override public String execute () throws Exception {return SUCCESS}}
3. 인터셉터
인터셉터는 Struts 2 프레임 워크의 주요 기둥 중 하나입니다. 그것은 단지 객체 일뿐입니다요청의 전처리 및 후 처리 중에 호출됩니다.요청 및 응답주기의 원활한 전환을 제어하고 유지하는 데 도움이됩니다.
인터셉터 사용의 주요 이점은 플러그 가능하다는 것입니다. 내 말은, 더 이상 특정 관심사를 사용하지 않는 경우유효성 검사, 예외 처리, 로깅 등을 다시 배포하지 않고도 응용 프로그램에서 쉽게 제거 할 수 있습니다. 이를 위해 struts.xml 파일에서 항목을 삭제하기 만하면됩니다.
Struts2 프레임 워크는 아래 표에 나열된 사전 정의 된 인터셉터 및 공통 인터셉터 스택의 포괄적 인 세트를 제공합니다.
인터셉터 | 기술 |
별명 | 이를 통해 매개 변수가 사용자 요청에 따라 다른 이름 별칭을 가질 수 있습니다. |
체크 박스 | 확인란이 선택되지 않은 경우 false 매개 변수 값을 추가하여 확인란을 관리하는 데 도움이됩니다. |
conversionError | 이렇게하면 작업의 필드 오류 내에서 문자열을 매개 변수 유형으로 변환하는 오류 정보가 배치됩니다. |
createSession | HTTP 세션이 존재하지 않는 경우 암시 적으로 생성됩니다. |
디버깅 | 개발자에게 다양한 디버깅 화면을 제공합니다. |
execAndWait | 작업이 백그라운드에서 실행될 때 사용자를 중개 대기 페이지로 이동합니다. |
예외 | 이것은 작업에서 발생하는 예외를 결과로 매핑합니다. |
파일 업로드 | 이것은 Struts 2에서 파일 업로드를 쉽게합니다. |
i18n | 이는 사용자 세션 중에 지정된 로케일을 추적하는 데 도움이됩니다. |
로그 | 실행중인 작업의 이름으로 출력을 생성하여 사용자에게 간단한 로깅을 제공합니다. |
매개 변수 | 이는 조치에 대한 요청 매개 변수를 설정하는 데 도움이됩니다. |
준비하다 | 이것은 전처리 작업을 수행하는 데 사용됩니다. |
프로필 | 이를 통해 로깅 작업에 대한 간단한 프로파일 링 정보를 얻을 수 있습니다. |
범위 | 사용자 세션 또는 응용 프로그램 범위 동안 작업의 상태를 저장하고 검색합니다. |
ServletConfig | 이를 통해 다양한 서블릿 기반 정보에 액세스 할 수있는 작업을 허용합니다. |
시간제 노동자 | 간단한 프로파일 링 정보를 제공합니다. |
토큰 | 이는 중복 양식 제출을 방지하기 위해 유효한 토큰에 대한 조치를 확인하는 데 도움이됩니다. |
확인 | 다양한 작업에 대한 유효성 검사 지원을 제공합니다. |
4. 가치 스택
ValueStackStruts2에서 요청 처리를 위해 전체 애플리케이션의 데이터가 저장되는 저장 영역입니다. 이 데이터는ActionContext사용하는 개체ThreadLocal특정 클라이언트 요청 스레드에 특정한 값을 검색합니다.
5. OGNL
OGNL은 Object-Graph Navigation Language의 약자입니다. JSP와 매우 유사한 강력한 표현 언어이며 주로ValueStack에있는 데이터의 참조 및 조작. 또한 데이터 유형을 전송하고 변환하는데도 도움이됩니다.
JSP와 마찬가지로 OGNL은 애플리케이션 컨텍스트 내에 루트 객체를 포함합니다. 따라서이 경우 파운드 기호를 사용하여 표시되는 마크 업 표기법을 사용하여 기본 개체의 참조를 제공 할 수 있습니다. Struts 2 프레임 워크는 ActionContext 맵을 구축하여 OGNL을 구현합니다. 아래에 ActionContext 맵의 구성 요소를 나열했습니다.
- 신청
- 세션
- 가치 스택
- 의뢰
- 매개 변수
- 속성
이것으로 Struts 2의 기초를 익혔습니다.이 Struts 2 기사의 다음 섹션에서는 코드로 바로 이동하여 지금까지 배운 모든 것을 구현할 수 있습니다.
talend 오픈 스튜디오 튜토리얼 pdf
Struts 2 튜토리얼 데모
여기에서는 이름을 입력해야하는 간단한 응용 프로그램을 만들고 응용 프로그램에서 환영합니다. 아래는 전체 프로젝트 구조의 스크린 샷입니다.
보시다시피이 프로젝트에서는 다음과 같은 5 개의 파일을 생성합니다.
- HelloWorld.java
- index.jsp
- welcome.jsp
- web.xml
- struts.xml
참고 :이 프로젝트를 시작하기 전에 시스템에 Tomcat이 이미 설치되어 있는지 확인하십시오.
1 단계 : Eclipse에서 파일> 새로 작성> 동적 웹 프로젝트로 이동하십시오. 프로젝트 이름을 입력하고 새 런타임을 클릭하십시오.
2 단계 : 여기에서 시스템에 다운로드 한 Apache Tomcat 버전을 선택하고 다음을 클릭해야합니다.
3 단계 : 다음으로 찾아보기를 클릭하고 Tomcat 종속성이 저장된 디렉토리로 이동하십시오. 완료되면 마침을 클릭하고 프로젝트 생성을 진행하십시오.
4 단계 : 이제이 프로젝트를 성공적으로 실행하는 데 필요한 Struts jar 파일을 추가하겠습니다. 다음에서 JAR을 다운로드 할 수 있습니다. 여기 . JAR 파일이 준비되면 JAR을 복사하여 WebContent> WEB-INF> lib 아래에 붙여 넣으십시오.
단계 V : 이제 모든 구성이 준비되었으므로 HelloWorld.java로 시작하는 코드 파일을 설정할 수 있습니다. 이를 위해 프로젝트> 새로 만들기> 클래스를 마우스 오른쪽 버튼으로 클릭합니다. 패키지 및 클래스 이름을 입력하고 완료를 클릭하십시오.
6 단계 : 아래 코드를 입력하십시오. HelloWorld.java 파일.
package com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}
7 단계 : 다음으로 새로 만들기 index.jsp WebContent 아래 파일을 열고 아래 코드를 입력하십시오.
단계 VIII : 이제 다시 새로운 welcome.jsp WebContent 아래 파일을 열고 아래 코드를 입력하십시오.
어서 오십시오:
9 단계 : 이제 WebContent> WEB-INF로 이동하여 아래 코드를 입력하십시오. web.xml 파일.
Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *
단계 X : 마지막으로 Java Resources> src에서 struts.xml 파일
welcome.jsp
단계 XI : 이제 index.jsp 페이지를 마우스 오른쪽 버튼으로 클릭하십시오. 애플리케이션을 실행하려면 서버에서 실행을 선택하십시오.
이것으로 Struts 2 Tutorial에 대한이 기사의 끝으로 이동합니다. Java에 대한 자세한 내용은 다음을 참조하십시오. .
이제 Struts 2 Tutorial이 무엇인지 이해 했으므로 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.
질문이 있으십니까? 이 'Struts 2 Tutorial'기사의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.