금요일부터 일요일까지 혼자서 익명게시판을 만들어보는 시간을 가졌다. 그러면서 느낀점은 분명 강사님과 함께 만들어보았던 것을 복습하면서 스스로 만들어보았는데 혼자 하려니 아직 많이 어렵고 에러가 많이나서 속상하기도 했다. 그러나 나에게는 아직 시간이 많이 남아 있고 그동안 혼자서 정리했던 것을 이 블로그에 차근차근 적어가면서 더욱더 열심히 공부해야겠다고 느꼈다.
오늘은 강사님과 함께 익명게시판 만드는 법을 다시 복습해보는 시간을 가졌다.
먼저, 모든 코딩에 앞서 어떻게 진행해야할지에 대해 그림을 그려보는 것이 중요하다는 것을 한 번 더 말씀해주시면서 구조에 대해 설명해주셨다.
그리고 주말과제에서 내가 처음 접해본 리뷰 부분에 대해서도 설명해주셨다. 사실 같은 구조로 생각했으면 됐는데 처음이라고 생각하고 망설였던 부분들이 많았고 그 점들이 아쉬웠다.
- 리뷰조회 (GET 요청) -
- 리뷰등록 (POST 요청) -
- 리뷰삭제 (GET 요청) -
이렇게 오전 수업에서 간단하게 주말과제에 대해 설명을 해주시고 오후 수업에서 쿠키와 세션에 대해 설명을 해주셨다.
이번주부터 배울 것은 로그인과 로그아웃 기능들이다. 그러나 로그인과 로그아웃을 알기 전 먼저 HTML의 특징에 대해 알아야 한다.
HTTP는 브라우저와 웹서버 사이에 교환되는 메세지의 형식을 정의한 프로토콜이다.
서버에서 사용자 인증이 완료되면 해당 사용자정보를 세션객체에 담고, 해당 세션객체를 웹서버가 가지고 있다.
브라우저에게 세션의 아이디를 쿠키정보로 만들어서 내려보낸다.
브라우저는 요청할 때마다 매번 세션아이디를 서버로 보내고,
웹서버에서는 세션아이디에 해당하는 세션객체를 조회해서 사용자정보를 획득하는 방식이다.
쿠키에 비해서 사용자 정보에 대한 보안이 우수하다.
sample-8.jsp
<body>
<h1>쿠키를 이용해서 정보를 서버로 전달하기</h1>
<%
// 클라이언트에서 서버로 보낸 쿠키정보 조회하기
String searchOption = null;
String searchKeyword = null;
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
// 쿠키의 이름을 조회한다.
String name = cookie.getName();
if (name.equals("search-opt")) { // 쿠키의 이름이 search-option 인 경우
String value = cookie.getValue();
searchOption = value;
} else if (name.equals("search-keyword")) { // 쿠키의 이름이 search-keyword 인 경우
String value = cookie.getValue();
searchKeyword = value;
}
}
%>
<h3>최근 검색옵션과 검색어가 폼에 표시되도록 하기(검색옵션과 검색어가 유지되게 하기) </h3>
<form method="get" action="sample-9.jsp">
<select name="opt">
<option value="" selected="selected" disabled="disabled"> 선택하세요</option>
<option value="title" <%="title".equals(searchOption) ? "selected" : "" %>> 제목</option>
<option value="author" <%="author".equals(searchOption) ? "selected" : "" %>> 저자</option>
<option value="publisher" <%="publisher".equals(searchOption) ? "selected" : "" %>> 출판사</option>
<option value="content" <%="content".equals(searchOption) ? "selected" : "" %>> 내용</option>
</select>
<input type="text" name="keyword" value="<%=searchKeyword != null ? searchKeyword : "" %>">
<button type="submit">검색</button>
</form>
</body>
sample-9.jsp
<body>
<h1>검색 결과를 출력한다.</h1>
<%
String opt = request.getParameter("opt");
String keyword = request.getParameter("keyword");
Cookie cookie1 = new Cookie("search-opt", opt);
Cookie cookie2 = new Cookie("search-keyword", keyword);
response.addCookie(cookie1);
response.addCookie(cookie2);
%>
<h3>검색 결과</h3>
<p>검색 옵션 : <%=opt %></p>
<p>검색 키워드 : <%=keyword %></p>
</body>
- 쿠키가 저장되어 있는 모습 -
- 검색했던 내용이 쿠키에 남아있는 모습 -
- 자바 서블릿 / JSP의 주요 객체 -