В этой статье рассмотрим создание простого Spring MVC приложения, используя IntelliJ IDEA. Для этого будут использованы следующие технологии:
- Spring 4.2.1
- Maven
- jdk 1.8
- IntelliJ IDEA
- Bootstrap 3
Создадим проект
Сразу загрузим bootstrap, в проекте создадим катлог resources и добавим туда содержимое нашего архива:
Чтобы побключить стили к странице проделаем следующее - откроем hello.jsp и добавим следующий код:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <spring:url value="/resources/css/bootstrap.min.css" var="bootstrapMin" /> <link rel="stylesheet" href="${bootstrapMin}"/> </head> ...
Чтобы все это работало, надо в spring config добавить распознование ресурсов (resources mapping) - откроем mvc-dispatcher-servlet.xml и добавим следующий код:
<mvc:resources mapping="/resources/**" location="/resources/"/> <mvc:annotation-driven />
mvc-dispatcher-servlet.xml
<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.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <context:component-scan base-package="com.springapp.mvc"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"/> <property name="suffix" value=".jsp"/> </bean> <mvc:resources mapping="/resources/**" location="/resources/"/> <mvc:annotation-driven /> </beans>
Теперь займемся контроллером
HelloController.java
package com.springapp.mvc; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/") public class HelloController { @RequestMapping(method = RequestMethod.GET) public String welcomeTitle(ModelMap model) { model.addAttribute("message", "Spring MVC DEMO, hello from ITISSUE"); return "hello"; } @RequestMapping(value = "/welcome/{name:.+}", method = RequestMethod.GET) public ModelAndView welcome(@PathVariable("name") String name) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("hello"); modelAndView.addObject("welcomemsg", name); return modelAndView; } }
И представление hello.jsp
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <spring:url value="/resources/css/bootstrap.min.css" var="bootstrapMin" /> <link rel="stylesheet" href="${bootstrapMin}"/> </head> <body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <a class="navbar-brand" href="#">Spring MVC DEMO, hello from ITISSUE</a> </div> </div> </nav> <div class="jumbotron"> <div class="container"> <h1>${title}</h1> <p> <c:if test="${not empty name}"> Welcome ${name} </c:if> <c:if test="${empty name}"> Welcome %username% </c:if> </p> <p> <a class="btn btn-primary btn-lg" href="#" role="button">More info</a> </p> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-6 col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Thumbnail label</h3> <p>111</p> <p> <a href="#" class="btn btn-default" role="button">more..</a></p> </div> </div> </div> <div class="col-sm-6 col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Thumbnail label</h3> <p>222</p> <p> <a href="#" class="btn btn-default" role="button">more..</a></p> </div> </div> </div> <div class="col-sm-6 col-md-4"> <div class="thumbnail"> <div class="caption"> <h3>Thumbnail label</h3> <p>333</p> <p> <a href="#" class="btn btn-default" role="button">more..</a></p> </div> </div> </div> </div> <footer> <p>© itissue.blogspot.com 2015</p> </footer> </div> </body> </html>
Запустим наш проект.
http://localhost:8080
http://localhost:8080/welcome/Alex
Комментариев нет:
Отправить комментарий