반응형
- 서블릿(Servlet) - 조각나 있는 서버 애플리케이션 Server Application Let
- 수많은 기능 중 요청이 들어온 기능만 실행
- service라고하는 함수를 통해 프로그램 만듦
- WAS에서 로딩되어 서블렛 실행
- 하지만 클래스명을 사용할 수 없으니 약속되어있는 인터페이스명이라던지 추상 클래스 사용해서 서블릿 참조
▶ 웹 인포(WEB-INF) 폴더 안은 특별한 영역 안에 있는 자료들이다. (비공개 영역)
- 실행되지도 않고 서버 쪽에서만 사용할 수 있는 영역 ;
- 사용자는 볼 수도 요청할 수도 없음. 그래서 컴파일된 클래스 파일이 보관됨?
▶ 서블릿이 실행되는 과정 - 사용자가 웹서버+WAS에 요청을 하면 요청된 URL과 매핑된 Sevlet 코드를 찾아서 실행
사용자는 매핑된 URL을 사용해서 접속하게 된다.
web.xml 에서 매핑 정보 추가하기
입출력 API
- HttpServletRequest request 서블릿에서 요청 도구를 사용하기 위해 request 객체 생성
- HttpServletResponse response 서블릿에서 응답 도구를 사용하기 위해 response 객체 생성
인코딩 방식과 콘텐츠 형식 지정하기
- 서블릿에서는 인코딩 방식을 지정해 주지 않으면 브라우저에서 한글이 깨질 수 있다.
- 웹서버는 ISO-8859-1 방식으로 인코딩하기 때문에 한글을 지원하지 않는다.
- SO-8859-1 방식은 한 글자를 1byte씩 해석한다.
- 하지만 한글은 한 글자가 2byte인데 1byte씩 해석하려 교하니 깨지는 현상이 발생한다.
- 서블릿에서 콘텐츠 형식을 지정해 주지 않으면 브라우저가 자의적으로 해석한다.
- 인코딩 방이 지정돼있지 않아서 크롬 하고 에지, 익스플로러 모두 한글이 깨진다.
- 콘텐츠 형식도 지정되어있지 않아서 크롬, 에지는 text 형식, 익스플로러는 html 형식으로 자의적 해석을 한다.
※ 응답하는 내용의 인코딩 방식을 지정
response.setCharacterEncoding("UTF-8");
▶ 브라우저가 인코딩방식을 자의적으로 한국어(EUC-KR)로 설정하는 경우도 있기 때문에 밑에 그림처럼 깨져 보일 수 있다. 그럴 때는 오른쪽 버튼을 클릭해서 인코딩 방식을 UTF-8로 변경해주면 된다.
★ 하지만 그것보다는 콘텐츠 방식을 지정해 줄 때 인코딩 방식도 같이 지정해주면 위 그림처럼 깨질 걱정을 안 해도 된다.
※ 이 코드를 사용해서 UTF-8 방식의 html문서로 읽으라고 지정해 준다.
response.setContentType("text/html ; charset=UTF-8" );
GET 요청
클라이언가 웹문서를 요청 --> 서버는 그에 해당되는 응답
클라이언트의 요청에 옵션이 있을 수 있다. (쿼리스트링)
※ 쿼리스트링의 파라메터를 가져올 때는 무조건 문자타입(String)으로 가져온다.
그런데 이번에 내가 써야 할 타입은 정수타입이므로 타입변환해줘야한다.
요청한 파라메타 값만큼 문장출력
반응형
'JSP&Servlet' 카테고리의 다른 글
기초 (0) | 2022.05.29 |
---|---|
동기식&비동기식 그리고 ajax (0) | 2022.05.11 |
<form>태그의 데이터 전송 (0) | 2022.05.10 |
Jsp/Servlet - 상대경로, 절대경로 (0) | 2022.05.09 |
JSP/ MVC모델 (0) | 2022.04.29 |