Open iknowahra opened 2 years ago
<!-- views > form > viewer.jsp -->
<ul>
<li>title=${formTestVo.title}</li>
<li>contents=${formTestVo.contents}</li>
<li>discloser=${formTestVo.view}</li>
</ul>
궁금했던 점 : formTestVo는 getter, setter 형식으로 데이터를 꺼내고 저장할 수 있게 되어 있는데 왜 .jsp
파일에서는 formTestVo.title
이런 식으로 바로 가져올 수 있을까?
=> 이유는 jackson.core
라이브러리가 formTestVo를 변환해줘서 괜찮음....(이게 맞는 건지 여전히 궁금하네요....)
죄송합니다... 늦게 확인했네요....
제가 강의 중에 듣기로는 사용자가 post
형식으로 요청을 하였을 때 객체 타입의 데이터를 담아서 보내게 될 수 있습니다. 이 객체는 html 웹에서 전송을 하게 되면, json 형식으로 전송되는데 자바에서는 map 형식 ?? 으로 객체를 담기 때문에... 변환이 필요하고 이것을 jackson.core
라이브러리가 자동으로 인식하고 변환을 시켜주는 것 같습니다... 궁금하신 부분은 jstl 에 특징이라고 생각됩니다. jstl 에서는 객체 형식을 가져 와서 formTestVo.title
처럼 입력하였을 때 자동으로 getter
로 인식하게 설정을 하여서 formTestVo.title
형식으로 입력을 하여도 formTestVo.title.getter()
처럼 인식해서 가져오는 거 같습니다... 저도 자세히는 몰라서 제가 이해한 내용으로 전달 드립니다...
https://u-it.tistory.com/8 해당 블로그 내용을 참고 하시면 이해에 도움이 되실 거 같은데... 이해가 안되시면 수업 이전에나 이후에 궁금하신 점을 해결하는데 도움을 드리겠습니다.... 저도 잘 몰라서 공부하는데 도움이 될 거 같네요.. 감사합니다...
@choi-hyeongseok 오오!! 궁금한 점이 해결 되었습니다. 감사합니다!!
2021.10.12
이
web.xml
설정 파일이라서 스프링 파일을 실행하기 전에 위의 파일을 먼저 확인한다.post로 보내면 하나의 객체로 묶어서 보내는데, 이 객체가 어떤 타입인지 몰라서 한글이 깨짐. 이 한글 깨짐을 방지하기 위해서
web.xml
에서 하단의 필터를 이용해서 한글 깨짐을 방지한다. 모든 url에 대해서UTF-8
인코딩을 적용한 필터를 사용하겠다는 내용※ 주의!
.jsp
파일에서도UTF-8
설정이 되었는지 반드시 체크해줘야 한다.Getter n Setter
vo
는 데이터를 담기 위한 클래스다 (전자정부 프레임에서 VO를 주로 씀 = 실무에서 주로 사용) VO = Value Object 즉, 일반 클래스가 런타임 때 자료를 담기 위한 순수하게 value나 data만을 담기 위한 클래스란 뜻이다. 주로 퍼블릭 생성자와 속성(컨벤션에 맞는 getter/setter 조합)을 갖는 단순한 데이터를 담는 클래스를 의미한다.위의
FormTestVo
를 사용하기 위해선 json 데이터를 자바가 읽을 수 있는 Map으로 파싱해주는 패키지가 필요하다.jackson.core
는 maven repository 사이트에서 검색해서 원하는 버전을 찾아서pom.xml
파일에 다음과 같이 복붙해주면 된다.Jackson
은JSON
데이터를 출력하기 위한MappingJacksonHttpMessageConverter
를 제공한다. 만약 우리가 스프링 MessageConverter를 위의MappingJacksonHttpMessageConverter
으로 등록한다면, 컨트롤러가 리턴하는 객체를 다시 뜯어(자바 리플렉션 사용\),Jackson
의 ObjectMapper API로JSON 객체
를 만들고 난 후, 출력하여JSON
데이터를 완성한다.(출처 : Jackson에 대한 자세한 설명은 이곳을 클릭하세요)
Servlet 에서 Spring 으로 데이터 가져오기
기존의 servlet 방식에서 데이터를 가져오기
Spring의 annotation 으로 데이터를 가져오기
한 걸음 더 나아가서 vo 를 통해서 데이터를 저장하고 꺼내오기
과제 : 아래의 한 개 다운로드 하기 (미리 db주소를 주니까 연결해서 써보기)
HeidiSQL(가벼움), DBeaver (library를 설치하면 여러개의 db호환 가능), sqlyog (무거움)
국내에서 주로 쓰는 db : mssql, oracle(tibero), mysql
다음 시간에는 db query 를 배워보자...!