개발/Spring 20

[SpringBoot 3] war 배포하기 404 에러, SpringBoot 2와 3의 차이

SpringBoot 프로젝트를 생성할 때 2점대 버전은 deprecated 되었고 3점대만 만들 수 있게 2023년 11월부터 변경되었다. SpringBoot 2점대에서 SpringBoot 3점대로 올라오면서 변경된 점 - javax 패키지가 jakarta 패키지로 이름 변경 - jsp를 사용하는 경우 gradle에서 dependencies에 추가하는 버전도 아래와 같이 변경되었다. implementation 'javax.servlet:jstl:1.2' implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '2.0.0' - 자바의 최소 버전이 17버전으로 변경되었다. (자바 11 빌드 안됨!) - 톰캣 버..

개발/Spring 2023.11.28

[SpringBoot] AJAX로 내려온 date 응답값 timezone이 UTC로 나오는 현상

1) 일반 통신일 때는 문제가 없다. MySql에서 timestamp 타입으로 저장한 Date에 대해서 데이터를 조회해서 Model에 담아 내려주면 우리나라 시간으로 정상적으로 나온다. 2) AJAX 통신일 때 UTC 시간으로 응답이 내려온다. MySql에서 timestamp 타입으로 저장한 Date에 대해서 데이터를 조회하고 @ResponseBody 어노테이션을 통해 Jackson 라이브러리로 date를 담아서 JSON으로 내리면 UTC 시간으로 나오는 현상이 발생한다. 이유는 Jackson 라이브러리에서 타임존을 맞춰주지 않았기 때문이다. application.properties 또는 yml 설정을 통해 Jackson의 타임존을 아래와 같이 맞춰주어야 한다. spring.jackson.deserial..

개발/Spring 2022.07.11

[SpringBoot / JSP] AJAX로 여러 이미지 파일 업로드 서버에 전송하기

1. JSP [태그 부분] 업로드 [자바스크립트 부분] var inputFileList = new Array(); // 이미지 파일을 담아놓을 배열 (업로드 버튼 누를 때 서버에 전송할 데이터) // 파일 선택 이벤트 $('input[name=images]').on('change', function(e) { var files = e.target.files; var filesArr = Array.prototype.slice.call(files); // 업로드 된 파일 유효성 체크 if (filesArr.length > 3) { alert("이미지는 최대 3개까지 업로드 가능합니다."); $('input[name=images]')val(); return; } filesArr.forEach(function(f..

개발/Spring 2021.09.27

AJAX로 JSON 보내서 컨트롤러(서버)에서 받기

[{'fruit1':'apple', 'fruit2':'banana'}] 위와같은 형태를 서버에서 List로 받게 하려면 1. 클라이언트 - javascript let param = [{'fruit1':'apple', 'fruit2':'banana'}]; $.ajax({ type:'post' , contentType:'application/json' , data: JSON.stringify(param) , url: '/test' , success: function(data) { alert(data); }, error:function(e) { alert("error: " + e); } }); - Request의 Method는 GET이 아닌 메소드로 (Request Body에 JSON을 담아 보낼 것이기 때문..

개발/Spring 2021.09.24

STS 4에서 jsp 사용하기

올해 초쯤 설치했던 STS에서는 jsp는 만들 수 있었지만 자바스크립트를 사용하려 하면 에디터가 인식을 하지 않아 모든 코드가 검은색으로 나왔었다. 오늘 다시 STS(Spring Tool Suite) 4를 설치해봤더니 jsp파일을 만들 수 없게 된 것 같다. HTML도, CSS도.. Winodw > Preferences에 들어가보면 Web 메뉴 자체가 사라져 있었다. 이것을 해결하려면 이클립스 플러그인을 설치하면 된다. Help > eclipse Marketplace... 창에서 Java and Web 으로 검색하면 나온다. 자바스크립트 코드 색깔도 적용되고, jsp도 쓸 수 있고, Preferences에서도 web 메뉴가 생긴다.

개발/Spring 2021.04.10

"Building UI model" has encountered a problem.

Spring Tool Suite를 설치하고 sts를 열었을 때 아래와 같은 에러가 뜨는 경우 "Building UI model" has encountered a problem. An Internasun.security.ssl.SSLContextImpl$DefaultSSLContext STS 프로그램을 다운로드 받으면 .jar 파일로 다운받아진다.(2020년 중반쯤부터 그리 된듯) jar로 받아진 프로그램을 수행하면 자동으로 실행이 되면서 압축이 풀린 폴더가 만들어지는데 그 폴더의 이름 형태는 sts-4.x.x.RELEASE 여야 한다. 압축을 임의로 풀면 위의 에러가 발생한다. 나의 경우에는 컴퓨터에 알집이 깔려있었고, 알집 프로그램이 jar를 압축파일로 인식해서 압축을 임의로 풀었었다. 알집을 지우고 ..

개발/Spring 2021.01.11

@PathVariable 여러개 주소 못찾는 경우

@PathVariable을 여러개 사용해서 매핑 시키려고 하는데 계속 dispatcher가 매핑을 못시킨다는 에러가 발생했다. No mapping found for HTTP request with URI 구글링으로도 안나오는데 운좋게 되는 방법을 찾았음 ㅠㅠ 내가 하려고 했던 주소의 형식은 이랬다. @PostMapping(value = "/product.{product_id}/book.{book_id}") public ResponseEntity addProduct( @PathVariable("product_id") int productId, @PathVariable("book_id") int bookId) { // code } 계속 404... 해결법 @PostMapping(value = {"/produ..

개발/Spring 2016.09.29

SpringFramework를 이용한 파일 다운로드

어떤 컨트롤러(URL)를 호출하면 바로 '파일 다운로드'로 파일을 다운로드 할 수 있게 하려고 한다. 그 전에 알아야 할 개념아주 간단히 설명하고 넘어가겠음.원론적인 설명이 아니라 이 포스팅을 설명하기 위한 좀 다른 시선의 얕은 설명이다.ㅎㅎ(아는 분들은 Pass) * MIME (Multipurpose Internet Mail Extensions) 문자열을 전송할 때는 7비트 아스키파일로 전송하여 사용하지만,더 큰 음악, 사진 등의 파일을 보내는 경우는 8비트 데이터로(바이너리 데이터) 사용한다.이 것을 전송하기 위해서는 바이너리 데이터를 텍스트로 변환하는 인코딩 작업이 필요하다. MIME은 이런 인코딩 방식의 일종이다.이메일 시스템을 통해 파일을 전달하도록 개발되었다.특정 데이터 타입을 받아 인코딩 한..

개발/Spring 2015.04.13

Springframework, Ajax에서 한글이 물음표로 나오는 현상

Ajax로 호출한 다음, 결과값을 alert으로 한글을 띄우려는데 자꾸 ???? ???? 로 나오는 것이었다. 서버 코드 @RequestMapping(value = "/add") public @ResponseBody String add() { return "성공했음"; } javascript 코드 $.ajax({ url : '/add' , success : function(data) { alert(data); } }); 얼럿 결과: ???????? 구글신을 통해 여러가지 방법을 시도해봤다. 1) jsp상단에 추가 이래도 안됨 2) ajax 코드에 추가하고 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 서버에서 스트링을 UTF-8로 디코..

개발/Spring 2015.04.03

[에러] type parameters of T cannot be determined;,.,,

내 이클립스에서는 분명 빌드도 잘되고, 톰캣도 잘 뜨는데 울회사 서버에 배포할 때 계속 빌드 실패... 에러 문구는 아래와 같았다. type parameters of T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object 뭔소린진 알겠는데 뭘 어쩌란건지 모르겠었음 도무지 ㅋㅋㅋㅋ 이클립스에서 워닝도 안떴고 도저히 모르다가 겨우 찾음 난 myBatis를 쓰고 있는데 count를 해오는 쿼리가 있었다. 저 밑에 빨간색으로 표시한 Integer로 캐스팅하는게 빠져서 에러가 났던거였다. public Integer selectCount(Integer id) { ..

개발/Spring 2014.11.06