Category Archives: JAVA

CentOS/RHEL/Fedora 에서 Oracle Java 7/8 바로 다운받아 설치하기

지금까지 리눅스 환경에서 Oracle 사에서 배포하고 있는 Java를 설치하기 위해서는 Oracle Java 다운로드 홈페이지에 방문하여 번거롭게 바이너리를 다운받아 서버에 업로드 하고 설치하는 방법을 사용해왔습니다.

하지만 알고 보니 바로 다운받을 수 있는 굉장히 쉬운 방법이 있더군요. 다음과 같이 7 또는 8버전을 직접 다운로드 하는 것이 가능합니다. 우선 다운받고자 하는 바이너리의 다운로드 URL을 확인합니다.

다운받고자 하는 바이너리의 URL을 복사하였다면 다음의 명령을 콘솔에서 수행하도록 합니다.

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "{DOWNLOAD_URL}"

쿠키 없이 다운로드를 수행하였다면 HTML페이지를 다운받았겠지만 위와 같은 형태로 쿠키를 조작하여 요청시에 바이너리를 직접 다운로드 하는것이 가능합니다. 완성된 형태의 예시는 다음과 같습니다. (귀찮으시다면 바로 다음의 명령어를 복사/붙여넣기 하여 사용하시면 될 것 같습니다.)

# JDK7u71 다운로드
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.rpm"

# JDK8u25 다운로드
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.rpm"

위와 같이 rpm 패키지를 다운로드 하였다면 다음과 같이 설치하면 됩니다.

sudo rpm -Uvh jdk-7u71-linux-x64.rpm

참고 : http://tecadmin.net/steps-to-install-java-on-centos-5-6-or-rhel-5-6/

Spring Boot에서 UTF-8기반 한글 설정하기

spring_logo

기본적으로 스프링 부프 프로젝트를 시작해 보면 한글이 제대로 입/출력 되지 않는 문제에 봉착하게 됩니다. 단순하게 RestController만 사용하거나 HTML의 컨텐츠 헤더를 잘 조합하여 사용하면 한글을 문제 없이 사용할 수 있게 되지만 다음의 방법을 사용하여 프로젝트가 전체적으로 한글이 정상적으로 동작하도록 할 수 있습니다.

기존의 프로젝트에 responseBodyConverter와 characterEncodingFilter를 Bean으로 등록해 주시면 작업은 끝납니다.

package utf8;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.web.filter.CharacterEncodingFilter;

import javax.servlet.Filter;
import java.nio.charset.Charset;

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Bean
    public HttpMessageConverter<String> responseBodyConverter() {
        return new StringHttpMessageConverter(Charset.forName("UTF-8"));
    }

    @Bean
    public Filter characterEncodingFilter() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return characterEncodingFilter;
    }
}

responseBodyConverter는 결과를 출력시에 강제로 UTF-8로 설정하는 역할을 하며 characterEncodingFilter는 POST 요청시에 한글이 깨지는 문제를 보완해줍니다.

참고 :