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「概念+ ...
随机推荐
- 基于SILVACO ATLAS的a-IGZO薄膜晶体管二维器件仿真(05)
关于特性曲线的输出调整: 初代版本 material material=igzo eg300=3.5 nc300=8.5e21 nv300=8.5e21 taun0=1e-9 taup0=1e-9 a ...
- 【代码审计】VAuditDemo 后台登录功能验证码绕过
在 admin/logCheck.php中 $_POST['user']和$_POST['pass'] 未经过任何过滤或者编码处理就传入到$query中,可能存在万能密码绕过机制 但是$pass经过了 ...
- 【代码总结】PHP面向对象之抽象类
一.什么是抽象方法? 一个方法如果没有方法体(不使用"{}",直接使用分号结束的方法,才是没有方法体的方法),则这个方法就是抽象方法 1.声明一个方法,不使用{},而直接分号结束 ...
- IDEA 下的 github 创建提交与修改
本章假定你已经安装了 git 客户端,本文仅仅使用与 Mac 环境下,未在 Window下实验,但 IDEA 在 Window 和 Mac 下软件的使用方法是一致的. 1 配置账号 IDEA 需要配置 ...
- cookie,session,localStorage和sessionStorage
cookies:存储于浏览器端的数据.可以设置 cookies 的Max-Age或者Expires到期时间,如果不设置时间,则在浏览器关闭窗口的时候会消失. session:存储于服务器端的数据.se ...
- 思科Catalyst 9K
思科的新一代产品Catalyst9K,里面涉及了Catalyst9200.Catalyst9300.Catalyst9400.Catalyst9500.Catalyst9600和Catalyst980 ...
- mark mark mark
编译并使用静态lib---->>>>转自:Walkthrough: Creating and Using a Static Library (C++) 跟踪内存分配:http: ...
- 02-16Android学习进度报告十六
今天主要学习了GridView(网格视图)的基本使用和一些基本概念. 下面是GridView中的一些属性: android:columnWidth:设置列的宽度 android:gravity:组件对 ...
- 解决sublime不能安装packages的问题
问题如下:该问题产生的原因是因为默认的配置中无法访问 "https://packagecontrol.io/channel_v3.json"该文件造成的 解决: 1.下载 chan ...
- iOS 混合开发之 Cordova 实践
在15年时,之前公司使用 Cordova 做混合开发使用,后来公司没有用到了,现在重新记录下. Cordova (官网:http://cordova.apache.org/)简介: Apache Co ...