본문 바로가기
[WEB] Back-End Framework & Library/스프링 프레임워크(Spring Framework)

스프링 모바일을 추가하여 모바일 장치를 인식하자

by 연구자 공학코드 2021. 2. 12.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

스프링 프레임워크에서 모바일 장치를 인식하는 방법은 여러가지가 있겠지만 그 중 스프링 모바일을 가져와서 코드 몇줄만으로 장치를 인식하는 방법을 소개하려고 한다.

스프링 모바일 소개 페이지

현재 기준으로 스프링 모바일은 2.0.0.M3가 안정적인 배포 버전이다. 메이븐으로 스프링 모바일을 프로젝트에 추가하는 방법은 아래와 같다.

<repositories>
	<repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/libs-milestone</url>
        <snapshots>
            <enabled>false</enabled>
       	</snapshots>
   	</repository>
</repositories>

메이븐 저장소를 위의 코드처럼 추가한다.

<dependencies>		
	<dependency>
		<groupId>org.springframework.mobile</groupId>
		<artifactId>spring-mobile-device</artifactId>
		<version>2.0.0.M3</version>
	</dependency>
</dependencies>

그리고 스프링 모바일 라이브러리를 위의 코드처럼 추가한다.

<beans:beans>
	<beans:bean class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" />
</beans:beans>

그 후 스프링 모바일 인터셉터를 위의 코드처럼 서블릿 설정파일에 추가한다.

<filter>
	<filter-name>deviceResolverRequestFilter</filter-name>
	<filter-class>org.springframework.mobile.device.DeviceResolverRequestFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>deviceResolverRequestFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

그 후 HTTP 요청이 있을 때 마다 스프링 모바일 필터를 거치도록 위의 코드를 추가한다. 여기까지하면 스프링 모바일을 프로젝트에 추가하는 것을 완료한 것이다.

@RequestMapping(value={"/"}, method=RequestMethod.GET)
public void index(HttpServletRequest request){
    Device device = DeviceUtils.getCurrentDevice(request);
    if (device.isMobile()) {
        System.out.println("모바일 장치입니다.");
    } else if (device.isTablet()) {
        System.out.println("태블릿 장치입니다.");
    } else {
        System.out.println("PC입니다.");
    }
}

스프링 모바일이 잘 작동하는지를 확인하기 위해 위의 코드를 컨트롤러에 입력해본다. HTTP Request 안에 들어 있는 사용자 브라우저 정보를 읽어서 장치를 구별하는 것을 직접 구현하는 것보다는 라이브러리를 가져와서 쓰는 것을 추천한다.

 

참고자료

[1] Overview of Spring Mobile, Spring.io.

[2] 스프링 모바일이란?, Hun, Hun's Story, 2017-02-12.

728x90
반응형

댓글