首页 > 代码库 > Gradle一分钟实现Spring-MVC

Gradle一分钟实现Spring-MVC

前提:

1,已安装JDK

2, 有Intellij IDEA

3, 已安装Gradle

一分钟实现步骤

1,mkdir Spring-MVC;cd Spring-MVC
2,gradle init
3,edit build.gradle file

技术分享
/* * This build file was auto generated by running the Gradle ‘init‘ task * by ‘Administrator‘ at ‘16-10-2 下午8:42‘ with Gradle 3.1 * * This generated file contains a commented-out sample Java project to get you started. * For more details take a look at the Java Quickstart chapter in the Gradle * user guide available at https://docs.gradle.org/3.1/userguide/tutorial_java_projects.html */ buildscript {    repositories {        jcenter()    }    dependencies {        classpath ‘org.akhikhl.gretty:gretty:+‘    }}ext {    springVersion = ‘4.3.3.RELEASE‘} //apply from: ‘https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin‘apply plugin: ‘org.akhikhl.gretty‘apply plugin: ‘java‘apply plugin: ‘war‘apply plugin: ‘eclipse‘apply plugin: ‘idea‘// In this section you declare where to find the dependencies of your projectrepositories {    // Use ‘jcenter‘ for resolving your dependencies.    // You can declare any Maven/Ivy/file repository here.    jcenter()    mavenCentral()    maven { url ‘http://repo.spring.io/release‘ } }// In this section you declare the dependencies for your production and test codedependencies {    //core spring      compile ("org.springframework:spring-context:$springVersion")      compile ("org.springframework:spring-core:$springVersion")      compile ("org.springframework:spring-webmvc:$springVersion")      // The production code uses the SLF4J logging API at compile time    compile ("org.slf4j:slf4j-api:1.7.21")    // Declare the dependency for your favourite test framework you want to use in your tests.    // TestNG is also supported by the Gradle Test task. Just change the    // testCompile dependency to testCompile ‘org.testng:testng:6.8.1‘ and add    // ‘test.useTestNG()‘ to your build script.    testCompile ("junit:junit:4.12")}
build gradle

4,mkdir src\main\java ; mkdir src\main\resources ; mkdir src\main\webapp
 mkdir src\main\webapp\WEB-INF
 mkdir src\test\java ; mkdir src\test\resources
5,将项目导入idea,因为gradlew idea这个命令会生成一些多余的文件,不喜欢垃圾多余的东西,故直接导入

6,WEB-INF下面添加web.xml和spring-mvc-servlet.xml文件

技术分享
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.1" xmlns="http://java.sun.com/xml/ns/javaee"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd">    <servlet>        <servlet-name>spring-mvc</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>spring-mvc</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping></web-app>
web.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:p="http://www.springframework.org/schema/p"       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">    <mvc:annotation-driven></mvc:annotation-driven>    <context:component-scan base-package="org.springframework.samples"/>    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/WEB-INF/views/"/>        <property name="suffix" value=".jsp"/>    </bean></beans>
spring-mvc-servlet.xml

7,根据第6步的spring-mvc-servlet.xml的配置,还需要在WEB-INF文件夹下面创建一个views文件夹,并且新建文件home.jsp

技术分享
<%--  Created by IntelliJ IDEA.  User: Administrator  Date: 2016/10/2 0002  Time: 21:53  To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>     <title>Home</title> </head><body><h1>     Hello world! </h1><P>  The time on the server is ${serverTime}. </P></body></html>
home.jsp

8,HomeController.java

技术分享
package org.springframework.samples;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import java.text.DateFormat;import java.util.Date;import java.util.Locale;/** * Created by Administrator on 2016/10/2 0002. */@Controllerpublic class HomeController {    private static final Logger logger = LoggerFactory.getLogger(HomeController.class);    /**     * .     * Simply selects the home view to render by returning its name.     * .     */    @RequestMapping(value = "/", method = RequestMethod.GET)    public String home(Locale locale, Model model) {        logger.info("Welcome home! The client locale is {}.", locale);        Date date = new Date();        DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);        String formattedDate = dateFormat.format(date);        model.addAttribute("serverTime", formattedDate);        return "home";    }}
HomeController.java

9,

gradlew tomcatRun

 

10, http://localhost:8080/Spring-MVC/

 

Gradle一分钟实现Spring-MVC