1、新建工程 跟之前新建一盒Spring Boot项目时一样一样的

undertow springboot 工程_端口号


undertow springboot 工程_spring-boot_02


undertow springboot 工程_ide_03


undertow springboot 工程_spring_04


然后就建立好一个工程了。

2、在pom.xml中添加依赖

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

        <!--jsp页面使用jstl标签-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>

        <!--用于编译jsp-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <!--<scope>provided</scope>-->
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>springloaded</artifactId>
        </dependency>

以上依赖在上一篇中有说明。

3、新建Controller 包与入口类同级

undertow springboot 工程_spring-boot_05

@Controller
//@RequestMapping(value = "/view")
public class ViewController {

    @RequestMapping(value = "/hello")
    public String hello() {
        return "hello";
    }
}

4、新建webapp、WEB-INF、views、hello.jsp

undertow springboot 工程_spring_06

一开始并不能直接成功新建jsp页面,参考[]
如下图:

undertow springboot 工程_ide_07

undertow springboot 工程_ide_08

undertow springboot 工程_spring_09

undertow springboot 工程_spring-boot_10

undertow springboot 工程_ide_11

undertow springboot 工程_ide_12

然后再页面写点东西

<body>
hello spring boot
</body>

在application.properties配置文件中也要进行配置全局参数

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

最后直接运行啦啦~~~这边的而运行也不是简单的直接运行,我们是通过spring-boot:run的方式运行项目。据说运行Spring Boot有三种方法,我这边只有一种,有需要的话再去找吧~
看图,右键spring-boot:run,直接运行和debugger都行。我是习惯开debugger~

undertow springboot 工程_spring_13

开开心心的运行后,结果不理想。。因为运行出错了:

undertow springboot 工程_spring_14

通常表示端口号被占用了。然后之前提过怎么修改端口号。嗯,最简单的就是在application.properties中配置:

server.port=8091

还有一个比较麻烦的方法,也顺便说下。
就是需要修改入口类:

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer{

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        container.setPort(9094);
    }
}

两种方式的效果在我看来都是一样一样的吧~

修改过后,问题算是解决了。

undertow springboot 工程_ide_15

备注

之前出现了每次重启运行都要修改一次端口号的原因,一直找不出来,后来只在耗费太长时间就去问大佬,发现时自己傻傻的开启了很多个运行窗口!!!
据说点击Edit Configuration修改下图,设置单实例即可。可是我这边好像不是很行。。还不懂为啥。。

undertow springboot 工程_ide_16

END 就酱。
2018/01/25-26