Spring MVC系列之Hello World(SpringBoot)(六)

前言

咱们将SpringBoot能够看作是集大成者,说的通俗一点就是简化了配置,接下来咱们看看在SpringBoot中如何启用并使用Spring MVC,Spring MVC和.NET或者.NET Core中MVC思想同样,只不过名词不同罢了,好了,咱们来看看在SpringBoot中如何使用Spring MVC。html

Spring MVC之Hello World

 在咱们默认建立的SpringBoot项目中,咱们在Maven管理包的pom.xml里添加以下包对JSP进行编译web

        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

这里须要额外说明下,包spring-boot-starter-web虽然包含spring-boot-starter-tomcat,同时spring-boot-starter-tomcat包含了tomcat-embed-core包,可是,包tomcat-embed-core并未包含tomcat-embed-jasper,实际上,是包括tomcat-embed-core的依赖项的tomcat-embed-jasper,经过上述咱们能够看到,包tomcat-embed-jasper被标记为已提供(provided),所以代表咱们但愿JDK或容器在运行时提供依赖项,该做用域仅在编译和测试类路径上可用,而且不可传递。总之,spring-boot-starter-web包含tomcat嵌入式依赖关系,但不包含jasper嵌入式依赖关系,所以咱们须要显式声明来编译JSP。接下来咱们根据Java Web的约定建立文件目录并在application.properties配置文件中配置搜索视图即JSP的位置。spring

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

接下来咱们建立HelloWorld的控制器,以下:apache

package com.demo.springboot.controllers;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class HelloWorldController {

    @RequestMapping(value = "/greeting", method = RequestMethod.GET)
    public String helloWorld(@RequestParam String name, ModelMap model) {
        model.put("greeting", "Hello:" + name + " from Spring 4.3x MVC");
        return "welcome";
    }
}

经过@Controller注解将该类标记为spring bean,它能够根据在类上指定的映射或各个控制器方法来处理不一样的HTTP请求,而@RequestMapping注解用于将Web请求映射到特定的处理程序类和/或处理程序方法,注解@RequestMapping具备几个属性[value,method,params,..],可用于将映射范围缩小到更具体的选择,方法附加了带有value属性的映射声明,将知足/greeting格式的请求,属性方法用于指定此方法能够服务的HTTP请求的类型,若是映射不包含“方法”属性,则该映射的控制器方法将在该映射的URL上处理全部类型的请求。注解@RequestParam用于接收请求参数且该参数是来自查询字符串,ModelMap是一个Map实现,就是将值进行绑定从而视图可以进行获取,查看helloWorld方法的返回值,这些值将带有后缀,并以在视图解析器中定义的后缀和前缀做为前缀,以造成实际的视图文件名。最后咱们建立welcome.jsp的视图文件,以下:tomcat

<%@ page contentType="text/html;" pageEncoding="utf-8" %>
<html>

<head>
    <title>Hello World</title>
</head>

<body>
 ${greeting}!
</body>

</html>

注意在该视图页上要声明页面编码,不然对于后台的中文在视图中将显示乱码,以下图中的问号:springboot

总结 

本节咱们开始了Java Web的学习,并以最终视图输出Hello World而结束,小菜天天积累一点,感谢您的阅读,咱们下节见。mvc

相关文章
相关标签/搜索