1. Web 환경은 HTTP 프로토콜 위에서 동작하고 있다.
HTTP 프로토콜은
클라이언트가 서버에 무언가를 요청(request)하면,
서버가 이 요청에 해당하는 것을 응답(response) 해주는 구조로 되어있다.
2. HTTP 요청을 보낼 때, 파라미터를 함께 끼워 보낼 수 있다.
로그인을 할 때 로그인 폼을 입력하고 버튼을 누르면,
HTTP 요청 안에 폼 내용이 함께 끼워져서 서버로 날아간다.
로그인 폼 내용이 바로 HTTP 요청의 파라미터가 된다.
3. HTTP 요청의 파라미터 값을 얻기 위해 사용하는 것이 request.getParameter() 메서드다.
가령, 로그인 폼에 ID를 입력하는 <input type="text" name="id">가 있었다면,
서블릿에서 String strId= request.getParameter("id"); 방식으로
클라이언트가 입력한 ID가 뭐였는지 알 수 있다.
로그인에 성공했다면,
클라이언트 회원 정보를 DB에 읽어서 페이지에 뿌린다.
그러려면, 서블릿은 회원 정보를 JSP에 보내줘야 한다. 그래야 뿌릴 수 있다.
이걸 어떻게 할 수 있을까?
4. 다른 곳으로 정보를 넘겨주기 위해서 request 객체의 속성(attribute)를 사용한다.
더 정확하게는, 웹 상에서 정보를 공유하기 위해서 attribute을 사용한다.
가령, 회원 정보 중에서 '취미'를 JSP에게 넘겨주기 위해서,
서블릿에서 request.setAttribute("hobby", strHobby); 로 attribute를 집어 넣고,
JSP에서 <% String strHobby= (String)request.getAttribute("hobby"); %>로 attribute를 얻는다.
단순히, DB에서 뭔가를 꺼내와서 request 객체에 넣을 때는 set이고 꺼낼 때는 get이다.
setAttribute(), getAttribute()에서 속성 값으로 사용하는 타입은 Object다.
Vector로 넘겨주면 Vector로 타입 캐스팅하고 받아온다.
'JSP' 카테고리의 다른 글
[수업] Bean, 액션 태그, Redirect/Forward (0) | 2022.07.21 |
---|---|
MultipartRequest를 이용한 파일 업로드 (0) | 2022.07.19 |
자바 빈 getProperty, setProperty (0) | 2022.07.09 |
PrintWriter script = response.getWriter(); (0) | 2022.07.02 |
세션 (0) | 2022.07.02 |