В этой статье я покажу вам, как создать свой первый простой шаблон 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>