Controller로 ajax 등의 요청을 했을 때, json형식으로 return 해주는 방식은 크게 두 가지가 있다. 1. Controller return type을 String으로 하고, 별도의 Json API를 사용해 parsing해서 json 형식으로 return 해준다. 2. MappingJackson2JsonView를 사용해서 ModelAndView를 json 형식으로 반환해 준다. 1번의 경우에는 매우 귀찮게 일일이 map object에 담아서 for 돌려서 만들어 주는 방법도 있고 Gson 등 Json API들을 사용해서 만들어 주는 경우도 있다. 나의 경우 spring boot를 주로 사용하므로 jsonview를 bean에 등록하고 ModelAndView에 담아서 사용하는 것으로 사용한다..
java 파일 다운로드 예제는 굉장히 많다. 대부분 지정한 폴더에는 파일이 만들어 지긴 하지만 아래 사진처럼 브라우저에서 다운로드할 경우 나타나는 알림창이 생기지를 않아 개인 프로젝트를 진행할때 애먹은 적이 있다. 하지만 결국에는 브라우저에서 다운로드 할 경우 알림창이 나타나는 소스를 찾아서 링크를 걸어둔다. $(document).ready(function(){ $('#fileDown').click(function(){ var filename = $('#fileName').val(); window.location.assign('${ctx}/infoCenter/download.do?fileName='+fileName); }); }); @RequestMapping(value="/download.do", pr..
Spring boot를 사용하다 보면 가끔 Port 8080 was already in use라는 오류가 나오곤 하는데 해당 포트는 웹에서 너가 이미 사용중이다.라는 뜻이다. 하지만 포트를 계속 잘 쓰다가 오류가 발생하는 경우가 있다. 내 경험상 해결방법은 첫째로는 아예 이클립스를 껏다가 켜보거나 컴퓨터를 껏다가 켜본다. 내 생각으로는 이클립스에 설치되어 있는 톰캣이 이클립스가 종료되면서 톰캣을 제대로 종료를 안해서 포트를 안닫고 나와 버려 다시 서버를 키면 포트가 사용중이다라는 오류가 발생하는것 같다. 첫번째 방법으로는 안된다면 어쩔수 없이 포트번호를 바꿔서 사용을 해야 합니다. 포트 변경 spring boot에서 대부분의 설정들은 resources 디렉토리 아래 application.propertie..
spring 기반의 프로젝트를 spring boot로 프레임워크를 이사할 일이 생겨 1. xml기반으로 생성된 bean을 쉽게 생성하는 방법과 2. yml을 간단하게 생성 및 적용방법까지 적어볼려고 한다. spring application.xml -> spring boot @Configuration @ImportResource(value= {"classpath:applicationContext.xml"}) public class ApplicationConfig { //따로 config 클래스를 생성해도 되고 spring boot application 클래스에 //@importResource만 설정해줘도 된다. } yml은 중복을 허용하지 않는것과 가독성이 좋다라는 장점을 가지고 있습니다.. yml을 작성..
기능설명 개인 포폴용도로 만드는 쇼핑몰 개발중 이미지 업로드는 필수였습니다. 이미지를 업로드 하는것 뿐만 아니라 같은 이미지를 또 활용할 수 있으므로 이름도 무작위로 변경하여 저장하였습니다. 썸네일 이미지를 따로 만들어 admin 페이지에서 상품목록을 볼때, user가 상품들이 모여져 있는 페이지에서 활용할 용도로 기능을 추가 했습니다. admin이 상품의 이미지를 업로드를 하지 않으면 미리 준비해둔 이미지로 대체하는것으로 했습니다. 폴더는 관리자가 상품을 언제 등록했는지 알수 있게 년/월/일로 나누어 폴더를 자동 생성할 수 있게 했습니다. 결과물 register.jsp Upload Choose file 저장경로    등록 AdminController.class //상품 등록 @PostMa..