مشخصات مقاله
مثال صفحات ایستا(Static Pages) در Spring MVC
مثالی برای صفحات ایستا(Static Pages) در Spring MVC
در مثال زیر چگونگی نوشتن یک برنامه ی وب ساده با استفاده از Spring MVC Framework نشان داده شده است که از طریق آن می توانید در کنار صفحات پویا به کمک تگ < mvc:resources > به صفحات ایستا دسترسی پیدا کنید.
برای شروع Eclipse IDE را آماده کنید و جهت توسعه ی یک برنامه ی وب مبتنی بر فرم پویا با استفاده از Spring Web Framework مراحل زیر را دنبال کنید.
WebController.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package com.tutorialspoint; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class WebController { @RequestMapping(value = "/index" , method = RequestMethod.GET) public String index() { return "index" ; } @RequestMapping(value = "/staticPage" , method = RequestMethod.GET) public String redirect() { return "redirect:/pages/final.htm" ; } } <button></button> |
HelloWeb-servlet.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | < ?xml version = "1.0" encoding = "UTF-8" ? > < beans xmlns = "http://www.springframework.org/schema/beans" xsi:schemaLocation = "http: //www.springframework.org/schema/beans http: //www.springframework.org/schema/beans/spring-beans-2.5.xsd http: //www.springframework.org/schema/mvc http: //www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http: //www.springframework.org/schema/context http: //www.springframework.org/schema/context/spring-context-3.0.xsd" > < context:component-scan base-package = "com.tutorialspoint" / > < bean id = "viewResolver" class = "org.springframework.web.servlet.view.InternalResourceViewResolver" > < property name = "prefix" value = "/WEB-INF/jsp/" / > < property name = "suffix" value = ".jsp" / > < /bean > < mvc:resources mapping = "/pages/**" location = "/WEB-INF/pages/" / > < mvc:annotation-driven/ > < /beans > <button></button> |
در اینجا تگ < mvc:resources.... / > جهت نگاشت صفحات ایستا کاربرد دارد. صفت mapping باید یک Ant pattern باشد؛ به گونه ای که الگوی URL درخواست های HTTP را مشخص کند. صفت location باید یا چند موقعیت معتبری که صفحات ایستا دارند را مشخص کند، مثل image، stylesheet، JavaScript و محتواهای ایستای دیگر. با استفاده از مقادیری که توسط کاما از یکدیگر جدا شده اند می توان چندین موقعیت را برای منابع مشخص کرد.
در ادامه محتوای داخل فایل ویوی WEB-INF/jsp/index.jsp نشان داده شده است. این صفحه یک صفحه ی landing است. به صورتی که درخواستی را جهت دسترسی به متد سرویس static page ارسال می کند که پس از آن این متد، این درخواست را به یکی از صفحات ایستای موجود در پوشه ی WEB-INF/pages هدایت می کند.
index.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | < html > < head > < title >Spring Landing Page< /title > < /head > < body > < h2 >Spring Landing Pag< /h2 > < p >Click below button to get a simple HTML page< /p > < form:form method = "GET" action = "/HelloWeb/staticPage" > < table > < tr > < td > < input type = "submit" value = "Get HTML Page" / > < /td > < /tr > < /table > < /form:form > < /body > < /html > <button></button> |
final.htm
1 2 3 4 5 6 7 8 9 | < html > < head > < title >Spring Static Page< /title > < /head > < body > < h2 >A simple HTML page< /h2 > < /body > < /html > <button></button> |
بعد از آن که کار فایل های پیکربندی و منبع تمام شد، برنامه ی خود را اکسپورت کنید. بر روی برنامه ی خود کلیک راست کنید، از گزینه ی Export → WAR File استفاده کنید و فایل HelloWeb.war را داخل پوشه ی webapps متعلق به Tomcat ذخیره کنید.
حالا سرور Tomcat را اجرا کنید و مطمئن شوید که از طریق پوشه ی webapps و با استفاده از یک مرورگر استاندارد می توانید به دیگر صفحات وب دسترسی پیدا کنید. حالا در صورت وارد کردن آدرس http://localhost:8080/HelloWeb/index و در صورت نبود مشکل در برنامه ی Spring Web صفحه ی زیر نمایش داده می شود.

حالا بر روی دکمه ی "Get HTML Page"تا بتوانید به صفحه ی ایستای بیان شده در متد سرویس staticPage دسترسی پیدا کنید. اگر مشکلی وجود نداشته باشد، صفحه ی زیر نمایش داده می شود.

برای مطالعه سرفصل کارگاه عملی Spring MVC پیشرفته همراه با پیاده سازی فروشگاه اینترنتی کلیک نمایید .