본문 바로가기

CS/웹14

Content-Type Header와 Accept Header Content-Type HTTP 메시지(요청과 응답)에 담겨 보내는 데이터의 형식을 알려주는 헤더 웹서버는 Content-Type 헤더를 기준으로 HTTP 메시지에 담긴 데이터를 분석하고 파싱한다. defalt 는 텍스트 데이터이다. * GET 방식일 경우엔 URL 끝에 value=text 형식으로 보내져 Content-Type 은 필요가 없다. * POST, PUT 방식에서 바디에 데이터를 보낼 땐 Content-Type을 지정해야 한다. * 태그를 통해 첨부파일 등을 전송할 경우, 브라우저는 자동으로 multipart/form-data로 설정해 요청 메시지를 보낸다. Accept 헤더 브라우저(클라이언트)에서 웹서버로 요청 시 요청메시지에 담기는 헤더. 어떠한 데이터만 허용할지 알려주는 헤더이다. 2022. 8. 15.
hashcode란 ?! Object 클래스의 hashCode() 메서드는 객체의 메모리 번지를 이용해 해시 코드를 만들어 리턴한다. 객체 해시코드란 객체의 내부 주소를 정수로 변환하여 구현된 객체를 식별하는 값이라고 할 수 있다. 객체의 값을 동등성 비교할 때, hashCode()를 오버라이딩할 필요성이 있다. equals()를 할 때, 해시코드가 다른 엔트리끼리는 비교를 시도조차 하지 않는다. HashSet, HashMap, HashTable은 hashCode() 메소드를 사용해 주어진 키에 대한 해시 값을 계산하고 내부적으로 이 값을 사용하여 데이터를 저장하기 때문에 접근할 때 훨씬 더 효율적이다. * 특징 1. equals 비교에 사용되는 정보가 변경되지 않으면 hashCode 메소드는 몇 번을 호출해도 일관되게 항상 같.. 2022. 4. 23.
ibatis란! ibatis - DB의 데이터들을 편리하게 가져올 수 있는 프레임워크. - xml서술자를 사용해서 간단하게 PreparedStatement의 바인드 변수인 파라미터와 ResultSet으로 맵핑시켜주는 기능. - SQL Maps, ORM 이라고도 함. 특징 1. 간결함과 쉬운 접근성 > 가장 간단한 퍼시스턴스 프레임워크 > 자바빈즈와 xml, sql만 알면 해결되며 데이터 매퍼를 사용하면 sql을 그대로 모두 사용할 수 있음. 2. 생산성의 향상 > JDBC와 SQL을 유지하면서도 훨씬 더 적은 코드로 JDBC 처럼 작동함. 3. 성능 > JDBC 보다는 속도가 빠르진 않지만 데이터의 추출 시점, 필요한 페이지 리스트 등 간단한 방법으로 컨트롤이 가능함 4. sql 문장과 프로그래밍 코드의 분리 5. 이식.. 2022. 4. 20.
객체 지향 설계와 스프링 스프링 프레임워크의 목적 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크. 즉, 자바의 가장 큰 특징인 객체 지향의 특징을 살려낸다! 자바의 특징 1. 다형성 - 역할과 구현을 분리한다. • 역할과 구현으로 구분하면 세상이 단순해지고, 유연해지며 변경도 편리해진다. 장점 - 클라이언트는 대상의 역할(인터페이스)만 알면 된다. - 클라이언트는 구현 대상의 내부 구조를 몰라도 되며, 내부 구조가 변경되든 자체를 변경하든 영향을 받지 않는다. 주의점 - 객체를 설계할 때 역할과 구현을 명확히 분리 • 역할 = 인터페이스 , 구현 = 인터페이스를 구현한 클래스, 구현 객체 - 다형성으로 인터페이스를 구현한 객체를 실행 시점에 유연하게 변경할 수 있다! 다형성의 본질 => 클라이언트를 변경하지 .. 2022. 3. 6.