모든걸 ajax에서 처리하니까 이게 자바스크립트니까 모든 정보를 개발자모드에서 다 볼 수 있었다는 단점이 있었음 체크된거 여러개보낼때 비동기방식(자바스크립트)에서는 배열로 받음 동기방식에서는 여러값 하나의 이름으로 한번에 보냄 id=test1 and id=test2 이런식 로그인이 성공하면 여기로 가! 이런건 ajax로 못함 대신 기존페이지에 영향을 주지 않으면서 진행할 때 (체크하는것처럼) 실시간 감시같은거 다중 삭제 처리할 때 ajax가 유용함 보안성이 요구되거나 페이지 이동해야한다면 - 동기방식 페이지 요청한 곳에서 바로 반응하고 페이지가 날라가면 안된다 - 비동기 방식 paging 몇번에서 몇번까지만 가져와 페이징 관련 라이브러리 ] 잭슨과 잭슨코어, 까지 설명해줘야함 login.jsp -> /l..

해쉬맵을 쓰는 이유: 자바스크립트의 데이터 형식이 key와 value로 이루어져있어서 그걸 담기위해 자바에서 가장 비슷한 데이터 형식인 hashmap을 사용해줌 Jackson 라이브러리 쓰는 이유: 자바를 json으로 바꿔주거나 json을 자바로 바꾸는데 사용할 수 있는 라이브러리 데이터는 레퀘스트를 사용할수없어서 @reponsebody 사용함 해쉬맵은 자바 클래스여서 해석할 수 없어서 pom.xml에다가 json이라는 라이브러리를 추가한거임 그러면 컨트롤러에서 반환하는 값을 레스펀스에 담아서 전송하게됨 해쉬맵은 클래스지만 자바스크립에서 알아볼수있게 자바스크립트 오브젝트로 변경해서 보내준다 success가 됐을 때 그 이후에 실행하니까 콜백함수라고 함 아작스를 통해서 다른 html불러올수있다 1. 아작스..
Ajax asynchronous java and xml java와 비동기 방식의 xml을 활용해서 서버와 통신하는 방식 (최근에는 xml보다 json을 더 많이 사용한다) 일을 동시에 처리할 수 있는 비동기 방식이 가능한 이유 : 중간에 대리인이 있어서 할 수 있었음 ajax에서는 그게 XMLHttpRequest라는 객체임 (만약 얘를 안쓰면 받을 내용이 화면에 그대로 떠버렸음) jQuery를 활용해서 Ajax를 사용하기 제이쿼리를 사용하면 코드가 간단해지며, 크로스브라우징 문제를 해결해줌 제이쿼리에서 제공하는 함수 : $.ajax([setting]) ajax 로 html 내용 읽어오기 1번 팝업 2번 팝업 3번 팝업 // ---------------------------------------------..
list 만드는 법 1. list 만들 땐 Model 객체를 인자값으로 넣어라 진짜 그래야 SELECT해 온 값을 list.jsp로 보내겠지 2. service.list()에서 가져온 값을 ArrayList에 담는데 데이터 타입은 변수도 정함 3.model.addAttribute("저장할 이름",저장할 값) 해서 저장 4. list.jsp로 보내 write 만드는 법 1. method는 post로 2. 인자값으로는 photo, 그리고 hashmap(@requestparam필요) hashmap????? 왜냐면 key와 value 두 가지가 있잖아 3. controller에서는 별별거안하고 service.write()로 인자값들 태워서 보내줘 detail 만드는 법 1. 인자값에 model객체와 idx (d..

json관련 라이브러리 com.fasterxml.jackson.core jackson-databind 2.9.4 com.fasterxml.jackson.core jackson-core 2.9.4

DB에 바이너리 담을 순 있지만 그렇게하면 용량이 너무 커져서 그래서 파일이 저장된 위치정보를 저장해두다가 그 위치를 불러옴(그 위치정보를 담은 String만 db에 저장함) 파일을 추가하고 그 idx을 알아야 photo를 넣을 수 있음 스프링에서 가장 최근에 insert된 idx 구하기 왜하냐? 글을 작성하고 list로 보내는 것이 아니라 detail로 보내기 위함(그러려면 idx가 필요함) 1. 파라메터를 보낼 때 데이터타입은 BoardDTO 로 해야함 (hashmap은 안됨, 스프링 규칙임) 2. generatedKey 옵션을 사용해야한다 useGeneratedKeys="true" // 이 키 사용할 거야?? keyColumn="idx" // 가져올 키 컬럼의 이름 keyProperty="idx" ..