有天上飞的概念,就要有落地的实现

  • 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例
  • 文章结尾配套自测面试题,学完技术自我测试更扎实
  • 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍

大哥大姐新年好,点赞转发不要少

SpringBoot 图文系列教程技术大纲

鹿老师的Java笔记

SpringBoot 图文教程系列文章目录

  1. SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」
  2. SpringBoot图文教程2—日志的使用「logback」「log4j」

前言

通过前面两篇,小伙伴们已经成功的实现了增删改查,但是,没有页面效果的项目,就像网恋没有奔现的小姐姐一样,安能辨她是雌雄。今天用SpringBoot整合Jsp页面,看到项目的亚子。

这个时候,有些同学要说了:为什么是Jsp,这么老的技术,效率也不高,用它干啥?不要用它 不要 不要 ….

哼哼,渣男,有了新欢忘了初恋,Jsp作为每个Java程序员触摸到的第一个视图技术,忘得了刚接触Jsp时候的小鹿乱撞吗?想想那天夕阳下的奔跑,是我们无法忘记的青春啊。

选择Jsp作为第一个集成的视图技术,原因有三:

  1. 根据本人2000+学生的就业经验来看,大部分的企业还在广泛的使用Jsp。(不是每个人都是BAT,大部分的人在一些中小型的软件公司,外包公司,Jsp挺常用)
  2. Jsp是Java程序员学过的第一个视图技术,集成难度很低
  3. 想用

前后端分离 以及 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资源的位置

  1. 在main下面创建webapp放置静态资源
  2. 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热部署
  1. 修改Jap页面代码

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

总结

以上,就是SpringBoot 集成Jsp的正确姿势了。关于其他视图技术 Thymeleaf FreeMarker 以及 代码热部署 在后续文章中进行说明。

恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。

让我们再次回顾本文的学习目标

  • 掌握SpringBoot中Jsp的使用

要掌握SpringBoot更多的用法,请持续关注本系列教程。

下面体贴的我给朋友萌还准备了一些 自测面试题和项目案例,希望你能够成热打铁,将知识夯扎实。

上期自测面试题答案

见面试题集锦 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes

自测面试题(答案见下期)

上期自测实现项目小案例答案

见码云仓库 https://gitee.com/bingqilinpeishenme/Lu-JavaNodes

自测实现项目小案例(答案见下期)

本次需求:

练习文中demo

求关注,求点赞,求转发

SpringBoot图文教程3—「‘初恋’情结」集成Jsp的更多相关文章

  1. SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  2. SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  3. SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  4. SpringBoot图文教程11—从此不写mapper文件「SpringBoot集成MybatisPlus」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  5. SpringBoot图文教程14—SpringBoot集成EasyExcel「上」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

  6. SpringBoot图文教程15—项目异常怎么办?「跳转404错误页面」「全局异常捕获」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-Spr ...

  7. SpringBoot图文教程17—上手就会 RestTemplate 使用指南「Get Post」「设置请求头」

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1-Spr ...

  8. SpringBoot图文教程5—SpringBoot 中使用Aop

    有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...

  9. SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有

    有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+ ...

随机推荐

  1. Python - 定时动态获取IP代理池,存放在文件中

    定时功能通过module time + 死循环实现,因为time.sleep()会自动阻塞 get_ip_pool.py """ @__note__: while Tru ...

  2. BZOJ-1563-郁闷的出纳员(权值线段树)

    偏移量要考虑清楚. #include <bits/stdc++.h> using namespace std; const int N=4e5+10; const int BASE=1e5 ...

  3. js 获取年月日

    虽然网上关于这个的方法很多 但是自己还是总结了一个比较可用的方法 var date=new Date(); var year=date.getFullYear(); ); var day=change ...

  4. dp(武功秘籍)

    众所周知,太吾绘卷是非常爱(niu)你(bi)的国产武侠游戏,里面有一个继承系统,当你死后可以在你的子孙中挑选一个继承人,用他的人物继续进行游戏.当你挑选继承人的时候一定会挑选能力最强,天赋最高的那一 ...

  5. Linux下Nginx1.9.9的安装

    1.环境安装 yum install gcc-c++  .yum -y install pcre*.yum -y install openssl* (安装顺序安装) 2.下载压缩包(这里我使用的是老本 ...

  6. Centos 7源码编译安装 php7.1 之生产篇

    Centos 7源码编译安装 php7.1 之生产篇 Published 2017年4月30日 by Node Cloud 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具 ...

  7. Python3.5学习之旅——day6

    面向对象编程的学习 一.定义 首先跟大家介绍一位资深的程序员前辈说过的编程心得: 1.写重复代码是非常不好且低级的行为 2.完成的代码需要经常变更 所以根据以上两个心得,我们可以知道写的代码一定要遵循 ...

  8. 细说unittest

    一.unittest模块官方文档: https://docs.python.org/3/library/unittest.html 二.一张图看懂unittest: 三.Unittest主要方法属性: ...

  9. kubernetes的Ingress资源介绍

    Ingress 的资源帮助信息介绍 [root@master ~]# kubectl explain ingress KIND: Ingress VERSION: extensions/v1beta1 ...

  10. Excel实用知识1

    纯手打,可能有错别字,使用的版本是office2013 转载请注明出处 http://www.cnblogs.com/hnnydxgjj/p/6329509.html ,谢谢 使用现成的模板 ”开头的 ...