zoukankan      html  css  js  c++  java
  • springboot笔记-使用JSP

    Spring Boot 项目中使用 JSP:

    项目结构:需要添加webapp文件夹用来存放目录 jsp 文件

    spring-boot-jsp
     +-src
        +- main
             +- java
             +- resources
             +- webapp
                  +- WEB-INF
                     +- jsp
                        +- welcome.jsp
        +- test
     +-pom.xml

    在配置文件application.properties中指定 jsp 的位置和后缀。
    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp

    引入依赖包

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>

    简单写一个页面:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>jsp welcome</title>
    </head>
    <body>
        Time:  ${time}
        <br>
        Message: ${message}
    </body>
    </html>

    后端程序

    @Controller
    public class WelcomeController {
    
        @GetMapping("/")
        public String welcome(Map<String, Object> model) {
            model.put("time", new Date());
            model.put("message", "hello world");
            return "welcome";
        }
    
    }

    打war 在tomcat中运行:
    (1)在 pom.xml 里设置打包格式为 war。
    <packaging>war</packaging>
    (2)排除内嵌的 Tomcat 依赖


    打包时排除掉内嵌的 Tomcat 依赖,避免 jar 包冲突。

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!-- 排除内置容器,排除内置容器导出成 war 包可以让外部容器运行spring-boot项目-->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    Servlet 的支持:
    Spring Boot 项目必须实现 SpringBootServletInitializer 接口的 configure() 方法才能让外部容器运行 Spring Boot 项目,启动类同目录下创建 ServletInitializer 类:

    public class ServletInitializer extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(JspApplication.class);
        }
    }

    打包发布,在项目根目录执行 maven 命令:
    mvn clean package
    将 war 包发布到 Tomcat 即可。

  • 相关阅读:
    10-vue自定义指令
    09-vue过滤器的基本使用
    vue总结
    07-vue的v-if和v-show
    06-循环数组v-for
    Java通过JNA调用dll或so
    Centos7安装FRP内网穿透工具进行远程连接
    centos7检查Java项目存活与否并重启
    centos7中Java项目重启
    Ubuntu 19.04: Connect to GNOME desktop environment via XRDP
  • 原文地址:https://www.cnblogs.com/qq99514925/p/11570011.html
Copyright © 2011-2022 走看看