В следующем примере показано, как написать простое веб-приложение с использованием Spring MVC Framework, которое может получать доступ к статическим страницам и динамическим страницам с помощью тега <mvc: resources> .
Для начала давайте предоставим рабочую среду Eclipse IDE и придерживаемся следующих шагов для разработки веб-приложения на основе динамических форм с использованием Spring Web Framework.
шаг | Описание |
---|---|
1 | Создайте проект с именем HelloWeb в пакете com.tutorialspoint, как описано в главе Spring MVC — Hello World. |
2 | Создайте WebController класса Java в пакете com.tutorialspoint. |
3 | Создайте статический файл final.htm в подпапке jsp. |
4 | Обновите файл конфигурации Spring HelloWeb-servlet.xml в папке WebContent / WEB-INF, как показано ниже. |
5 | Последний шаг — создание содержимого исходного файла и файлов конфигурации и экспорт приложения, что объясняется ниже. |
WebController.java
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"; } }
HelloWeb-servlet.xml
<?xml version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns:xsi = " http://www.w3.org/2001/XMLSchema-instance" xmlns:context = "http://www.springframework.org/schema/context" xmlns:mvc = "http://www.springframework.org/schema/mvc" 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>
Здесь тег <mvc: resources …. /> используется для отображения статических страниц. Атрибут сопоставления должен быть шаблоном Ant, который задает шаблон URL-адресов HTTP-запросов. Атрибут location должен указывать одно или несколько допустимых местоположений каталога ресурсов, имеющих статические страницы, включая изображения, таблицы стилей, JavaScript и другое статическое содержимое. Несколько местоположений ресурсов могут быть указаны с использованием списка значений через запятую.
Ниже приводится содержимое файла представления Spring WEB-INF / jsp / index.jsp . Это будет целевая страница; эта страница отправит запрос на доступ к методу сервиса staticPage , который перенаправит этот запрос на статическую страницу, доступную в папке WEB-INF / pages.
index.jsp
<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%> <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>
final.htm
<html> <head> <title>Spring Static Page</title> </head> <body> <h2>A simple HTML page</h2> </body> </html>
Когда вы закончите создавать исходные файлы и файлы конфигурации, экспортируйте ваше приложение. Щелкните правой кнопкой мыши свое приложение, выберите «Экспорт» → «Файл WAR» и сохраните файл HelloWeb.war в папке веб-приложений Tomcat.
Теперь запустите сервер Tomcat и убедитесь, что вы можете получить доступ к другим веб-страницам из папки webapps с помощью стандартного браузера. Теперь попробуйте получить доступ к URL — http: // localhost: 8080 / HelloWeb / index. Если с Spring Web Application все в порядке, мы увидим следующий экран.
Нажмите кнопку «Получить страницу HTML», чтобы получить доступ к статической странице, упомянутой в методе сервиса staticPage. Если с вашим Spring Web Application все в порядке, мы увидим следующий экран.