JSP

[JSP] Form 태그를 이용한 서블릿 처리

shb 2022. 3. 24. 15:58

* Form 태그를 이용한 서블릿 처리
form 데이터 다루기!
HTML 문서에서 서버로 데이터 보낼때(submit)는 반드시 <form> 안에 있는 name 값이 있는 form element 들을 통해서다.
GET방식이든, POST 방식이든 parameter에 담겨서 보내진다.  HTML의 name attribute가 있어야 parameter에 value를 담아 보내질 수 있다.

서버측의 Servlet 이든 JSP 이든 이 데이터들을 받아서 처리 가능하다. (사용객체, 메소드 동일)

 

* HTML 폼 만들기 : form.html
각각의 form element 들에는 반드시 name attribute 가 있어야 한다.


* 폼 데이터를 받을 서블릿도 작성

* 서블릿에서 폼데이터 처리하기
post 방식으로 전달받았으니 doPost() 에서 처리, 
request 객체의 메소드들을 사용하여 받아온 것들은 String 타입으로 받게 됩니다.
* 주의: name 값은 대소문자 구분한다!
getParameter(name)  →  String 리턴
getParameterValues(name)  →  String [] 리턴

웹에서 서버로 전달된 데이터는 일단 무조건 문자열로 받아오게 된다
해당되는 name 값이 없으면 null 리턴한다

* 톰캣 에서의 한글 처리 문제

톰캣서버의 default 문자 처리 방식은 ISO-8859-1 방식이다.
개발자는 별도의 한글 인코딩을 하지 않으면 한글이 깨질 수 있다.
get 방식과 post 방식의 한글처리가 다르다.
get 방식의 한글처리는 Servers/톰캣서버 폴더내에 있는 server.xml에서 
     <Connector >에 URIEncoding="utf-8"  추가,  (이후 서버 재시작 필!)

post 방식의 한글처리는 doPost메소드 내에서 설정한다.
     request.setCharacterEncoding("utf-8");

 

setCharacterEncoding() 추가

POST 방식으로 ‘한글’ 받아올때 반드시 setCharacterEncoding 처리 해주어야 한다.

 

* getParameterNames(),  getParameterMap()
request 넘어온 name들만 뽑아낼수도 있고,  name-value 쌍도 뽑아낼수 있다.
각각의 리턴타입에 주목

 

 

'JSP' 카테고리의 다른 글

[JSP] 내부객체  (0) 2022.03.24
[JSP] 태그, 지시자  (0) 2022.03.24
[JSP] - doGet, doPost  (0) 2022.03.22
[JSP] - 서블릿  (0) 2022.03.22
[JSP] - 파일생성, 동작 과정  (0) 2022.03.22