struts 2.1 이틀 빠 른 입문 (첫날 오전)


첫날 오전 학습 목록:
            첫째, 첫 번 째 struts 2.1 응용 개발
            2. Action 설정 의 기본 값
            3. 설 정 된 각종 보기 전송 유형
            4. Action 속성 주입 값
            5. Struts 2.1 처리 요청
 
개발 환경: MyEclipse + Tomcat 6. x
1. 첫 번 째 struts 2 응용 개발
  1.1 Struts 2 프로그램 을 개발 하 는 데 가장 필요 한 JAR 는 다음 과 같다.
      struts 2 - core - 2. x. x. jar: Struts 2 프레임 워 크 의 핵심 라 이브 러 리      xwork - core - 2. x. x. jar: XWork 라 이브 러 리, Struts 2 를 구축 합 니 다.      ognl - 2.6. x. jar: 대상 그림 내 비게 이 션 언어 (Object Graph Navigation Language), struts 2 프레임 워 크 는 읽 기와 쓰기 대상 의 속성 을 통 해      freemarker - 2.3. x. jar: Struts 2 의 UI 탭 템 플 릿 은 FreeMarker 로 작 성 됩 니 다.      commons - logging - 1x. x. jar: ASF 에서 만 든 로그 패키지 입 니 다. Struts 2 프레임 워 크 는 이 로그 패 키 지 를 사용 하여 Log4J 와 JDK 1.4 + 의 로그 기록 을 지원 합 니 다.      commons - fileupload - 1.2.1. jar 파일 업로드 구성 요소, 2.1.6 버 전 후 이 파일 을 추가 해 야 합 니 다.
 
  1.2. Struts 2 의 기본 설정 파일 은 struts. xml 입 니 다. 이 파일 은 WEB - INF / classes 에 저장 해 야 합 니 다. 이 파일 의 설정 템 플 릿 은 다음 과 같 습 니 다.   
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
</struts>

    지식 알림: 이 템 플 릿 은 struts - 2.1.6 \ apps \ \ struts 2 - blank - 2.1.6. war 의 공백 항목 에서 복사 할 수 있 습 니 다.
    
  1.3. struts 2 프레임 워 크 는 Filter 를 통 해 작 동 됩 니 다.웹 xml 에서 의 설정 은 다음 과 같 습 니 다.
     
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 <!--   Struts 2.1.3  ,   FilterDispatcher       
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> --> 
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

    지식 알림: Struts Prepare AndExecute Filter 의 init () 방법 에 서 는 클래스 경로 에서 기본 설정 파일 struts. xml 을 불 러 와 초기 화 작업 을 완료 합 니 다. 일부 초기 화 작업 은 한 번 만 하고 서버 시작 과정 에서 완 료 됩 니 다.
 
  1.4, 첫 번 째 Struts 2 판 Hello World.
      
        1.4.1. cn. gkit. action. HelloWorld Action 류 를 새로 만 들 었 습 니 다. 코드 는 다음 과 같 습 니 다.
        
public class HelloWorldAction {
	
	private String message;
	public String getMessage() {
		return message;
	}
                 //         
	public String execute(){
		message = "struts2  HelloWorld";
		return "success";
	}
}

    지식 알림: 이 Action 류 는 다른 종 류 를 계승 하지 않 고 간단 한 POJO 류 임 을 알 수 있 습 니 다.
 
        1.4.2 、 action 이 struts. xml 에서 의 설정:
      
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
   <package name="test" namespace="/test" extends="struts-default">
        <action name="helloworld" class="cn.gkit.action.HelloWorldAction" method="execute" >
	<result name="success">/WEB-INF/jsp/helloworld.jsp</result>
        </action>
    </package>   
</struts>

    지식 알림: < package > 는 자바 패키지 와 유사 한 패 키 지 를 표시 합 니 다. 이 패 키 지 는 다른 패 키 지 를 계승 할 수 있 습 니 다. 계승 속성 은 extends. test 패 키 지 는 struts 의 기본 패키지 struts - default. struts - default 패 키 지 를 계승 합 니 다. struts - default 패 키 지 는 struts - defautl. xml 설정 파일 에 정의 되 어 있 습 니 다. struts 2 코어 패키지 루트 아래 에서 찾 을 수 있 습 니 다. namespace 속성 은 네 임 스페이스 를 표시 합 니 다.요청 경로 의 같은 부분 을 추출 할 수 있 습 니 다.helloworld 에 접근 하 는 요청 경 로 는: / struts 2.1 / test / helloworld 입 니 다. 그 중에서 struts 2.1 은 이 프로그램의 가상 디 렉 터 리 (즉 내용 경로) 를 가리 키 는 것 입 니 다. < result > 는 되 돌아 오 는 보 기 를 표시 합 니 다. 구체 적 인 설정 은 제3 장 에서 설명 합 니 다.
 
         1.4.3 hello World. jsp 에 message 정 보 를 표시 합 니 다.
 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>struts2.1 HelloWorld</title>
  </head>
  <body>
    ${message}
  </body>
</html>

     지식 알림: el 표현 식 으로 action 의 속성 을 추출 할 수 있 습 니 다.
            
2. Action 설정 (struts. xml - < action >) 의 기본 값
 1 > action 에 class 속성 을 지정 하지 않 으 면 기본적으로 Action Support 입 니 다.
 2 > action 에 method 속성 을 지정 하지 않 으 면 action 의 execute () 방법 을 기본 으로 실행 합 니 다. 3 > result 의 name 속성 이 지정 되 지 않 으 면 기본 값 은 success 입 니 다.
    test 패키지 에 다음 action 요청 을 추가 하면
<action name="registerUI">
     <result>/WEB-INF/page/register.jsp</result>
</action>

    지식 알림: 방문 경로 / struts 2.1 / test / registerUI 일 때 브 라 우 저 에 되 돌아 오 는 것 은 register. jsp 페이지 입 니 다. 설정 은 struts 1. x 에 해당 합 니 다. 다음 과 같 습 니 다.
<action path="/test/regiterUI" forward="/WEB-INF/page/register.jsp"/>

 
3. 설 정 된 각종 보기 전송 유형
    설정 은 struts 1 의 < forward > 와 유사 하지만 struts 2 에 서 는 다양한 결과 형식 을 제공 합 니 다. 자주 사용 하 는 유형 은 dispatcher (기본 값) 입 니 다.   redirect (방향 바 꾸 기) 、 redirectAction 、 plainText (텍스트).
 
    3.1、redirect
           그러나 < result > 에 서 는 ${속성 명} 표현 식 을 사용 하여 action 의 속성 에 접근 할 수 있 습 니 다. 표현 식 의 속성 명 은 action 의 속성 에 대응 합 니 다.
    1.4.2 의 struts. xml 프로필 의 < result > 를 다음 과 같이 변경 합 니 다.
<result type="redirect">/helloworld.jsp?message=${message}</result>

    지식 알림: 이 때 helloworld. jsp 는 WebRoot 디 렉 터 리 에 두 어야 접근 할 수 있 습 니 다. struts 1. x 설정 파일 에 서 는 이 점 을 할 수 없습니다.  url rewrite 를 사용 하여 url 을 다시 쓰 지 않 는 한 action 의 속성 값 을 전달 할 수 없습니다.  / struts 2.1 / test / helloworld 요청 을 다시 방문 하면 브 라 우 저 주 소 는 / struts 2.1 / helloworld. jsp? message = struts2H * 20965 ° ello World 로 변 합 니 다. 여기 서 중국어 코드 문 제 를 무시 합 니 다.
 
     3.2, plaintext: 원본 파일 내용 을 표시 합 니 다. 예 를 들 어 jsp 파일 원본 코드 를 그대로 표시 해 야 할 때 이 형식 을 사용 할 수 있 습 니 다.설정 은 다음 과 같 습 니 다:
<result name="source" type="plainText ">
	<param name="location">/view.jsp</param>
	<param name="charSet">UTF-8</param><!--           -->   
</result>

    지식 알림: 이 요청 에 접근 할 때 jsp 페이지 코드 문체 보기, 즉 jsp 페이지 코드 가 실행 되 지 않 습 니 다.
    
      3.3 redirect Action 의 역할 은 redirect 와 유사 하 며 다른 것 은 action 으로 방향 을 바 꾸 는 것 이다.
4. Action 속성 주입 값
 
 속성 주입 은 spring 과 유사 한 속성 주입 입 니 다. 원 리 는 같 습 니 다. 모두 반사 기술 을 통 해 xml 에 대응 하 는 값 을 대응 하 는 자바 속성 에 설정 합 니 다. 주 입 된 속성 도 대응 하 는 setter 방법 이 있어 야 합 니 다.
1. Hello World Action 류 에 setter 방법 을 추가 합 니 다.
 
public void setMessage(String message) {
		this.message = message;
	}

 2. 덮어 쓰 지 않도록 execute 방법 에서 message 에 값 을 부여 하 는 코드 설명 을 삭제 합 니 다.
 
 3. struts. xml 프로필 의 < action > 에 키 탭 < param name = "> 을 추가 하고 설정 은 다음 과 같이 변경 합 니 다.
   <package name="test" namespace="/test" extends="struts-default">
        <action name="helloworld" class="cn.gkit.action.HelloWorldAction" method="execute" >
        	<param name="message">    </param>
	<result name="success">/WEB-INF/jsp/helloworld.jsp</result>
        </action>
    </package>   

    이 요청 에 접근 하면 페이지 에 표 시 된 mesage 속성 값 은:   속성 주입
5. Struts 2 처리 요청
      1. Struts 2 처리 가 필요 한 요청 접 두 사 를 지정 합 니 다. 설정 파일 struts. xml 설정 에 상수 탭 < constant > 을 추가 합 니 다.
  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.action.extension" value="do"/>
</struts>

      
      2. 사용자 가 여러 개의 요청 접 두 사 를 지정 해 야 한다 면 여러 개의 접 두 사 이 를 영문 쉼표 로 구분 합 니 다.예:
   
<constant name="struts.action.extension" value="do,htm"/>

 
     3. 상수 이름 struts. action. extension 은 default. properties 에서 찾 을 수 있 습 니 다. struts 2 의 기본 상수 값 인 default. properties 는 struts 2 핵심 가방 에 있 는 org. apache. struts 2 에서 찾 을 수 있 습 니 다.
 
첫날 오전 내용 이 끝났다.
 
오후 내용 목록 은 다음 과 같다.
        6. Struts 2 의 처리 절차 와 Action 의 관리 방식
        7. 동적 방법 호출 및 사용 마스크 정의 action
        8. 사용자 정의 형식 변환기
        9. 사용자 정의 차단기
        파일 업로드

좋은 웹페이지 즐겨찾기