본문 바로가기

분류 전체보기

[Spring] 클라이언트와 서버간 연결을 유지하는 세션 & 쿠키 쿠키 & 세션 웹 서비스는 HTTP 프로토콜을 기반으로 하는데, 이 프로토콜은 클라이언트와 서버의 관계를 유지하지 않는 특성이 있다. 이를 'Connectionless Protocol' 이라고 부르는데, 서버의 부하를 줄일 수 있는 장점이 있으나, 클라이언트의 요청 시마다 서버와 매번 새로운 연결이 생성되기 때문에 일반적인 로그인 상태 유지, 장바구니 등의 기능은 구현하기 어렵다. 이러한 'Connectionless Protocol' 의 불편함을 해결하기 위해 세션과 쿠키를 이용한다. 세션 1. HttpServletRequest를 이용한 세션 사용 파라미터로 HttpServletRequest를 받은 후, getSession()으로 세션을 얻는다. @RequestMapping(value = "/login".. 더보기
[Spring] Controller 객체 구현 : MVC 프로젝트 (2) Controller 객체 구현 (1) 이전챕터에서 했던 예제를 이어서 진행해보자. ▶이전챕터: https://opentogether.tistory.com/91 그 중에 @RequestMapping 에 대해서 알아보자. ... ID : PW : MAIL : PHONE : - - ... ... ID : PW : ... /* MemberController.java */ ... @Controller public class MemberController { MemberService service; @RequestMapping(value="/memJoin", method=RequestMethod.POST) public String memJoin(Model model, HttpServletRequest request.. 더보기
[Spring] Service & Dao 객체 구현 : MVC 프로젝트 (1) Service & DAO 객체 구현 이번에 구현해볼 객체는 Service & DAO 구간이다. 먼저, spring regacy project를 통해 웹 어플리케이션을 만들어주자. 그냥 프로젝트를 만들고 바로 서버를 통해 실행을 해보면 한글처리가 안됬음을 알 수 있다. 이를 따로 한글처리를 해주어야 한다. web.xml에 다음 코드를 추가해준다. encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 이제 실습해볼 3개의 로그인 html을 만들 것인데, src/main/webapp/resources/html/ 에 'index.html', 'mem.. 더보기
[Spring] MVC 웹 프로그래밍 설계 모델 (With. STS) 웹 프로그래밍 설계 모델 스프링 MVC 프레임워크 기반의 웹 프로그래밍 구조에 대해서 알아보자. 기본적으로 동작을 하는 과정을 그림으로 나타내면 다음과 같다. DispatcherServlet 클래스가 브라우저의 요청을 받고, 그 요청을 HandlerMapping에게 넘겨준다. HandlerMapping은 많은 Controller중에 가장 적합한 것(URL, HTTP 메서드 및 정보, 파라미터 참고)을 선택해준다. Controller가 결정되었다면, 실제로 해당되는 컨트롤러의 메소드를 호출해야 되는데 호출방법이 타입에 따라 다르므로 아무리 Controller를 결정했다고 하더라도, DispatcherServlet은 알 길이 없기에 컨트롤 타입을 지원하는 HandlerAdapter라는 인터페이스가 적합한 파.. 더보기
[Spring] 어노테이션을 이용한 스프링 설정 xml파일을 Java파일로 변경하기 기존에 xml에서 스프링 설정파일을 제작했던 것을 뒤이어, 이번엔 Java 파일을 이용해서 설정파일을 만들어 볼 것인데, 이 때 어노테이션을 사용할 것이다. Education Management System program was developed in 2015. COPYRIGHT(C) 2015 EMS CO., LTD. ALL RIGHT RESERVED. The version is 1.0 2015 1 1 Cheney. Eloy. Jasper. Dillon. Kian. Cheney cheney@springPjt.org Jasper jasper@springPjt.org dev real 위 파일이 바로 xml로 짜여진 스프링 설정 파일인데, 위 코드를 하나하나 매칭해가면서 변.. 더보기
[Spring] 의존객체 자동 주입 : @Autowired와 @Resource 의존 객체 자동 주입 의존객체 자동 주입은 스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능이다. 구현 방법은 @Autowired와 @Resource 어노테이션을 이용해서 쉽게 구현할 수 있다. 1. @Autowired @Autowired는 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입한다. · @Autowired 사용 전 public class BookService { private BookRepository bookRepository; public BookService(BookRepository bookRepository){ this.bo.. 더보기
[Spring] 스프링 설정 파일 분리와 빈 스코프(Bean Scope) 스프링 설정 파일 분리 하나의 XML 파일에 너무 많은 내용이 담기다보면, 가독성이 떨어질뿐더러 코드의 길이도 길어진다. 스프링 설정 파일을 효율적으로 관리하기 위해서 설정파일을 분리하는 방법에 대해서 알아볼 것이다. 위 그림과 같이 한 파일에서 기능별로 파일을 보기 쉽게 분리해줘야 한다. 이후 파일을 분리하였을 때는 그럼 어떻게 여러 xml 파일들을 받아올까? 바로 파일들을 하나의 배열을 통해 받아주면 된다. 1. 파일 한 개만 받아올 때 GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationContext.xml"); 2. 배열로 여러 파일을 받아올 때 String[] appCtxs = {"cla.. 더보기
[Spring] 의존객체와 DI(Dependency Injection) DI(Dependency Injection) 의 개념 DI는 스프링만의 기능이 아니라, OOP 프로그래밍에서 자주 이용되는 프로그래밍 방법 중 하나이다. 말 그대로 의존하는 객체를 주입하는 것이 바로 DI 인데, 의존성이라는 뜻을 이해해보자. 아래에 "일체형 배터리"와 "분리형 배터리"를 통해 비유해보았다. 정리하자면, DI에서 구현하고자 하는 것은 바로 "분리형 배터리"로 코드를 유연하게 하기 위해, 객체를 분리하여 필요할때만 사용할 수 있게 하는 것이다. 다양한 의존 객체 주입 방법 이제, 스프링에서 의존객체를 주입하는 다양한 방법에 대해서 알아보자. 1. 생성자를 이용한 의존 객체 주입 이 방법은 생성자를 통해 생성될때 파리미터로 넘겨받아 의존성을 주입해주는 방식입니다. 가장 먼저, 객체를 만들기 .. 더보기