4. 질의문자열

질의문자열

  • 웹클라이언트에서 웹서버에 정보를 요청할 때 정해진 방식으로 전달되는 문자열
  • name=value 형식으로 전달되며 여러 개가 있을 경우 & 로 구분
  • 아스키코드를 제외한 글자는 인코딩되어서 서버에 전달되므로 다시 서버쪽에서는 디코딩을 해줘야 문자열이 깨지지 않음
 id=hong&age=20&name=%C8%AB   
 =>  request.setCharacterEncoding("UTF-8");

요청방식

  • get 방식은 질의문자열을 보낼 때
    1. 데이터 크기에 제한(255바이트, 초과시 414 오류코드)
    2. URI에 추가되어 전달 : insert.do?id=hong&age=20&name=%C8%AB
    3. 데이터가 외부에 노출되므로 주로 조회 시 사용
  • post 방식으로 질의문자열을 보낼때
    1. form 태그의 method 속성을 post 했을때만 요청 가능함.
    2. 요청정보의 몸체에 포함
    3. 인코딩해서 보내므로 다시 디코딩해야함.
    4. 등록과 수정 시 사용

질의문자열 추출

String id = request.getPArameter("input태그 name")
String[] hobby = request.getPArameterValues("input태그 name")
Map<String, String[]> map = request.getPArameterMap()

5. 서블릿

  • 서블릿이란
  1. 웹에서 클라이언트로부터 요청을 받아서 실행되는 자바프로그램
  2. JAVA 언어를 사용하여 웹프로그램을 제작
  • 서블릿 매핑
  1. 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>   
  1. 자바 어노테이션(@WebServlet)을 이용한 매핑
 @WebServlet("/empList")
 public class EmpServ extends HttpServlet {}
  • context path

  • 서블릿 만들기
    1. HttpServlet
    2. Request, Response
    3. doGet()
    4. doPost()
  • 서블릿 실행방식
    1 하나의 프로세스를 생성하고 service()는 쓰레드로 실행 2 서블릿 변수 : 여러 클라이언트가 공유해서 사용해야 하는 데이터는 맴버변수로 선언, 각각의 클라이언트가 독립적으로 사용해야 하는 데이터는 지역변수로 선언

Categories:

Updated: