Presentation is loading. Please wait.

Presentation is loading. Please wait.

컴퓨터응용과학부 Java Enterprize(DB) 제 13 주

Similar presentations


Presentation on theme: "컴퓨터응용과학부 Java Enterprize(DB) 제 13 주"— Presentation transcript:

1 컴퓨터응용과학부 Java Enterprize(DB) 제 13 주
2014년 11월 25일 스트럿츠2과 스프링의 연계(9장) 실습

2 실습내용 스트럿츠2의 다양한 예제 작성 스트럿츠2와 스프링의 연계 HelloAction MultiAction-foo
MultiAction-bar BindingSampleAction AwareSampleAction InterceptorSampleAction ValidationSampleAction ExceptionMappingSampleAction ZeroConfigSampleAction 스트럿츠2와 스프링의 연계 액션에서 스프링 Bean 사용 SpringSampleAction

3 웹 애플리케이션 화면

4 스트럿츠2과의 연계 Spring Maven Project 생성 pom.xml에 필요한 라이브러리 추가
필요한 폴더 추가(WebContent, WEB-INF) web.xml 작성 액션 작성 JSP 작성 struts.xml 작성 프로젝트 facets 변경(Dynamic Web Module)

5 프로젝트 생성 스트럿츠2용 웹 애플리케이션을 작성할 것이므로 스프링 MVC 프로젝트를 만들지 않고 Maven 프로 젝트를 만들어 스트럿츠2를 이용한 애플리케이션 을 만들 것이다.

6 Maven Project 생성

7 Create Simple Maven Project

8 프로젝트 명 설정 임의의 이름 프로젝트 이름

9 생성된 프로젝트 pom.xml 파일 외에는 추가 된 것이 없음

10 시스템 라이브러리 변경 기존 시스템 라이브러리 선택

11 기존 시스템 라이브러리 삭제 새 시스템 라이브러리 추가

12 JRE System Library 선택

13 원하는 시스템 라이브러리 선택

14 추가된 새 시스템 라이브러리

15 바뀐 시스템 라이브러리

16 pom.xml 파일 수정

17 struts2-core 추가 검색 목록이 나타나지 않을 경우에는 Group Id와 Artifact Id, Version을 화면과 같이 직접 입력하고 OK를 하면 된다.

18 struts2-spring-plugin 추가
검색 목록이 나타나지 않을 경우에는 Group Id와 Artifact Id, Version을 화면과 같이 직접 입력하고 OK를 하면 된다.

19 struts2-convention-plugin 추가
검색 목록이 나타나지 않을 경우에는 Group Id와 Artifact Id, Version을 화면과 같이 직접 입력하고 OK를 하면 된다.

20 servlet-api 2.5 추가 검색 목록이 나타나지 않을 경우에는 Group Id와 Artifact Id, Version을 화면과 같이 직접 입력하고 OK를 하면 된다.

21 jstl 1.2 추가 검색 목록이 나타나지 않을 경우에는 Group Id와 Artifact Id, Version을 화면과 같이 직접 입력하고 OK를 하면 된다.

22 log4j 추가 검색 목록이 나타나지 않을 경우에는 Group Id와 Artifact Id, Version을 화면과 같이 직접 입력하고 OK를 하면 된다.

23 수정된 pom.xml

24 WebContent 폴더 추가

25 폴더 이름 지정 WebContent

26 META-INF, WEB-INF 폴더 추가

27 web.xml 추가

28 XML File 선택

29 파일명 설정 web.xml

30 XML schema 로 부터 생성

31 web-app schema 선택

32 Root element 선택

33 생성된 web.xml 파일 2번 줄에 있는 태그의 끝을 다음 줄로 옮긴다.

34 web.xml 파일 수정 읽기 쉽도록 여러 줄로 분리한다.
web-app 가 root element 이므로 javee:web- app 태그를 web-app 태그로 수정한다.

35 struts2 filter 등록 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

36 이제 struts2 를 사용할 기본 준비가 완료 된 상태 이다.
지금 부터는 필요한 액션 클래스를 작성하여 추가 하면 된다.

37 액션 클래스 추가

38 패키지 및 클래스 명 설정 ejb.y2014.week13.struts2 HelloAction

39 생성된 POJO 액션 클래스 멤버 변수 message 추가

40 message 변수에 대한 getter/setter
우클릭  Source  Generate Getters and Setters…

41 멤버변수 선택 멤버변수 선택 소스위치 선택

42 추가된 getter와 setter 함수 getter와 setter 함수가 추가된 멤버변수를 특히 프로퍼티(property)라고 한다. 웹 애플리케이션의 뷰인 jsp 파일에서 참조 할 수 있는 것은 각 클래스의 프로퍼티(property)이다.

43 execute 함수 추가

44 이제 액션도 작성했으므로 액션의 실행 결과를 보 여줄 뷰 파일을 작성할 차례이다.
뷰 파일들은 한 곳에 모아서 작성하는 것이 편리하 므로 뷰 파일들을 모아둘 폴더를 추가한다. 폴더는 /WEB-INF/jsp 로 한다.

45 jsp 폴더 추가

46 폴더명 설정 jsp 폴더명 설정

47 뷰 파일 추가

48 JSP File 선택

49 뷰 파일명 설정 hello.jsp 파일명 설정

50 템플릿 선택 New JSP File(html)

51 생성된 뷰파일

52 struts-tags 참조 추가

53 뷰 내용 작성 액션 클래스의 프로퍼티인 message 값을 표시한다.

54 액션과 사용할 뷰를 작성했으므로 이제 액션과 뷰 를 연결하는 설정을 추가해야 한다.
이 설정은 모두 struts.xml 파일에 추가해야 한다. struts.xml 파일은 src/main/resources 폴더에 위치해야 한다.

55 struts.xml 파일 추가

56 XML File 선택

57 파일명 설정 struts.xml

58 XML Template 선택

59 기본 템플릿 선택

60 Struts2 설정 파일 DOCTYPE 추가 struts2 용 설정 파일이라는 내용을 추가 한다.

61 URL과 액션 그리고 뷰를 연결 액션 이름 액션 클래스 이름 뷰 이름 URL: Week13Struts2/hello

62 여기까지 작성하고 실행을 하려고 하면 Run On Server 라는 항목이 나타나지 않는다.
이유는 아직 웹 애플리케이션이라는 정보가 설정 되지 않아서 그런 것이다. 이를 위해서는 Project Facets에 Dynamic Web Module 을 추가해 주어야 한다.

63 Dynamic Web Module 설정 Projects  Properties

64 Content 폴더 선택

65 실행 오류 오류의 원인은 웹으로 실행하기 위하여 넘겨 주어야 할 라이브러리들이 제대로 서버 쪽으로 넘어가지 않아서 발생한 것이다. 이를 해결하기 위해서는 Deployment(배치) 를 올바르게 설정해야 한다.

66 Deployment 설정 Projects  Properties

67 새 어셈블리(assembly) 선택

68 Maven Dependencies 추가

69 새 Deployment 내용

70 이렇게 설정 한 후에도 오류가 발생한다. 이는 스프링 관련하여 컨테이너를 제대로 적재하 지 못해서 발생하는 것으로 이에 대한 설정을 추가 하면 된다. ContextLoaderListener 를 web.xml 에 추가 한 다.

71 ContextLoaderListener 추가

72 Bean 설정 파일 추가

73 파일명 설정 spring-web.xml

74 필요한 XSD 선택 beans context mvc 선택. mvc가 없는 경우는 선택하지 않아도 된다.

75 추가적인 Bean 정의 파일 추가

76 생성된 Bean 설정 파일

77 애노테이션 Bean 설정 추가

78 실행 오류 오류의 원인은 / 에 연결된 액션이 없어서 그런 것임.

79 정상 실행

80 menu.jsp 추가 /WEB-INF/jsp/menu.jsp

81 기본 액션과 menu 액션 추가 struts.xml

82 도전과제 위 메뉴에 나타난 항목을 모두 구현할 것
첨부 한 ejb2014-struts2.zip 을 참고하여 같은 동작을 하도록 Week13Struts2 를 완성할 것


Download ppt "컴퓨터응용과학부 Java Enterprize(DB) 제 13 주"

Similar presentations


Ads by Google