Struts 2 튜토리얼 – 초보자를위한 원 스톱 솔루션



Struts 2 Tutorial에 대한이 기사는 코드 데모와 함께 J2EE 웹 애플리케이션을 개발하기위한 Struts 2 프레임 워크를 시작하는 데 도움이 될 것입니다.

당신이 찾고 있다면 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의 특징

  1. POJO 기반 양식 및 작업 :Struts의 액션 클래스는 애플리케이션에서 컨트롤러로 취급됩니다. 사용자 작업에 응답하고, 비즈니스 논리를 실행하고, 렌더링해야하는 뷰와 함께 결과를 반환합니다. 모델 클래스로도 작동합니다.
  2. 개선 된 태그 및 사용자 지정 : 애플리케이션 개발에 도움이되는 UI 태그, 제어 태그, 데이터 태그 등과 같은 다양한 유형의 태그가 Struts 2에 도입되었습니다.
  3. AJAX 기능 : Struts 2는 일반적으로 비동기 요청을 생성하는 데 사용되는 ajax 기술을 지원합니다. 필요한 필드 데이터 만 서버로 전송하여 애플리케이션의 성능을 향상시킵니다.
  4. 쉬운 통합 : 다음과 같은 다른 웹 프레임 워크와 쉽게 통합 할 수 있습니다. , DWR, SiteMesh 및 Tiles.
  5. 최소 구성 : Struts 2 애플리케이션을 사용하는 동안에는 오버 헤드 구성이 필요하지 않습니다. 편차가없는 한 대부분의 설정이 기본값을 사용하는 최소 구성으로 작동합니다.
  6. View 기술 통합 : Struts2를 사용하면 XSLT, JSP, Freemarker, 속도 등과 같은 다양한보기 기술과 쉽게 통합 할 수 있습니다.
  7. 테마 및 템플릿 : Struts 2는 3 가지 유형의 테마를 지원합니다.
    1. Xhtml
    2. 단순한
    3. Css_xhtml

여기서 XHTML은 Struts 2의 기본 테마이며 주로 일반적인 모양과 느낌에 사용됩니다.

이제 Struts와 다양한 기능이 무엇인지 알았으니 이제 Struts 튜토리얼 기사로 넘어 가서 그 아키텍처에 대해 알아 보자.

건축물

Struts 아키텍처-Struts 2 튜토리얼-Edureka위의 다이어그램에서 볼 수 있듯이 Struts는 높은 수준의 MVC 아키텍처 . 여기서 Struts2 디스패치 서블릿 필터는 컨트롤러를 구현하는 데 사용되는 반면 액션은 모델을 구현하는 데 사용되며 뷰는 결과 유형과 결과를 결합하여 구현됩니다. 이 아키텍처에서 공통 스레드, 연결 및 다른 구성 요소와의 통합은 가치 스택 및 OGNL에 의해 활성화됩니다. 이 외에도 액션, 인터셉터, 결과 등과 함께 웹 애플리케이션에 대한 구성도 많은 정보를 전달하는 데 도움이됩니다.

이제 사용자가 생성 한 요청의 수명주기 동안 전체 워크 플로를 설명하겠습니다. 아래에 Struts의 작동 방식을 더 잘 이해할 수 있도록 단계별 워크 플로를 나열했습니다.

  • 일부 리소스를 요청하기 위해 서버로 전송되는 사용자 요청으로 시작됩니다.
  • 그런 다음이 요청은 필터 디스패처에 의해 처리되어 적절한 작업을 결정합니다.
  • 또한 적절하게 구성된 인터셉터 기능이 유효성 검사, 파일 업로드 등과 같은 요청에 적용됩니다.
  • 선택한 Action이 결정되고 요청 된 작업에 따라 실행됩니다.
  • 사후 처리가 필요한 경우 구성된 인터셉터가 호출됩니다.
  • 결국 결과는 뷰에 의해 제공되고 사용자에게 반환됩니다.

이것이 Struts 애플리케이션 내의 워크 플로우를 정리하기를 바랍니다. 이제이 Struts 2 튜토리얼의 다음 섹션에서 Struts를 시작하기 위해 시스템에 필요한 모든 것이 무엇인지 살펴 보겠습니다.

환경 설정

아래에 Struts 2를 시작하는 데 필요한 기본적인 사항을 나열했습니다.

  • 자바
    시스템에 Java가 설치되어 있지 않은 경우 다음을 참조하십시오. 자바 설치 조.
  • 수코양이
    시스템에 Tomcat이없는 경우 다음을 방문하십시오. 여기 무료 다운로드.
  • IDE (가급적 Eclipse)
    마지막으로 이클립스 IDE 응용 프로그램 개발을 위해.

완료되면 Struts로 발을 적실 준비가 된 것입니다. 이 Struts 2 튜토리얼의 다음 섹션에서는 Struts 2의 기본 개념에 대해 간략하게 설명하겠습니다.

기본 개념

1. 구성

모든 Struts 애플리케이션에는 두 가지 주요 구성 파일이 있습니다.

  1. struts.xml 파일 : 이 파일은작업으로 수정되는 구성. 주로 응용 프로그램의 기본 설정을 재정의하는 데 사용됩니다. 이 파일은 일반적으로 Struts 프로젝트의 WEB-INF / classes 디렉토리 내에 생성됩니다.
  2. 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 개의 파일을 생성합니다.

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. 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'기사의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.