JSP&Servlet

서블릿/JSP 정리01

야생늑대 2022. 5. 5. 20:48
반응형
  • 서블릿(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