Статьи

Учебник: Ваш первый простой Spring MVC шаблон

В этой статье я покажу вам, как создать свой первый простой шаблон Spring MVC. Прежде чем мы начнем, я предполагаю, что вы уже знакомы с основами Spring MVC. Если вы этого не сделаете, я предлагаю сначала прочитать некоторые введения в Spring . Ниже приведены некоторые хорошие ресурсы для начала.

Давайте начнем. Настройте новый пустой проект. Установите все зависимости API в вашем classpath, затем настройте ваш web.xml следующим образом:

<WEB-APP xmlns="http://java.sun.com/xml/ns/javaee" version="2.5" schemalocation="http://java.sun.com/xml/ns/javaee     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi="http://www.w3.org/2001/XMLSchema-instance">

<SERVLET>
<SERVLET-NAME>myproject</SERVLET-NAME>
<SERVLET-CLASS>org.springframework.web.servlet.DispatcherServlet</SERVLET-CLASS>
<LOAD-ON-STARTUP>1</LOAD-ON-STARTUP>
</SERVLET>

<SERVLET-MAPPING>
<SERVLET-NAME>myproject</SERVLET-NAME>
<URL-PATTERN>/index.html</URL-PATTERN>
</SERVLET-MAPPING>

<SERVLET-MAPPING>
<SERVLET-NAME>myproject</SERVLET-NAME>
<URL-PATTERN>*.html</URL-PATTERN>
</SERVLET-MAPPING>

<WELCOME-FILE-LIST>
<WELCOME-FILE>index.html</WELCOME-FILE>
</WELCOME-FILE-LIST>

</WEB-APP>

Я установил два сопоставления, одно для шаблона URL, а другое для страницы приветствия. Далее идет настройка бобов. В вашем myproject-servlet.xml поместите эти конфигурации:

<BEANS xmlns="http://www.springframework.org/schema/beans" schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" xsi="http://www.w3.org/2001/XMLSchema-instance">

<BEAN class=com.myproject.controllers.PageController name="myProjectController">
<property name="methodNameResolver" ref="actionMethodNameResolver"> </property>
</BEAN>

<BEAN class=org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver id=actionMethodNameResolver>
<property name="mappings">
<PROPS>
  <PROP key="/index.html">showIndex</PROP> 
</PROPS>
</property>
</BEAN>

<BEAN class=org.springframework.web.servlet.handler.SimpleUrlHandlerMapping id=simpleUrlMapping>
<property name="mappings">
  <PROPS>
     <PROP key="*.html">myProjectController</PROP>
</PROPS>
</property>
</BEAN>

<BEAN class=org.springframework.web.servlet.view.ResourceBundleViewResolver id=viewResolver>
<property name="basename" value="views"></property>
</BEAN>
</BEANS>

 Я использовал ResourceBundleViewResolver для настройки представлений с использованием файла свойств, чтобы мы могли редактировать конфигурации представлений без перекомпиляции проекта. Компонент actionMethodNameResolver — это место, где все ваши URL-запросы будут отправлены на соответствующий контроллер. Поскольку prop /index.html имеет значение showIndex , ваш PageController должен содержать этот метод:

package com.myproject.controllers;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class PageController extends MultiActionController {

public ModelAndView showIndex(HttpServletRequest request, HttpServletResponse response) {
return new ModelAndView(index-page, "model", "Hello World!");
}
}

Следующим шагом является создание представления index-page . Создайте файл свойств с именем views . Он должен содержать класс и URL вашего jsp. Обратите внимание, что вам нужна библиотека jstl в вашем пути к классам.

index-page.class=org.springframework.web.servlet.view.JstlView
index-page.url=WEB-INF/index.jsp

Создайте index.jsp под WEB-INF. Чтобы получить модель из нашего контроллера, мы можем использовать этот код.

<H1>${model}</H1>

Настройте свой сервер Tomcat.
Разверните и запустите проект. Получите доступ к вашему локальному серверу (http: // localhost: [port]) и все готово. Вы должны увидеть «Hello World!». Теперь вы можете добавить другие запросы
страниц в реквизиты вашего
actionMethodNameResolver и настроить соответствующий метод в вашем
PageController . Не забудьте добавить свои конфигурации представлений в
views.properties . Вы можете скачать исходный код
здесь . Я создал проект с использованием
Idea IntelliJ и включил необходимые библиотеки, поэтому вам не нужно их загружать. Вы также можете импортировать проект с помощью Apache Ant. Если у вас есть вопросы, пишите в комментариях.

С http://benpad.blogspot.com