В этой статье рассмотрим создание простого 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






Комментариев нет:
Отправить комментарий