지난번에 memJoin 에서 커맨드방법으로 받아올 때에
jsp 에서 member.memId 이렇게 바로 써줬었다.
그런데 이제
다음과 같이 써줌으로써
다음과 같이 mem. 을 이용하여 사용할 수 있다.
ModelAttribute는 또 어떻게 사용할 수 있냐면 메서드는 항상 공통적으로 어느메서드를 호출되던지간에 그 속성에 있는 이름을 그대로 view에서 이용할 수 있다는 것이다.
컨트롤러에 다음과 같이 지정을 해놓으면
memJoin.jsp 에서 저렇게 serverTime을 적어주면 나오게된다.
컨트롤러에서 뷰에 데이터를 전달하기 위해서 Model 이라는 객체를 사용했다.
ModelAndView라는 객체도 있는데 이것은 데이터 뿐만이 아니라 데이터와 뷰의 이름을 같이 전달한다.
다음과 같은 차이가 있다. public String 에서 public ModelAndView로 바뀐 것을 확인할 수 있다.
ㅡㅡㅡㅡ
세션과 쿠키
세션과 쿠키는 클라이언트와 서버의 연결 상태를 유지해주는 방법으로,
세션은 '서버'에서 연결 정보를 관리하고
쿠키는 '클라이언트'에서 관리한다.
세션을 받아오는 두 과정에는 다음과 같은 차이가 있다.
이는 세션을 삭제할 때에도 동일하게 진행된다.
쿠키에 대해 보자
일단 form 태그의 path 속성에 대해 알아야한다.
path 는 바인딩 되는 커맨드 객체의 프로퍼티를 지정한다.
일단 이곳을 확인해서 form 태그에 대해 잘 숙지해놔야 한다.
https://offbyone.tistory.com/325
@CookieValue Annotation을 이용하면 쿠키 값을 파라미터로 전달받을 수 있다.
존재하지 않으면 기본적으로 500에러를 발생할 수 있기 때문에 쿠키가 필수가 아닌 경우에는 required 속성의 값을 false 로 지정해 주어야한다. default 값은 true 이다. 만약 false로 지정하고 해당 쿠키가 존재하지 않으면 null 값으로 받게 된다.
index 들어오면 쿠키 값을 확인한다. 유무 확인 후 index.jsp 로 보낸다.
여기서 커맨드객체를 이용하기 위해서 커맨드 네임을 mall 로 두었다.
이제 쿠키를 만드는데 gender 라는 이름에 커맨드 객체 mall.getGender를 통해 index에서 체크한 값을 집어 넣는다.
그리고 response.addCookie를 통해 만들고 main.jsp 로 이동
mall의 gender를 확인해서 화면에 나타나게 한다.
추가적으로 알아봐야 할 내용
커맨드 객체에 대해 자세히 알아보기.
'공부 기록들' 카테고리의 다른 글
2020.04.07 Spring(7) - JDBC 및 오류(ORA-28040,ORA-01017),템플릿, 커넥션풀 (0) | 2020.04.07 |
---|---|
2020.04.06 Spring(6) (0) | 2020.04.06 |
2020.04.03 Spring (4) (0) | 2020.04.03 |
2020.04.01 SQL (0) | 2020.04.02 |
2020.03.27 Spring(3) (0) | 2020.03.30 |