달력

92021  이전 다음

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
  •  
이번 글에서는 JSP의 키워드들을 이용해서 프로그램을 짜는 법을 알아보겠습니다.
전체 키워드들 나열해봤자 머리에 남는 것은 별로 없을 테니, 어떤 경우에 어떤 키워드가 사용되는지 예를 들어가면서 설명하겠습니다.

브라우저에 정보를 보내는 방법에 대해서 알아보고 그때 사용되는 명령어들을 알아보겠습니다.
브라우저 주소줄을 통해서 질의문을 보낼 수 있습니다. 이것을 쿼리스트링(query string) 이라고 합니다. 형식은 페이지 주소 뒤에 ? 를 쓰고 그 이후에는 키=값&키=값& 의 쌍으로 데이터를 보낼 수 있습니다.
이렇게 보낸 정보는 jsp 에서 request 객체를 통해서 얻을 수 있는데 다음과 같은 형식입니다.

String name = request.getParameter("name");

쿼리스트링에 있는 키를 파라미터라고도 부릅니다. 파라미터의 값을 불러와서 스트링 변수인 name에 할당하는 것이죠.
이것을 이용해서 프로그램을 하나 짜보도록 합니다.

<소스 1> param.jsp 파라미터를 받아서 출력
안녕하세요. <%= request.getParameter("name") %> 님

저장할 때 UTF-8로 저장하는 것은 잊지 않으셨죠.
브라우저 주소에 다음과 같이 입력해서 호출합니다.
http://localhost:8080/param.jsp?name=kenu

결과 화면은 다음과 같을 것입니다.
parameter 표시

parameter 표시


만약 쿼리스트링이 빠져있다면 어떻게 될까요.
http://localhost:8080/param.jsp
이렇게 말이죠.
아마도 결과는 다음과 같이 나올 것입니다.

안녕하세요. null 님

안녕하세요. null 님


서버가 널널해서 null이 나온 것은 아닐 겁니다.
null의 의미는 없다라는 뜻입니다. 4글자의 단어로 출력이 되었지만
메모리 할당도 없고, 아무 것도 없다는 것입니다.

그럼 다음 주소로 요청을 보내면 어떻게 될까요?
http://localhost:8080/param.jsp?name=
결과는 이렇게 나오죠?

안녕하세요. 님

안녕하세요. 님



헛, 결과가 다르네요. 모두 값이 없는데.
더 정확히 말하면 빈문자열은 값이 있습니다.
null은 파라미터 존재 자체가 없는 것이구요.
프로그램을 좀 다듬어 보겠습니다.


<소스 2> paramNull.jsp
<%
   String name = request.getParameter("name");
   if (name == null) {
       name = "";
   }
%>
안녕하세요 <%= name %> 님

아주 가볍게 파라미터를 처리하는 방법을 보았습니다.
다음 글은 조금 길어질텐데 로그인이나 회원가입 같은 입력 폼을 통해서
데이터를 받는 방법을 설명하겠습니다.

좋은 하루 되세요.
Posted by 케누 kenu허광남
TAG ,

댓글을 달아 주세요

  1. guest  댓글주소 수정/삭제 댓글쓰기 2007.03.08 11:23

    okjsp에 게시판 내용보기 주소가...
    http://www.okjsp.pe.kr/seq/번호 로 되어 있는건 어떤 방식인가요?
    Filter방식을 사용한건가요?