Spring: AJAX로 백엔드 컨트롤러에 이미지 전송

컨트롤러 (일부) @RequestMapping(value = “/url”, method = RequestMethod.POST) public String insert(MultipartHttpServletRequest request, HttpSession session, ModelMap model) throws Exception { String rootPath = session.getServletContext().getRealPath(“/”); System.out.println(“imageFile ” + request + ” ” + request.getParameter(“imgFile”) + ” ” + rootPath + ” “); Iterator<String> itr = request.getFileNames(); if(itr.hasNext()){ List<MultipartFile> mpf = request.getFiles(itr.next().toString()); for(int 더보기…

Java, Spring: 예제 – JspMvcHelper (Reflection을 사용해 ModelAndView 내의 객체들의 정보를 표시해 주는 프로그램)

이 프로그램은 자바의 Reflection 개념들을 연습하기 위해 만든 예제로 리플렉션을 이용하여 Spring 프로젝트에서 MVC 패턴을 사용할 때 컨트롤러 등에 있는 ModelAndView (+ Model) 객체의 정보를 프론트엔드 측에서 볼 수 있도록 가공해서 보여주는 프로그램입니다. 자바스크립트의 console.log() 등을 사용해 내용을 볼 수 있습니다. 사용 제약 MVC 패턴을 사용하는 스프링 프로젝트가 필요합니다. 모델 객체가 더보기…

JSP, Spring: EL(Expression Language), JSTL(Java Standard Tag Library) 기초 사용법

EL(Expression Language)과 JSTL(Java Standard Tag Library)은 자바 서블릿 또는 스프링을 이용한 MVC 패턴에서 컨트롤러가 뷰(View) 페이지로 전송한 정보를 표시하는 방법입니다.   1. EL 별도의 임포트 과정이 필요없고, JSP에서 바로 사용 가능합니다. 기본 사용 방법은 ${ 표현식 } 의 꼴로 사용하며, 표현식 내부의 계산 결과를 HTML에서 사용하는 텍스트 형식으로 반환합니다. 즉, 더보기…

Spring Boot: 프로젝트를 jar 파일로 배포하기

이 글은 윈도우 기준으로 작성되었지만 다른 OS 에서도 적용할 수 있습니다. Spring Boot 프로젝트를 생성시 처음에 설정하는 배포 옵션을 jar 파일로 배포로 설정했다고 가정합니다. 처음에 war로 설정했을시에는 추가 설정이 필요한 관계로 나중에 따로 포스팅하겠습니다. 그 전에 이클립스에서 설정되어 있는 JRE를 JDK로 바꿔야 합니다. 바꾸지 않으면 추후 에러의 원인이 되므로 미리 더보기…

Spring Boot: 설치 및 기본 설정 (macOS 및 Eclipse 기준)

1. 이클립스(STS) 준비 이클립스에서 Help > Marketplace… 를 선택한 다음 STS 을 검색해서 설치합니다. 설치 시 이름에 boot 가 들어가는 요소는 반드시 체크하고, Perspective를 Spring으로 변경합니다. 또는 처음부터 STS(STS가 설치된 이클립스)로 사용합니다: https://spring.io/tools   2. Spring Starter Project 생성 이클립스에서 File > New… > Spring Starter Project 를 선택합니다. Group, Artifact, Package 등은 더보기…

자바(Java)에 프로세싱(Processing) 라이브러리 Minim을 설치하는 방법 + 예제: 주파수 그래프가 있는 오디오 플레이어

노래 파일을 불러와 500 구간으로 쪼갠 뒤 각각 구간의 평균 주파수를 리스트에 삽입해 사운드클라우드의 플레이어 비슷한 효과를 내는 예제입니다. 이 기능을 사용하려면 Minim이라는 Processing기반의 라이브러리가 필요합니다. (참고: Processing: 미디어아트 프로그래밍 언어 기초)   Minim을 사용해 음악 파일의 주파수를 분석  주파수 분석은 고속 푸리에 변환(FFT) 방식.  Minim은 음악 재생, 분석과 관련하여 다양한 기능을 더보기…

자바스크립트: JSFiddle 간략하게 흉내내기 (페이지의 소스를 편집 후 스스로 반영)

JSFiddle(https://jsfiddle.net/) 이라는 사이트가 있는데 웹 브라우저 내에서 HTML, JS 코드를 입력하면 즉석에서 결과를 보여주고 공유할 수 있는 사이트입니다. document 객체와 document.write 기능을 이용해서 비슷하게 흉내내볼 수 있습니다. 라이브러리 등의 예제 페이지에서 최초에 작성된 소스를 먼저 보여주고 편집도 가능하게 하고 싶을 때 사용하면 되겠습니다. This file contains bidirectional Unicode text that 더보기…

Java, Spring Boot 예제: 이미지를 클라이언트로부터 받아 파워포인트로 만들기

작업순서는 다음과 같습니다. 사용자(클라이언트, 크롬 등 웹브라우저 이용하는 사람)는 이미지파일을 브라우저에서 업로드한다. 서버에서 그 이미지를 받아서 파워포인트 파일에 삽입한다. 만들어진 파워포인트 파일을 다시 사용자한테 반환한다. 사용자는 다운로드 받을 수 있다.   파워포인트는 org.apache.poi 라는 라이브러리를 사용해 만들 수 있으며 depency는 다음과 같습니다. <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> 더보기…

Spring Boot: 시큐리티(Security) – 1

  스프링에서 로그인, 권한별 접근 기능 등을 구현하고 싶다면 스프링 시큐리티(Spring Security)를 사용해야 합니다. 1. 처음 스타트 프로젝트 생성 시 디펜던시에서 Security를 선택합니다. 나중에 수동으로 추가할 경우에는 아래를 pom.xml의 <dependencies> 내에 추가합니다. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency>   2. 프로젝트를 생성하고 서버를 가동하면 어떤 URL에 접속해도 기본 더보기…

Spring Boot: 국제화(Internationalization)

여기서 국제화는 홈페이지의 내용을 다국어로 지원하는 것을 뜻합니다. 예를 들어, https://www.navercorp.com/ 사이트를 보면 동일한 레이아웃과 동일한 내용을 한국어 또는 영어로 지원합니다. 이 곳 뿐만 아니라 많은 사이트에서 이런식의 다국어를 지원합니다. 만약 이것을 똑같은 HTML을 복사해서 내용만 바꾸겠다는 식으로 접근하면 홈페이지 제작이 굉장히 힘들겠죠? 처음부터 국제화를 의도하고 제작하는 것이 좋겠습니다. 0. src/main/resources 더보기…