servlet
4. 질의문자열
질의문자열
- 웹클라이언트에서 웹서버에 정보를 요청할 때 정해진 방식으로 전달되는 문자열
- name=value 형식으로 전달되며 여러 개가 있을 경우 & 로 구분
- 아스키코드를 제외한 글자는 인코딩되어서 서버에 전달되므로 다시 서버쪽에서는 디코딩을 해줘야 문자열이 깨지지 않음
id=hong&age=20&name=%C8%AB
=> request.setCharacterEncoding("UTF-8");
요청방식
- get 방식은 질의문자열을 보낼 때
- 데이터 크기에 제한(255바이트, 초과시 414 오류코드)
- URI에 추가되어 전달 : insert.do?id=hong&age=20&name=%C8%AB
- 데이터가 외부에 노출되므로 주로 조회 시 사용
- post 방식으로 질의문자열을 보낼때
- form 태그의 method 속성을 post 했을때만 요청 가능함.
- 요청정보의 몸체에 포함
- 인코딩해서 보내므로 다시 디코딩해야함.
- 등록과 수정 시 사용
질의문자열 추출
String id = request.getPArameter("input태그 name")
String[] hobby = request.getPArameterValues("input태그 name")
Map<String, String[]> map = request.getPArameterMap()
5. 서블릿
- 서블릿이란
- 웹에서 클라이언트로부터 요청을 받아서 실행되는 자바프로그램
- JAVA 언어를 사용하여 웹프로그램을 제작
- 서블릿 매핑
- web.xml에서 <servlet> 태그를 이용한 매핑
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
<servlet-mapping>
- 자바 어노테이션(@WebServlet)을 이용한 매핑
@WebServlet("/empList")
public class EmpServ extends HttpServlet {}
-
context path
- 서블릿 만들기
- HttpServlet
- Request, Response
- doGet()
- doPost()
- 서블릿 실행방식
1 하나의 프로세스를 생성하고 service()는 쓰레드로 실행 2 서블릿 변수 : 여러 클라이언트가 공유해서 사용해야 하는 데이터는 맴버변수로 선언, 각각의 클라이언트가 독립적으로 사용해야 하는 데이터는 지역변수로 선언