资讯专栏INFORMATION COLUMN

Spring Boot 支持JSP

Bmob / 2465人阅读

摘要:启动方式部署到外置,启动完成后,打开项目地址。这里需要注意的是,使用外置部署的时候,需要将嵌入式容器调整为级别。

个人感觉这篇文档写的没有什么意义,但是终究有的时候需要面对一些新手,他们还是比较JSP的,所以胖先森还是将这篇文档整理一下

SpringBoot默认不支持JSP,因为jsp相对于一些模板引擎,性能都比较低,官方推荐使用thymeleaf,如果想在项目中使用,需要进行相关初始化工作。

1.问题列表

修改JSP需重启才能生效

在生产环境中,SpringBoot重新编译JSP可能会导致较大的性能损失,并且很难追查到问题根源,所以在最新 的版本中,官方已经默认关闭此功能,详见JspServlet类的初始化参数。

使用devtools(我使用的这种方式)

添加配置server.servlet.jsp.init-parameters.development=true

如何避免各种404

导入Tomcat+JASPER+JSTL

必须创建webapp目录

2.搭建步骤说明 A. 通过脚手架搭建

首先使用 Spring Initializr 构建工程,选择war类型进行构建,整体结构图如下:

请注意我们选中的是war的选项

B. 添加依赖关系


    javax.servlet
    jstl



    org.apache.tomcat.embed
    tomcat-embed-jasper
    provided



    org.springframework.boot
    spring-boot-devtools
    true




    org.springframework.boot
    spring-boot-starter-tomcat
    provided
C. 修改application.properties
#如果按照一般web工程将页面放在src/main/webapp/WEB-INF/jsp/,则配置前缀
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
# 配置Tomcat编码
server.tomcat.uri-encoding=UTF-8
server.port=8001
server.servlet.context-path=/boot
D.新建JSP页面

在src/main下创建webapp/WEB-INF/jsp文件夹。

在jsp文件夹下创建hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

    
        Title
    
    
        Hello,${requestScope.name}
    

E. 创建Controller
package com.hanpang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class IndexController {

    @GetMapping({"/","/os01"})
    public String test01(Model model){
        model.addAttribute("name","胖先森");
        return "jsp/hello";
    }

}
F.启动项目

启动方式1:在IDE启动Demo02BootApplication,然后打开项目地址。

启动方式2:部署到外置Tomcat,启动完成后,打开项目地址。这里需要注意的是,使用外置Tomcat部署的时候,需要将嵌入式容器调整为provided级别。(防止冲突)

我的疑问:这里我部署到外部的Tomcat之后,是访问成功了,但是每次修改JSP的时候,我都需要重启JSP,我个人感觉很头疼,不知道是不是有解决方案,百度了一下,并没有找到我想要的答案!

3.最后一句话

既然Spring boot不推荐使用jsp,那只能换成thymeleaf了,当然其他的比如freemarker也可以选。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/72720.html

相关文章

  • Spring Boot - 整合Jsp/FreeMarker

    摘要:大家自己了解一下的使用方法,我这里就不进行详细的讲述了。启动方式两种方式都可以主函数启动或者验证访问页面,验证是否输出了当前时间。为了提高大家学习效果,录制了同步的视频课程,还望大家支持视频课程 Spring Boot - 初识 Hello World 索引 Spring Boot - 初识 Hello World Spring Boot - Servlet、过滤器、监听器、拦截器 ...

    AbnerMing 评论0 收藏0
  • spring-boot创建最简单的web应用

    摘要:初衷看了一下相关的书籍,创建一个的应用,是那么的简单。首先,我们只是创建一个简单的并不打算使用默认的,而是使用传统的。在下创建目录并且在目录下新建,内容为页面。如果是在内置的的情况下,应用会自动重启。 初衷 看了一下spring-boot相关的书籍,创建一个hello world!的应用,是那么的简单。然而,自己动手,却很不一样。 首先,我们只是创建一个简单的hello world!并...

    xiaolinbang 评论0 收藏0
  • Spring Boot整合jsp后必须通过spring-boot:run方式启动?

    摘要:为什么整合后必须通过方式启动背景在整合这篇文章中,我们用了两种启动方式方法启动测试发现,通过启动能够正常渲染页面,而通过方法启动无法渲染,本文分析下原因。通过来启动对应的服务器。 为什么整合jsp后必须通过spring-boot:run方式启动? 背景 在Spring Boot - 整合Jsp/FreeMarker这篇文章中,我们用了两种启动方式 mvn clean spring-b...

    roundstones 评论0 收藏0
  • Spring Boot 的简单教程(三) web页面开发(JSP篇)

    摘要:现在我们就需要说一下我们以前常用的页面开发了,因为无法实现的多种特性,所以不推荐使用进行页面开发。页面开发第一,需要在中添加依赖文件。页面内容测试页面第四,正常的书写方法即可。 上个章节我们讲了web页面开发的Thymeleaf开发。现在我们就需要说一下我们以前常用的JSP页面开发了,因为JSP无法实现Spring Boot的多种特性,所以Spring Boot不推荐使用JSP进行页面...

    阿罗 评论0 收藏0

发表评论

0条评论

Bmob

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<