FrameWork/spring

스프링MVC는 DispatcherServlet 등장으로 정말 엄청나게 web.xml의 역할이 축소되었습니다. 예전같으면 서블릿을 URL로 활용하기 위해선 반드시 web.xml에 등록해야 했지만 이젠 DispatcherServlet이 해당 어플리케이션으로 들어오는 요청을 모두 핸들링해주니 말이죠. 물론 아직까지 web.xml의 역할은 중요합니다. 으로 DispatcherServlet을 등록해줘야 하는데다 이 객체의 URL 적용범위 또한 web.xml에다 설정해야 하구요. 향후 고급서비스를 위해 나 를 등록하는 역할 또한 web.xml의 기능으로 남아 있습니다. 대신 앞으로 web.xml에서 가장 주요하고 자주 쓰이는 기능인 매핑은 이제 완벽하게 DispatcherServlet으로 넘어갔다고 생각합시다. 우..
스프링의 핵심 3대요소 Dependency InjectionDIInversion of Control IOCAspect Oriented ProgrammingAOP 1 의존관계를 느슨하게 하기 위해서 의존객체를 주입해 주는 것 2 필요한 핵심 객체를 다른곳에서(SpringFrameWork) 관리를 하는 것 3 aop를 배우는 목적은 뭔가 인증에 관련된 작업, 트렌젝션에 관련된 작업을 aop 로 처리가능로그인 필터를 쓰지 않고 aop로 필터링 처리를 할수도 있고트렌젝션 처리도 aop의 개념으로 처리 가능
home.jsp 에이렇게 코딩 인덱스에서 시작해보면home.do 요청에 대해서 이렇게 나오면 된것임 이 3개 파일 test.mybatis 패키지에 복사 이렇게 되게 Configuration 에이것만 남기고 MemberMapper 가서다지우고 이것만 남겨 MyBatis DB 에 관련된 설정을 servlet-context.xml 에서 할거야 servlet-context.xml 로가이거 코딩 classpath:test/mybatis/db.properties 문서를 읽어서 넣어주는것 SpringBeanContainer 에서 Dao 에 필요한 객체를 가지고 있다가 Dao 에 필요한 의존객체를 주입해 줄거야 의존객체를 주입해준다. → 이거를 dependency injection ( DI ) 라고 함 필요한 객체를 ..
이 라이브러리를 받아서 사용을 해야해 Mvnrepository 에 들어가서 itext 를 검색해서 IText, A Free Java PDF Library 클릭해서 들어가 2.1.7 클릭 여기에 있는 소스코드 복사해 와서 붙여 넣기하면 라이브러리가 받아져 다 받아지기를 기다린 다음에 컨트롤러과 view 패키지 만들어 주고 servlet-context.xml 에 들어가서 component-scan 을 추가해줘 그래야 Bean 객체가 되는 것임 그리고 BeanNameViewResolver를 0으로 설정해 줘야 controller 에서 BeanName 을 먼저 찾아 위에서 만든 PdfController 에 DB에서 가져와야 하는데 일단은 Sample data를 넣어주고 BeanNameViewResolver를 설..
프로젝트 하나 만들어서 Maven 으로 바꿔서 pom에 의존라이브러리 가져다놔 src 에 패키지 3개 만들어 서비스에 인터페이스 하나 만들어 이렇게 코딩해놔 Impl 클래스도 만들어 이렇게 코딩해줘 얘도 bean 이 되려면 @service 추가해주고 컴퍼넌트스캔이 일어나면 돼 init.xml 옮겨와서 컴퍼넌트 스캔이 일어나도록~ 이거 추가해주고 어노테이션이 일어나도록 해주기 위한 준비작업 이 작업을 이 두 메소드에 적용시키고 싶어 이 작업을 하기전에 내가 bean 으로 가지고 있는 모든 객체에 수행 이전에 이 작업을 수행 하라는 의미임 MainClass 만들어서 이렇게 해서 run 이거의 의미는 전달받는 인자가 아무것도 없는 모든 메소드를 선택하는 것이라서 선생님에게 글쓰기는 적용이 안된것 ! 간략하게 ..
스프링은 @ 라고 봐도 되니 Aop 도 @로 해줄수 있어 프로젝트 하나 더 만들어서 메이븐 프로젝트로 바꿔서 dependency 넣어줘 패키지 3개 복붙 init.xml 삭제하고 다시만들어줘 이거 2개 선택해서 만들어줘 이거 추가해주고 service, serviceImpl 가서 @Service 추가해줘 컴퍼넌스 스캔을 했으니 이제 알아서 bean 이 만들어져 Annotation 기반으로 Aop 를 적용하기 위한 설정 추가하고 PrinLogAspect 로 가서 어노테이션 2개 추가했으니 Bean 이 되기위해 init.xml 로 가서 이것도 추가해줘 직접 여기서 설정할수 있어 작동 되는 것을 확인할 수 있어 Annotation 기반 AOP 를 적용하는 것이 더 편리함
자바 환경으로 바꿔서 자바 프로젝트로 프로젝트 우클릭후configure → convert to maven project 클릭해서 메이븐 프로젝트로 바꿔줘 spring 과 Aop 용 라이브러리 추가하기 위해 이렇게 해줘 3개의 패키지 생성해줘 main package 에 new -> Spring Bean Configuration File 클릭 파일 명을 init.xml 로 명명한 후 Next 클릭 aop 선택해 주고 Finish 메인 클래스도 만들어 준 후 방금 만든 xml 파일을 로딩 할 수 있도록 코딩 해줘 MemberService 인터페이스 만들어 줘 간단하게 이렇게만 해 준뒤 MemberServiceImpl 클래스 만들어줘 방금 만든 서비스 인터페이스를 구현해줘 이렇게 하고 init.xml 에서 Me..
Step06 만들고 기본 설정 해줘 이렇게 잘 뜨면 기본 설정은 다 한 것. pom.xml 로 가서 DB 연동해서 다운로드 및 업로드 처리를 할거야 이걸 추가해줘 추가하고 저장을 누르면 라이브러리들이 설치가 됌 잘 저장 되었으면 Maven Dependencies 에 jar 파일들이 저장되어 있어 mybatis 패키지 만들어서 3개 파일 Step02 에서 가져와 이거 지우고 패키지명 바뀐거 적어주고 filemapper 로 바꿔 FileMapper 로 이름 바꾸고 이렇게 수정해줘 servlet-context.xml 로가서 DB 연동 하려면 bean 으로 관리가 되야해 이렇게 코드를 추가해줘 123456789101112131415161718192021222324252627282930313233343536 cl..
bootstrap css 와 jquery 3.2.0 및 사용하던 css와 js 파일들을 resource 폴더에 옮겨와 여기 resources 폴더에 복붙 해와 이렇게 코딩해 주면 jquery 불러와 지는 것 실행시켜서 우클림 -> 검사 누른 다음 Sources 에 들어가 보면 jquery-3.2.0js 로딩 된것 확인 가능 css 는 이렇게 로딩 하면 됌 css 로딩 된것 확인가능 이제 회원목록 요청했던 것을 ajax를 이용해서 해볼거야 버튼 하나 만들고 버튼을 클릭 헀을때 실행할 함수 코딩 콘솔창에서 데이터 확인해 볼수 있도록 console.log 추가 이제 버튼을 누르면 콘솔에 찍히는게 보임 회원가입 폼 추가 jquery 로 처리 해줘 MemberController 로 가서 이렇게 코딩 추가 DB를 ..
Step05 만들고 기본 설정 후 저 4개의 파일도 설정을 해줘 mvnrepository 에서 jackson 검색 후 1. Jackson Databind 로 들어가 여기서 뭐 많은 버전이 나와 있는데 2.6.0 버전으로 할거야 (다른거로 해도 별 상관은 없음) dependency 복사해서 pom.xml 로~ pom.xml 에 이렇게 추가하고 저장 눌러주면 라이브러리가 알아서 받아짐 home.jsp 가서 링크 하나 추가 servlet-context.xml 로 가서 이거 추가해줘 이제 home.jsp에서 링크를 누르면 json01 요청이니 그걸 처리할 컨트롤러를 만들거야 컨트롤러에서 문자열을 바로 응답 하는거야 /json01 요청을 처리 하겠단거구 json 형식과 utf-8 설정 해준것 이렇게 응답 되면 된..
이제 추상 뷰로 페이지를 보여지게 하는 방법을 해 볼것임 home.jsp 에 이렇게 링크를 추가 해주면 file/download 요청을 처리할 컨트롤러가 필요해 그 하위에 fileDownController 클래스 만들어줘 이렇게 코딩을 해주면 file/download 요청이 일어 났을때 파라미터를 받아와서 ModelAndView 방식으로 처리를 하겠단 거야 일단 컨트롤러 역활을 하려면 ComponentScan 이 일어나야 하고 파라미터를 받아오도록 코딩을 했으니 파라미터를 보내도록 해 줘야해 그리고 fileDownView 라는 이름을 가진 곳으로 리턴을 해주는 거야 일단 home.jsp 로 돌아가서 파라미터 설정을 해주고 임의로 999를 들고 갈수 있도록 해 준것. ComponentScan 해주도록 se..
이클립스를 스프링 환경으로 해 놓고 Step03 에서 했던 것처럼 Step04 프로젝트를 만들고 기본적인 설정을 한번 더 해볼거야 File --> New --> Spring Legacy Project 프로젝트명 작성 후 Spring MVC Project 선택 후 Next 패키지 명을 적고 Finish~ 만든 프로젝트를 서버 환경에서 실행하는 방법 프로젝트를 클릭하고, Run 버튼을 누른 후 Run On Server 누르면 됌 그러면 설치해 놓은 톰캣이 잡혀있는걸 확인 후 Finish 눌러 주면 됌 프로젝트를 생성 했으니 이제 기본 설정을 할거야 Build Path 들어가서 Libaries 탭에서 Add Library... 클릭 Jre System Library 선택 default 로 설치해 놓은 1.8 ..
컨트롤러가 있고 Webcontent 가 있어 앞으로 스프링을 한다면이 환경에서 할수도 있고 Dynamic 프로젝트로 프로젝트를 만든다음 Maven 으로 바꿔 놓은 환경에서 할수도 있어 근데 그 2가지 환경 중에서 전자(지금 Step03 환경)에서 할 활률이 커 그리고 지금 갈색? 으로 JRE System Library 옆에 [JavaSE-1.6] 으로 적혀 있는데 이걸 1.8로 마이그레이션을 해야해 근데 설정이 좀 귀찮음... 일단 천천히 해보면 Build Path 가서 Add Library JRE System Library 선택 후 Next~ default JRE 가 1.8로 선택되어 있는거 확인 후 Finish 그럼 jre 1.8 이 들어와 있는 것을 볼수 있어 만약 jre를 다른 버전으로 받아놓았으..
일단 이클립스의 환경을 Spring 로 바꿔야해 이클립스 우측 위에 테이블 모양의 Open Perspective 여기서 스프링을 선택해서 오케이~ 그럼 스프링 환경으로 바뀐거야 Package Explorer 에서 우클릭 해보면 Spring Legacy Project 가 있어 프로젝트 명 적어주고 중간에 Templates 들이 있는데 Spring MVC Project 클릭해서 next 눌러줘 그럼 뭔가 다운 받는데 받아줘야지 ㅎㅎ 안그럼 진행이 안되것지 뭐 궂이 왜 물어보는지.... 그럼 뭐가 뜨는데 패키지 명을 미리 정하라는 거야 이렇게 적어주고 피니쉬~~ 그럼 Spring03에 에러가 뜨는데 당황하지 말고~ 잠깐만 기달리면 뭔가 받고 에러가 사라져 이렇게 해서 만들면 만들자 마자 Maven Projec..
보통 라이브러리라고 생각하는데 조금 차이가 있어 간단하게 예를 들어보면 영화 촬영할때 수백개의 프레임으로 촬영을 해나중에 그 프레임을 싹 모아두면 하나의 영화가 돼그중에 단역배우가 100번 프레임만 찍기로 약속을 했어단역배우는 가서 이전 프레임과 다음 프레임은 신경쓸 필요가 없어단역배우가 출연한 100번 프레임 하나만 잘 찍고 가면 그 프렘인은 영화의 하나의 구성이 돼단역배우는 자기가 출연할 100번 프레임만 잘 해두면 하나의 영화가 완성이 돼 이것 처럼 우린 전체 웹 서버가 어떻게 구성이 되어있고 어떻게 돌아가는지 전부 알지 못해단지 하나의 컨트롤러만 구성해서 프로그래밍 하면하나의 웹 프로그래밍의 일부분을 완성을 한거야 이런걸 FrameWork 라고 함
이클립스 우측 상단에 테이블 모양 Open Perspective 클릭해서 Java EE 선택해줘 그럼 이렇게Java EE 환경으로 바뀐것을 확인 가능 일단 톰캣이 안잡혔으니톰캣서버 먼저 잡고 시작 난 tomcat 8.0 버전을 받아 놨으니 본인에 맞는 것을 선택후 Next~ Browse 선택해서 아파치 톰캣 설치한데 찾아서 확인 후 Finish~ 그럼 Servers 생긴것 확인 가능 server.xml 에서 8080 포트를 8888 로 수정 이걸 안바꿔 주면 포트 충돌나서 에러 나옴 서버가 제대로 동작하는지 run 하고 stop 해봐 확인 후에 WebProject 하나 만들어줘 Step01 만들어 얘를 메이븐으로 바꿔야해 프로젝트 우클릭 해서 Convert to Maven Project 눌러줘 이거 나오..
test.mypac 에 MemberDto 만들어 123456789101112131415161718192021222324252627282930313233343536373839404142package test.mypac; public class MemberDto { private int num; private String name; private String addr; public MemberDto(){} public MemberDto(int num, String name, String addr) { super(); this.num = num; this.name = name; this.addr = addr; } public int getNum() { return num; } public void setNum..
공격하는 방식을 바꾸는데 클래스를 따로 만들고 다른 타입의 객체를 만들거야 WeaponImpl2 클래스를 만들어 123456789101112package test.mypac; public class WeaponImpl2 implements Weapon{ @Override public void attack() { System.out.println("변칙 공격을 해요!"); } } Colored by Color Scriptercs 메인 클래스를 수정하지 않고 이 객체의 attack 라는 곳에 실행 순서가 들어오가 할수 있음 xml 문서를 수정하면 됌. 1234567891011 Colored by Color Scriptercs 이렇게 수정해 주면 됌. Spring 은 이거에서 부터 시작 메인이 하나의 객체라면..
Java 프로젝트 하나 생성 피니쉬 해주면 이런 Java Project 가 생기는데 프로젝트 우클릭 해서 Configure -> Convert to Maven Project 클릭해서 Maven Project로 바꿔줘 이거 뜨면 손대지 말고 피니쉬~ 그러면 이렇게 pom.xml 이 있는 Maven Project 로 바뀐것을 확인가능 src 밑에다가 package 하나 test.main 이름으로 만들어 주고 new -> other 로 들어가면 Spring 폴더 밑에 Spring Bean Configuration File 이 있는데 이걸 클릭 후 Next~ 파일명은 init.xml 로 해주고 Finish~ 그럼 이렇게 만들어진 것을 확인가능 MainClass 도 하나 만들어 이렇게 해 두고 pom.xml 에가..
maven을 설치 했으니 이제 워크 스페이스를 하나 만들어서 간단한 작업을 해 보기 전에 설정해야 할 것들이 몇가지 있다. 이클립스 프로젝트 만드는 공간에 폴더 하나 생성 내 경우엔 spring_work 라고 만들었음. 이클립스 실행해서 워크 스페이스를 방금 만든 폴더로 바꿔줘. 워크 스페이스 바꿧으니 인코딩 설정도 바꿔 줘야해 이거 안해주면 한글이 깨져서 나옴 이클립스에서 window -> preference 로 들어가서 enc 검색해보면 이렇게 나오는데 Workspace, CSS Files, HTML Files, JSP Files 이 4군데 들어서 UTF-8 로 바꿔주면 됌 css와 html도 위 jsp와 같음. 이제 플러그인 하나 설치 이클립스 마켓플레이스로 들어가서 sts 검색해서 설치~ 이거 인..
- 광속거북이 -
'FrameWork/spring' 카테고리의 글 목록