거친 Struts2

4785 단어 기초자바struts2

Struts2의 인터셉터에 대해 정리해 보자.



프로그래밍 업계에 들어가 약 1년 반이 지났다.
당연히 아직 모르는 것 투성이. 대략적인 것은 "뭐야 그것,,""뭐야 이,"에서 시작한다.
배우는 것이 많이 있는 것은 좋은 일이지만, 일중 이외의 아웃풋이 없는 것과 같기 때문에 연습이라면 기사를 써 본다.

이번은 지식 정리도 겸해, 현장에서 사용하고 있는 프레임워크인 Struts2에 대해서 꽤 엉망이지만 정리한다.
Qiita에는 이미 다른 필자의 좋은 기사는 대량으로 있으므로 인용과 함께 게재하겠습니다.

아젠다



・struts2란?
· struts2의 MVC 모델
・Interceptor(인터셉터)

Struts2란?



웹 애플리케이션 프레임워크 중 하나.
일반적으로 Struts라고 하면 「Ver1.x계」, Struts2라고 하면 「Ver2.x계」를 가리킨다.
Struts2라고 해도 원래는 「WebWork2」라고 하는 프레임워크가 명칭 변경한 결과이며, Struts1과는 설계 배경으로부터 다르다(몰랐다).

struts2의 MVC 모델



원래 MVC 모델이란?



M(Model)V(view)C(Controller)의 약자이며, 기능으로 나누어 구현하는 코딩 모델을 말한다. 거칠게.

Struts2에서




(도 1)

Model : Action 클래스로 대표되며 입력 데이터를 유지하고 조작합니다. Action 클래스 외에 Business 클래스나 Model, Entity 클래스도 이것에 포함된다.
View: JSP. Struts의 경우는 "S:~"로 시작하는 독자적인 태그 라이브러리를 가진다. (예: s:form에서 form 태그)
Contoroller : 대표적인 것은 Interceptor(인터셉터) 클래스. 클라이언트(사용자)로부터의 입력 데이터를 Model에 전달한다.

Interceptor(인터셉터)



Interceptor(인터셉터)란?



□영어의 의미
인터셉터 : 가로채는 사람, 심지어 사람, 요격기

Model의 주요이 되는 Action 클래스에 의한 처리 전후에, 인터셉터의 설정에 근거해 처리를 끼워 넣을 수 있다.

(도 2)

즉, 클라이언트로부터 데이터를 수신하여 Action 클래스에 전달하기 전에 유효성 검사 및 토큰 검사와 같은 공통 처리를 수행 할 수 있습니다.

인터셉터의 정의는 struts.xml에서 행한다.
<struts>
    <package name="hoge-package" extends="json-default" abstract="true">
<!-- インターセプタ定義 -->
        <interceptors>
<!-- インターセプタ・クラス定義 -->
            <interceptor name="sample" class="sample.sample"> 
            <interceptor name="hoge" class="hogehoge.sample"> 
        </interceptor>
<!-- インターセプタ・スタック定義 -->
            <interceptor-stack name="samplestack1">
                <interceptor-ref name="xxx" />
                <interceptor-ref name="yyy" />
            <!-- 上記のように、複数のインターセプタをひとまとめに構築できる -->
            </interceptor-stack>
        </interceptors>
    </package>
</struts>

기능별로 xml 파일을 분리하는 것도 가능하며, 그 경우는 struts.xml 안에 다른 파일을 포함시켜 주면 된다.
<!-- インクルード -->
<include file="sampleA.xml">
<include file="sampleB.xml">

또, 이 인터셉터는 클래스 단위 뿐만이 아니라 메소드 단위로의 구현도 가능.
・AbstractInterceptor(클래스 단위)
・MethodFilterInterceptor (메소드 단위)

*의 부분에 메소드명을 지정해 주면 된다.
<interceptor-ref name="samplestack1" />
<!-- インターセプタを有効にする場合はインターセプタ名.includeMetohds -->
    <param name="xxx.includeMethods">*</param>
<!-- インターセプタを無効にする場合はインターセプタ名.excludeMetohds -->
    <param name="yyy.excludeMethods">*</param>
</interceptor-ref>

참고문헌

[Struts 버전 정보]
h tp : // w 리테레메 m베r. 코 m / 아 r ゔ ぇ s / 4983 /
[【초초보자용】Struts2 초입문 - 2018년판]
htps : // 코 m / 타로 사 0001 / ms / 889 2 아 b5853005 f26b
→ Struts는 시작부터 도입 이점과 환경 구축 절차에 대해 알기 쉽게 정리하고 있습니다.
[Struts 2 - Architecture] ※그림 1의 인용처
htps //w w. 쓰리야 ls Poin t. 이 m / st ts_2 / st ts _ r 치어 c 꼬임. htm
→ Struts의 MVC 모델 설명
[MVC 모델 정보]
htps : // 이 m / s_ 에모토 / ms / 975 ~ c38 A3 0 462966 A
→다른 필자에 의한 MVC 설명 기사입니다
[인터셉터(interceptor)]
htps : // 이 m / a lp는 _p,
→Struts2의 인터셉터에 초점을 맞추어 정리되어 있는 기사입니다.
[Struts 2입문(4)~인터셉터라고 하는 구조~]※그림 2의 인용처
htps : // 코데지네. jp / rc c / / 싶은 l / 3264

좋은 웹페이지 즐겨찾기