웹서버 http 서버 - 갑 / client - 을 → 따라서 client가 request하고 sever가 response함 request 시 url 요청한다. 그래서 http 서버는 static(=정적인) 데이터를 response 해준다 URL - 자원 요청 URI - 식별자 요청 흔히 아파치 사용함. 이는 jsp(자바코드) 요청이 오면 처리를 못하기 때문에 톰켓을 붙인다 jsp요청이 오면 톰켓에 제어권을 넘기고 톰켓에서는 해당 코드를 컴파일한 후 .html파일에 덮어씌운다. 그리고 다시 아파치에 돌려주면 아파치는 이를 client에 response한다. 일반적으로 웹브라우저에서 요청을 하는데 웹브라우저는 jsp를 읽을 수 없기 때문에 .html 형식으로 response 한다 서블릿 - 자바코드로 웹을..
JPA는 영속성 컨텍스트를 가지고 있다 영속성 → 데이터를 영구적으로 저장 컨텍스트(context) → 대상에 대한 모든 정보를 가지고 있음 JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다 ORM의 특성 덕분에 가능하다. JAVA를 예로 들면 각 DB에 Obj 타입 데이터를 넣을 수 없는데 클래스 형태로 먼저 작성하고 이를 데이터베이스에 넣는 방법(ORM)으로 처리하기 때문이다 JPA는 OOP관점에서 모델링을 할 수 있게 한다 방언처리가 용이하여 Migration하기 좋음 JPA에 추상화 객체를 하나 만들고 필요한 것을 연결해서 쓰다가 변경해야하면 원래는 코드를 많이 바꿔야하지만 추상화객체에 연결된 부분만 바꿔주면 되도록 할 수 있다 HTTP가 무엇인가요? 소켓(Socket) - 운영..
JPA란? JAVA Persistnce API의 준말로 'JAVA의 데이터를 영구히 저장할 수 있는 환경을 제공하는 API' API란 Application programming interface 즉, 프로그램을 만드는 방법을 말한다 ※ 프로토콜과 인터페이스의 차이 프로토콜은 동등한 관계가 존재하는 약속(ex. www) 인터페이스는 상하 관계가 존재하는 약속 JPA는 ORM 기술이다 Object Relational Mapping, 자바 오브젝트를 데이터베이스에 연결하는 방법론 DB 테이블과 자바의 데이터는 타입이 다르다. 따라서 DB 테이블을 클래스를 통해서 모델링해야한다. 이 때 원래는 테이블을 만들고 자바에서 모델링하는데, ORM을 통해 이 과정이 반대로 진행되도록 한다. 즉, 모델링(JAVA클래스 생..
DI는 많은 필터를 지원한다 필터는 일종의 문지기 역할을 한다 스프링이 자체적으로 가지고 있는 필터를 사용할 수 있고, 사용 설정을 따로 하거나 직접 만들 수도 있음 톰캣이 가지고 있는 필터는 필터(filter)라고 부르고, web.xml이 이 역할을 한다 스프링 컨테이너가 가지고 있는 필터는 인터셉터(intercepter) 라고 부르며, 이는 AOP와 연관되어 있다 스프링은 엄청나게 많은 어노테이션이 있다 어노테이션 → 주석의 역할도 하면서 컴파일러가 읽을 수 있는 힌트를 준다 (일반 주석은 컴파일러가 무시함) // 부모클래스 class Animal() { run(); } // 자식클래스 Dog extends Animal(){ /* 상속된 클래스에서 @Override 할 경우 컴파일러가 실행되면서 자연..