SpringBoot图文教程3—「‘初恋’情结」集成Jsp

有天上飞的概念,就要有落地的实现
- 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例
- 文章结尾配套自测面试题,学完技术自我测试更扎实
- 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍
大哥大姐新年好,点赞转发不要少
SpringBoot 图文系列教程技术大纲
鹿老师的Java笔记
SpringBoot 图文教程系列文章目录
前言
通过前面两篇,小伙伴们已经成功的实现了增删改查,但是,没有页面效果的项目,就像网恋没有奔现的小姐姐一样,安能辨她是雌雄。今天用SpringBoot整合Jsp页面,看到项目的亚子。
这个时候,有些同学要说了:为什么是Jsp,这么老的技术,效率也不高,用它干啥?不要用它 不要 不要 ….

哼哼,渣男,有了新欢忘了初恋,Jsp作为每个Java程序员触摸到的第一个视图技术,忘得了刚接触Jsp时候的小鹿乱撞吗?想想那天夕阳下的奔跑,是我们无法忘记的青春啊。
选择Jsp作为第一个集成的视图技术,原因有三:
- 根据本人2000+学生的就业经验来看,大部分的企业还在广泛的使用Jsp。(不是每个人都是BAT,大部分的人在一些中小型的软件公司,外包公司,Jsp挺常用)
- Jsp是Java程序员学过的第一个视图技术,集成难度很低
- 想用

前后端分离 以及 Thymeleaf FreeMarker 等视图技术会在后续讲解
SpringBoot 集成 Jsp
环境要求
- 开发工具 IDEA 版本不限
- maven3.x
- jdk1.8
- 本教程采用SpringBoot 2.0.3.RELEASE
注意:SpringBoot 默认是不支持Jsp的,所以集成Jsp需要做一些配置
1.引入jsp的集成jar包
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
2.引入jsp运行插件
插件是必须的,并且要通过插件启动项目,不使用插件,Jsp页面不会被编译,发布。简单说就是:不通过插件启动项目,访问Jsp页面会 404
<build>
<!--引入jsp运行插件-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.配置视图解析器

4.创建webapp目录写入Jsp页面
Jsp相关web资源的位置
- 在main下面创建webapp放置静态资源
- webapp 下面不要有 web.xml

hello.jsp页面内容
<%@page isELIgnored="false" pageEncoding="UTF-8" contentType="text/html; UTF-8" %>
<html>
<head>
<meta charset="utf-8">
<%-- 测试${pageContext.request.contextPath} 获取路径能不能使用
--%>
<script src="${pageContext.request.contextPath}/js/jquery-1.12.4.js"></script>
</head>
<body>
<h1>那天夕阳下的奔跑,是我们无法忘记的青春!</h1>
<script>
</script>
</body>
</html>
5.通过插件启动项目,即可访问页面

如果右侧没有工具栏,IDEA配置:菜单栏View--->Tool Window Bars
6.访问hello.jsp页面
浏览器访问:http://localhost:8802/hello.jsp

7.测试Jsp热部署
修改Jap页面代码

直接刷新浏览器页面 可以看到

总结
以上,就是SpringBoot 集成Jsp的正确姿势了。关于其他视图技术 Thymeleaf FreeMarker 以及 代码热部署 在后续文章中进行说明。
恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。

让我们再次回顾本文的学习目标
- 掌握SpringBoot中Jsp的使用
要掌握SpringBoot更多的用法,请持续关注本系列教程。
下面体贴的我给朋友萌还准备了一些 自测面试题和项目案例,希望你能够成热打铁,将知识夯扎实。
上期自测面试题答案
见面试题集锦 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes
自测面试题(答案见下期)
无
上期自测实现项目小案例答案
见码云仓库 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes
自测实现项目小案例(答案见下期)
本次需求:
练习文中demo
求关注,求点赞,求转发
SpringBoot图文教程3—「‘初恋’情结」集成Jsp的更多相关文章
- SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot图文教程11—从此不写mapper文件「SpringBoot集成MybatisPlus」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot图文教程14—SpringBoot集成EasyExcel「上」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
- SpringBoot图文教程15—项目异常怎么办?「跳转404错误页面」「全局异常捕获」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-Spr ...
- SpringBoot图文教程17—上手就会 RestTemplate 使用指南「Get Post」「设置请求头」
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-Spr ...
- SpringBoot图文教程5—SpringBoot 中使用Aop
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...
- SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...
随机推荐
- django admin后台(数据库简单管理后台)
只需要简单的几行胆码就可以生成一个完整的管理后台 这个就是django魅力之一 创建超级用户 python manage.py createsuperuser ---- 之后会提示输入用慕名 ...
- Win10安装.Net Framework4.7及更高版本
问题描述 使用VS打开项目工程时,提示未安装.net framework4.7,但在启用或关闭windows功能里已经勾选了.net framework 4.7的全部功能. 直接从网上下载.net f ...
- 解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
官方说明链接: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000736584-SciView-in-PyCh ...
- LCT 维护边双 / 点双的模板
用 \(\text{LCT}\) 维护边双的做法是:加入一条非树边时,将这段树上路径合并为一个点代表这个边双,具体实现用并查集合并点,在 \(\text{Splay}\) 与 \(\text{Acce ...
- 小白学 Python 爬虫(28):自动化测试框架 Selenium 从入门到放弃(下)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- How2j学习java-3下载 ECLIPSE
1.下载并解压Eclipse 下载并解压到e:/eclipse,目录情况如图所示.注: 这个Eclipse是64位的,应该使用本站提供的JDK(64)位,下载地址:JDK. 如果JDK位数和 Ecli ...
- socket 多连接
socket 多连接 本文档为文档https://www.cnblogs.com/wodeboke-y/p/11241472.html 后续内容. 上一文档中的案例2给出了一个阻塞型socket se ...
- Vue——前端生成二维码
与后端生成二维码相比,前端生成二维码更具有灵活性,下面就介绍两种前端生成二维码的方式,两种方式相比之下,vue-qr比qrcode多了一个再中间添加logo的功能. 方式一:qrcode npm np ...
- ASA密码恢复流程
1.建立console连接2.重启启动安全设备 3.进入ROMMMON模式出现Use BREAK or ESC to interrupt boot字样时,按下ESC键进入ROMMON模式.4.设置RO ...
- A10131013 Battle Over Cities (25分)
一.技术总结 这一题是考查图的知识,题目的意思要理解清楚,就是考查统计图中连通块的数量,也就是没有一个结点后. 怎么删除该结点,并且统计连通块的数量成为问题解决的关键,这里可以当访问到结点时,直接返回 ...
鹿老师的Java笔记