목록Spring Framework (26)
Today I Learned

설정 나누기 필요한 라이브러리를 추가하고, 그에 따른 설정을 servlet-context.xml 또는 root-context.html에 한꺼번에 추가했었는데, 기능이 많아질수록 담을게 많아짐 그래서 설정을 나눠 가독성을 좋게 할 예정 1. import를 활용하기 접속정보만 담고있는 폴더 마이바티스 사용설정만 담고 있는 폴더를 만들거임 (js,css,img 등 프론트 관련 폴더는 밑에 resources 폴더에, 설정 관련 폴더는 src/main/resources 이곳에!) - 접속정보를 담을 datasource.xml 만들기 1.오른쪽마우스 - new - 폴더 - config 만들기 2. config - 오른쪽마우스 - new - Spring Bean Configuration File- datasource..

페이징 - 웹에서 함 모바일의 경우 더보기로 많이 표현됨 먼저 페이징 관련 라이브러리 추가해주기 페이징은 플러그인을 많이 쓴다 / 자바스크립트로 쓰기도 하나봄 페이징에 관련된 라이브러리 - 사용법이 가장 쉬운걸로 추가함 옵션이 없어서 커스텀마이징이 제한적 : js폴더에 추가해줌 추가한 라이브러리가 총 4개 코드 : 부트스트랩 관련 라이브러리, 제이쿼리도 그에 맞는 버전에 씀 - 신경쓸필요없음 프론트에서 알아서 해줘 복붙하기 제이쿼리 플러그인 - 제이쿼리 없으면 안됨 + 부트스트랩 홈페이지에서 가져오면? 예쁜 ui로 페이징을 할 수 있음 plugin 사용법 : list.jsp (tbody id="list" 태그 밑에 넣어줌 ) 1. pagePerNum을 파라메터로 받아서 controller로 보내고, 게시..

수정하기 - > 수정페이지 이동 -> 상세정보 요청 -> 가져온 상세 정보를 input에 뿌려주기 (아작스가 아닌 경우의 링크 : onclick="location.href='updateForm.go?idx=${dto.idx}'" ) 여기서 수정하기 버튼을 눌렀을 때, 상세보기의 idx를 가지고와야하는데 파라메터를 어떻게 가지고 와야하는지 고민함! 함수를 만들어서 거기서 idx를 가지고 와서 페이지이동을 한다. (Detail.jsp에서 Idx를 얻을 수 있으니까) - Controller 에서 페이지 이동을 할 때. 파라메터에서 idx를 가지고 와서 session에 저장을 해준다 -> detail.ajax(요청에 필요) #content에 html() 로 넣어서 반영이 됐던건 얘는 textarea태그라서 그런..

10_AjaxBoard 아작스의 한계 - 페이지 이동이 안됨 아작스할때 문자열이나 변수 싱글쿼터 더블쿼터 천천히 잘 정리하기! 데이터가 어떻게 들어오는지 먼저 콘솔로 찍어보고 확인 후에 어떻게 받을지 생각해야함 Hash map key는 무조건 String 으로, 값은 어떤걸 받을지 모르니까 object 파라메터는 모든게 문자열로 들어오니까 HashMap 글쓰기 상세보기 수정하기 등등 모두 세션체크 해줄거임(로그인 여부 확인) 여러개의 컬럼의 데이터를 가져와야한다 - dto 클래스 이용 1.리스트 보여주기 - 아작스로 리스트 보여주기는 컨트롤러 서비스 모두 비슷하게 씀 list를 가져와서 hashmap에 담는 것 기억하기 - 아작스로 리스트 구현 시, mapper에 *쓰지말기 - 개발자 도구창에서 사용자가..

10_AjaxBoard 실제로 100퍼아작스는 없음 : 왜냐면 : 보안성이 안좋고 페이지이동이안되서 불편함 메인(ex login,jsp) 만 가는 컨트롤러는 최초생성된 home컨트롤러에 설정 (이 컨트롤러엔 이거 하나만 있음) 라이브러리 추가해주기 (잭슨 라이브러리와 db관련 라이브러리 & 설정) 라이브러리에 대한 설정은 servelet이랑 root인데 모르면 넣어보고 실행해보면됨 아이디 중복체크는 ajax로 한다. 만약 동기방식으로 했다면 아이디중복체크버튼 누르는 순간 입력했던거 다날라감 프로젝트하면서 아작스 옵션은 뭔지 찾아보기! (지금은 기본 옵션만 쓰고있음) 1. 아이디 중복 체크 Form 없애기 : 비동기방식은 form 안씀 Submit 역시 없애고 button으로 바꿈 Name은 id로 바꿔주..

Ajax 하면서 기억할 점 자바스크립트든 제이쿼리든 셀렉터로 가져와서 그 속성을 바꿔주는 개념을 기억하기 습관적으로 console 창 찍어주기 *ajax는 다른 html 이나 다른 html의 일부분을 가져올 수 있다.* Id 가져올 때 #빼먹지말기 빼니까 표시가 안됨 html(data) 는 자바스크립트의 innerhtml 이랑 같은 뜻 listArea 안에 data인 html 내용을 넣겠다! ajax로 Html 을 가지고왔을 때 관련 style css는 html을 보여주는 jsp 페이지에 정해준다. Jquery로 html 가져와서 팝업창 띄우기 $('button').click({}); $('button').click(function(e){}); - E만 찍었을 때 속성을 볼 수 있음 우리가 필요한건 ta..

라이브러리 7개 필요 pom.xml (파일 관련 라이브러리2개, DB관련 라이브러리 5개) commons-io commons-io 2.6 commons-fileupload commons-fileupload 1.3.3 org.mariadb.jdbc mariadb-java-client 2.7.2 commons-dbcp commons-dbcp 1.4 org.springframework spring-jdbc ${org.springframework-version} org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 각 라이브러리에 관련된 설정 해주기(servelet-context.xml & root-context.xml) 디비에버에서 사진파일 관련 테이블 만들..
web.xml 에 설정 추가(한글깨짐 방지 코드 밑에) 500 /error/500 404 /error/404 java.io.IOException /error/IOException 2. Controller에 해당 요청에 대한 메서드 추가 @RequestMapping(value = "/error/404") public String notFound(Model model) { model.addAttribute("msg", "원하시는 요청 또는 페이지가 없습니다."); return "error"; } @RequestMapping(value = "/error/500") public String serverError(Model model) { model.addAttribute("msg", "서버에서 처리중 문제가 발..

Ajax Asynchronous JavaScript And Xml : 비동기로 통신 하는 JavaScript(json) 와 xml 이라는 뜻 *동기화와 비동기화 방식의 차이점 * *동기화 요청한 일이 끝날 때 까지 다른 일을 하지 못한다. 이전까지 한 내용 다 동기화 방식 / Form 방식을 통해서 값을 입력하고 실행하면 값이 사라짐 *비동기화 요청 해 놓고 다른일을 자유롭게 할 수 있다. (이거하면서 다른것도 할 수 있음) 중간에 누가 존재 너는 할일해 기다리는건 내가할게 : xmlhttprequest 객체필요 Form 을 사용하지 않음 값을 입력하고 실행을 해도 입력한 값이 남아있음 (아이디 중복체크할 때 씀 ) 필요한 라이브러리 pom.xml 잭슨 라이브러리 의 역할 : 자바코드를 자바스크립트로 바..

파일 업로드다운로드를 위한 설정 1,2,3 1. 파일 업로드,다운로드에 필요한 라이브러리 추가 - pom.xml 라이브러리 다운만 받으며 알아서 해줌 ioc제어역행 관련 commons-io commons-io 2.6 commons-fileupload commons-fileupload 1.3.3 Multipartfile 라이브러리 필요한 이유 : 파일인 바이너리 데이터랑 텍스트랑 구분이 필요하다 enctype="multipart/form-data" 를 쓰기위해서인듯 2 . 라이브러리 관련 설정 - root-context.xml - Bean 에 클래스 등록해두면, 스프링이 필요하다 판단될 때 가져다 씀 : 의존성주입 root-context.xml : 서버가 켜지면 읽게되는 설정 파일(web.xml 에 경로가..