본문 바로가기

학원/JSP - 학원

서블릿에서 한글처리와 폼 데이터 처리

728x90

웹 브라우저에 응답하는 페이지의 한글 처리하기

 

위의 경우처럼 한글이 ?로 뜨는 등 깨지는 경우가 발생할 수 있다. 이런경우에는 아래의 방식으로 인코딩을 해서 사용해야 한다.

 

 

<예제>

 

 

아까 전에 만들었던 Hello World 파일에 한글을 넣으면 이렇게 한글이 깨져서 나오게 된다.

 

 

이제 위의 코드처럼 charset에 한글처리를 해준 이후에는

 

 

한글이 제대로 출력된다.

 

폼 태그의 get/post 방식

 

 

위의 결과가 나오도록 하기 위해선 아래의 예제처럼 만들면 된다.

 

<예제>

 

 

html에서 form의 내용은 Method 서블릿을 찾아가서 get 혹은 post로 호출한 것을 찾아간다.

- html의 액션에서 서블릿의 이름을 찾아간다.

 

쿼리 스트링 처리

 

- 1, 2를 나누는 것은 ?로 ?앞은 url, 뒤는 쿼리 스트링이라고 한다.

- 쿼리 스트링이 모두 나타난 것으로 보아 get방식이 사용된 것임을 알 수 있다.

- 쿼리 스트링에서 '+'는 각기 다른 정보를 이어주는 것으로 보인다.(id + ps + 사용자 처럼)

 

입력 형식 태그

 

요청(request) 객체의 파라미터 관련 메소드

 

- 서블릿 파일을 만들면 자동으로 요청과 응답 객체가 매개변수로 들어오게 됨

- 위는 매개변수가 문자열

- 아래는 String의 배열

 

<예제>

- 참고로 실행은 html에서 실행해야 한다. html에서 정보를 서블릿으로 보내야하기 때문

 

 

- HTML파일

- charset이 원래는 euc-kr이었는데, 이러면 출력 값에서 한글이 깨져서 나왔기 때문에 utf-8로 변환

- value는 넘어가는 값이고, 앞은 표시되는 값

 

 

- 서블릿 파일

- request.setCharaterEncoding("utf-8");을 생략해도 값이 제대로 출력된다.

(이전버전에서의 문제점이 고쳐졌다고 한다.)

 

 

이런 오류가 발생했을 때는 서버 창에 들어가서

 

저기의 포트 번호를 바꿔주면 된다.

 

쿼리 스트링에 대한 한글처리하기

 

- 인코딩 : 문자를 코드(유니코드)로

- 디코딩 : 코드를 문자로

- 이 과정은 현재 버전에서는 필요가 없다는 것을 위의 예제로 확인 함(tomcat 9.0버전 이상)

 

요청 객체의 getParameterValues메소드

<예제>

 

 

- HTML 파일

 

 

- 서블릿 파일

 

 

728x90

'학원 > JSP - 학원' 카테고리의 다른 글

request와 response 객체  (0) 2022.03.02
지시자  (0) 2022.03.02
JSP 원리 분석과 구성요소  (0) 2022.03.02
서블릿의 동작원리와 라이프 사이클  (0) 2022.02.28
서블릿(Servlet)과 JSP 프로그래밍  (0) 2022.02.28