이번 디지털365치과의원 홈페이지를 제작하며 모바일 페이지에 대해 정리합니다.


모바일 페이지 구분을 위해 디바이스를 구분해주는 라이브러리가 있었습니다. 
스프링 모바일 디바이스 입니다. 
순서는 메이븐을 추가해주시고요.
<!-- 모바일 페이지 디바이스 구분 -->
<dependency>
    <groupId>org.springframework.mobile</groupId>
    <artifactId>spring-mobile-device</artifactId>
    <version>1.1.5.RELEASE</version>
</dependency>

web.xml에

<!-- 스프링 모바일 -->

<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>

필터를 추가합니다. 

servlet-context.xml에 이부분을 수정 추가 합니다. 

<!-- 스프링 모바일부분. -->

<annotation-driven>

<argument-resolvers>

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

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

</argument-resolvers>

</annotation-driven>

구분

<beans:bean class="org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver">

  <beans:constructor-arg>

    <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

      <beans:property name="prefix" value="/WEB-INF/views/" />

      <beans:property name="suffix" value=".jsp" />

    </beans:bean>

  </beans:constructor-arg>

  <beans:property name="mobilePrefix" value="mobile/" />

  <beans:property name="tabletPrefix" value="mobile/" />

  <beans:property name="enableFallback" value="true"/>

</beans:bean>

구분

<interceptors>

   

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

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

</interceptors>


이러면 경로가 pc의 경우 views/home.jsp 기존대로 호출되구요. 

모바일이나 태블릿의 경우 view/mobile/home.jsp로 호출됩니다. 중간에 mobile가 붙죠 ^^ 

기존 주소 그대로 호출되고 pc와 모바일이 분리되고 컨트롤러는 같이 쓰고 개발이 편리한것 같습니다. 


블로그 이미지

은호아빠

여행, 맛집, 일상, 프로그래밍, 개발자, 윈도우, 웹, jsp, spring, db, mysql, oracle, c#

,