일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 티스토리챌린지
- http 메시지 컨버터
- fielderror
- equals()
- 참조변수
- 코드트리조별과제
- 김영한
- 코딩테스트
- 의존관계
- 스프링컨테이너
- 다형성
- java
- @configuration
- 테스트코드
- 추상클래스
- 인터페이스
- JSON
- 스프링
- DI
- 서블릿
- objecterror
- HttpServletResponse
- html form
- ocp
- 백준
- 오버라이딩
- 프록시
- 코드트리
- 싱글톤
- 오블완
- Today
- Total
목록TIL (147)
minOS
서블릿 예외 처리 - 시작스프링이 아닌 순수 서블릿 컨테이너는 예외를 어떻게 처리하는지 알아보자.서블릿은 다음 2가지 방식으로 예외 처리를 지원한다.1) Exception2) response.sendError(HTTP 상태코드 , 오류 메세지)1)Exception(예외)- 자바 직접 실행 자바의 메인 메서드를 직접 실행하는 경우 `main` 이라는 이름의 쓰레드가 실행된다. 실행 도중에 예외를 잡지 못하고 처음 실행한 `main()` 메서드를 넘어서 예외가 던져지면, 예외 정보를 남기고 해당 쓰 레드는 종료된다.- 웹 애플리케이션 웹 애플리케이션은 사용자 요청별로 별도의 쓰레드가 할당되고, 서블릿 컨테이너 안에서 실행된다. 애플리케이션에서 예외가 발생했는데, 어디선가 try ~ catch로 예외..
스프링 인터셉터 소개스프링 인터셉터도 서블릿 필터와 같이 웹과 관련된 공통 관심 사항을 효과적으로 해결할 수 있는 기술이다.서블릿 필터가 서블릿이 제공하는 기술이라면, 스프링 인터셉터는 스프링 MVC가 제공하는 기술이다. 둘다 웹과 관련된 공통 관심 사항을 처리하지만, 적용되는 순서와 범위, 그리고 사용방법이 다르다.스프링 인터셉터 흐름HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러 - 스프링 인터셉터는 디스패처 서블릿과 컨트롤러 사이에서 컨트롤러 호출 직전에 호출 된다.- 스프링 인터셉터는 스프링 MVC가 제공하는 기능이기 때문에 결국 디스패처 서블릿 이후에 등장하게 된다. 스프링 MVC의 시작 점이 디스패처 서블릿이라고 생각해보면 이해가 될 것이다.- 스..
서블릿 필터 - 소개필터는 서블릿이 지원하는 수문장이다. 필터의 흐름HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 필터를 적용하면 필터가 호출 된 다음에 서블릿이 호출된다. 그래서 모든 고객의 요청 로그를 남기는 요구사항이 있다면필터를 사용하면 된다. 참고로 필터는 특정 URL 패턴에 적용할 수 있다. `/*` 이라고 하면 모든 요청에 필터가 적용된다.필터 제한HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 컨트롤러 //로그인 사용자HTTP 요청 -> WAS -> 필터(적절하지 않은 요청이라 판단, 서블릿 호출X) //비 로그인 사용자필터에서 적절하지 않은 요청이라고 판단하면 거기에서 끝을 낼 수도 있다. 그래서 로그인 여부를 체크하기에 적합하다.필터 체인HTTP 요청 -> W..
ch9-4 hashCode()- 객체의 해시코드(hash code)를 반환하는 메서드- Object클래스의 hash code()는 객체의 주소를 int 로 변환해서 반환public native int hashCode(); - equals()를 오버라이딩하면,hasCode()도 오버라이딩해야 한다. 왜냐면 equals()의 결과가 true인 두 객체의 해시코드는 같아 야 하기 때문이다. ch9-5~6 toString(), toString()의 오버라이딩- toString(): 객체를 문자열(String)으로 변환하기 위한 메서드public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()..
ch9-1 Object클래스- 모든 클래스의 최고 조상 , 11개의 메서드만을 가지고 있다.- notify(),wait() 등은 쓰레드와 관련된 메서드이다. - 이 클래스는 java.lang 패키지에 속해 있으며, 모든 객체가 공통으로 가져야 할 기본적인 메서드들을 제공합니다. ch9-2 equals(Object obj) - 객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 true 다르면 false. - Object 클래스의 equals()는 객체의 주소를 비교(참조변수 값 비교)public boolean equals(Object obj) { if (this == obj) { return true; //주소가 같으면 true } // 추가 내용}예제cla..
로그인 처리하기 - 서블릿 HTTP 세션1세션이라는 개념은 대부분의 웹 애플리케이션에 필요한 것이다. 어쩌면 웹이 등장하면서 부터 나온 문제이다. 서블릿은 세션을 위해 `HttpSession` 이라는 기능을 제공하는데, 지금까지 나온 문제들을 해결해준다. 우리가 직접 구현한 세션의 개념이 이미 구현되어 있고, 더 잘 구현되어 있다.HttpSession 소개서블릿이 제공하는 `HttpSession` 도 결국 우리가 직접 만든 `SessionManager` 와 같은 방식으로 동작한다. 서블릿을 통해 `HttpSession` 을 생성하면 다음과 같은 쿠키를 생성한다. 쿠키 이름이 `JSESSIONID` 이고, 값은 추정 불가능한 랜덤 값이다. `Cookie: JSESSIONID=5B78E23B513F50164..