一、spring boot简介

     spring boot是最近非常流行的,在spring的框架上改进的框架。该框架的目的是为了提高开发人员的速度,降低配置的难度等
少,大部分都是在原有的基础上开发,所以当让你搭建一个简单的框架,就会出现各种各样的困难,比如说,我在搭建的一个服务器的时
候,准备了一个小的demo,原以为非常的简单,结果遇到了各种各样的问题,而发现网上的博客都是零零散散的讲一些点,很难有一个
完整的流程,包括可能会遇到的问题。这里对搭建一个简单的项目流程做一个详细的总结,方便日后参考,同时这一篇博客也是为了下一
篇博客tengine反向代理服务器搭建做一点前置的基础准备。

二、spring boot搭建web项目

       好了废话,不多说,下面正式开始单间一个web项目,使用的工具是eclipse来进行搭建,创建一个maven工程。
       下面开启贴图模式,这前面的过程都是非常的简单,网上也有大量的参考资料,这里为了保证一个完整性,开始贴图。

首先就是很简单,右击-->new-->project 选择maven project

搭建springboot 搭建springboot项目难点_html


搭建springboot 搭建springboot项目难点_html_02

搭建springboot 搭建springboot项目难点_搭建springboot_03

要想把这个项目跑起来,需要做一下几个步骤:

  1. 首先需要配置一下pom.xml文件,引入spring-boot的相关依赖文件 ,这个是最基本的包,里面包含了运行的相关组件,例如tomcat,以及其他的jar包
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
   </parent>

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

这样就能启动一个spring-boot的web项目,其中内嵌了相关的tomcat服务器,接下里是至关重要的,因为如果不引入下面的jar包,在调整jsp的页面的时候直接看到的是变成了下载的模式,笔者也是在这个地方郁闷了半天,百度上找了好多的例子,大部分都没讲到这个方面,故而在这里重点说明一下

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <!-- Need this to compile JSP -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

引入了这个jar之后呢,才能对jsp进行解析,编译,到这里之后,相关的依赖基本上都算引入完成。接下来要做的是配置application.properties配置文件,这里面也是有一堆坑在这里。默认的情况下,这个配置文件是不需要配置的,服务器也可以启动起来。但是很多同学在搭建玩项目之后,进行的跳转的时候,不是报找不到页面,就是解析错误。因为在这个配置文件中需要指定一下需要跳转的jsp页面的路径,即,具体在哪个文件夹下面,添加如下配置:

#默认的位置是src/main/webapp 这里可以更换,比如/page/ 那么目录就变成了src/main/webapp/pages
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp

这里面还有一个坑,在新版本的spring boot中是按上面的配置,但是在老的版本中是如下的用法,名称不一样,这里需要注意一下,否则对于新学者来说,又要懵逼半天了…

spring.view.prefix=/
spring.view.suffix=.jsp

然后需要创建jsp的页面了,在添加的源码包src/main/webapp的下面添加jsp文件,注意,webapp是默认的路径,如果想继续分类,则可以在该文件夹下面进行添加,比如说添加一个pages文件夹,jsp文件都放在这里面,那么spring.mvc.view.prefix=/pages/ 否则会找不到对应的文件。大体的目录结构如下所示:

|----src/main/webapp
   |------index.jsp
   |------pages
      |----page.index

简单写个jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    hello world!!!
    name=${name } welcome!

</body>
</html>

好了,上面的步骤都完成之后,这里,只要编写简单的Controller即可,这里面提供了两个跳转路径一个是/home,一个是/home/page,一个是携带返回值,一个没有返回相应结果。

@Controller
public class HomeController {

    @RequestMapping(value="/home")
    public String home(){
        System.out.println("redirect to home page!");
        return "index";
    }


    @RequestMapping(value="/home/page")
    @ResponseBody
    public ModelAndView goHome(){
        System.out.println("go to the home page!");
        ModelAndView mode = new ModelAndView();
        mode.addObject("name", "zhangsan");
        mode.setViewName("index");
        return mode;
    }
}

然后在App类中,添加如下代码:

@SpringBootApplication
public class App 
{
    public static void main( String[] args )
    {
        SpringApplication.run(App.class);
    }
}

搭建springboot 搭建springboot项目难点_spring_04

然后打开浏览器,输入地址http://xxx.xx.xx.xx:8080/home/page

搭建springboot 搭建springboot项目难点_html_05