springboot集成jsp

 

Spring官方已不推荐使用JSP开发WEB应用了,而是推荐用模板引擎。如:

  1. Thymeleaf(官方推荐)
  2. FreeMarker
  3. Velocity
  4. Groovy
  5. Mustache

在集成jsp时,必须要把jar包换成war包,否则运行有问题,并且不能使用内置容器,要使用外部容器。

pom.xml

 <!-- 打包 -->

    <packaging>war</packaging>



    <!-- jsp 配置相关 start -->

    <!-- 外置tomcat,要将内置容器调整为provided级别,防止冲突 -->

    <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>javax.servlet</groupId>

        <artifactId>javax.servlet-api</artifactId>

        <scope>provided</scope>

    </dependency>



    <!-- JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上 -->

    <dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>jstl</artifactId>

    </dependency>



    <!-- jsp 配置相关 end -->

   

属性配置

 

 

在application.properties中配置和jsp相关的属性。

# 页面默认前缀目录

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

# 响应页面默认后缀

spring.mvc.view.suffix=.jsp

# 项目访问路径,使用内置容器时不起作用

server.context-path=/jj

 

# 自定义属性,可以在Controller中读取

application.message: Hello Phil

 

 

外置war包的处理类

处理外置型war包的上下文注册信息,与启动类建立连接。重载configure方法,传入启动程序类。

public class ServletInitializer extends SpringBootServletInitializer {

    @Override

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {

        // 启动程序

        return application.sources(BiopApplication.class);

    }

}

 

controller处理类

一般情况下使用@controller注解。

@Controller

public class HelloController {



    @Value("${def.hello: hello anmy!~}")

    private String hello;



    @GetMapping("/hello")

    public String sayHello(Map<String, Object> map) {

        System.out.println("----controller.sayHello: " + hello);

        map.put("hello", hello);



        return "hello";

    }

}

 

jsp页面

Springboot默认的位置在src/main/webapp/WEB-INF/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>

    <body>

        hello,hello

        <br />

        message is : ${message}

    </body>

</html>

主体就是这些设置,其它可以根据需要添加。

如果用内置容器,直接启动类启动即可;如果有外置容器,先打包再部署启动。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值