在idea 上springboot 1.5.6集成jsp页面

第一步:新建一个项目html

推荐使用这个,默认下一步就好,java

填写本身的信息,next,web

spring

选择使用的功能,也能够新建好以后再pom.xml里手动添加,apache

选择项目存放地址,一个springboot的项目就建好了。下边须要导入相应的依赖包,pom.xml以下:api

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.clark</groupId>
  <artifactId>spring-boot-web</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

  <name>spring-boot-web</name>
  <url>http://maven.apache.org</url>

  <properties>
   <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

        

  <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- servlet 依赖包 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- JSTL (JSP standard Tag Library) JSP 标准标签库 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!-- Tomcat的支持 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
          <!--  <scope>provided</scope>-->
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
           <!-- <scope>provided</scope>-->
        </dependency>
  
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
    <build>
     
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

下一步是配置application.properties,只须要添加这2个就能够了tomcat

#页面默认前缀目录
spring.mvc.view.prefix=/WEB-INF/jsp/
#页面默认后缀目录
spring.mvc.view.suffix=.jsp

接下来须要新建一个文件,在src\mian\webapp,在下边新建一个WEB-INF/jsp文件,在这个下边新建一个jsp页面,springboot

mvc

不用去管那个web.xml.,一会在其余地方配置的时候会自动出现,hello.jsp,最好将编码改成UTF-8,app

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>My first Spring boot web demo</title>
</head>
<body>
<h2>Hello ${name}</h2>
</body>
</html>
HelloController代码
package sprintboot;

import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {

    @RequestMapping("/index")
    @ResponseBody
    public String index() {
        return "index";
    }

    @RequestMapping("/name")
    public String name(Map<String, Object> map) {
        map.put("name", "Clark");

        System.out.println("============================================");
        return "hello";
    }

}

输出一句,看看是否进入到这个方法,算是代替日志的做用吧 。注意必定要将这个Controller放在启动类的同包或者子包下,不然扫描不到。如今能够启动项目去试试,可是访问页面的时候会报404错误,控制到会打印============,说明已经进入方法,在跳转的时候出错。下边要配置idea的东西,

选到这个,

选择modules,点击+号,添加

而后就是这个样子,下边就是要更改这些信息,

更改这2处地方,默认的是web,要更改成src\main\webapp,配置好以后,上文提到的web.xml就自动出现了,不须要去更改。而后去重启项目,在页面就能正常访问了,这个是springboot1.5.6和1.5.7均可以使用。若是是springboot1.4.4的话不须要配置最后一步也能访问,可是1.5.*不配置就会出错,

 昨天晚上测试看一下,打成war能够访问,打成jar会出现404,若是要打包的话,最后设置为war包