[JSP]我说我不会JSP,面试官就让我回去等通知了
前言 2020年了 , 还需要学JSP吗?我相信现在还是在大学的同学肯定会有这个疑问 。
本文插图
其实我在18年的时候已经见过类似的问题了「JSP还应该学习吗」 。 我在18年发了几篇JSP的文章 , 已经有不少的开发者评论『这不是上个世纪的东西了吗』『梦回几年前』『这么老的的东西 , 怎么还有人学』
现在问题来了 , JSP放在2020年 , 是真的老了吗?对 , 是真的老了
现在问题又来了 , 为什么在几年前已经被定义『老』的技术 , 到2020年了还是有热度 , 每年还是有人在问:『还需要学习JSP吗』 。 我认为理由也很简单:JSP在之前用的是真的多!
在我初学Java的时候 , 就经常听到:JSP和PHP是能够写动态网页的---《我的老师》 。
当我们去找相关的学习资料时 , 发现到处都是JSP的身影 , 会给我一种感觉:好像不懂JSP就压根没法继续往下学习一样 。
如果你是新手 , 如果你还没学习JSP , 我建议还是可以了解一下 , 不需要深入去学习JSP的各种内容 , 但可以了解一下 。 至少别人说起JSP的时候 , 你能知道什么是JSP , 能看懂JSP的代码 。
额外说一句:你去到公司 , 可能还能看到JSP的代码 。 虽然JSP是『老东西』 , 但我们去到公司可能就是维护老的项目 。 JSP可能不用你自己去写 , 但至少能看得懂 , 对不对 。
本文插图
问题又来了 , 那JSP如果是『老东西』 , 那被什么替代了呢?要么就是用常见的模板引擎『freemarker』『Thymeleaf』『Velocity』 , 用法其实跟『JSP』差不太多 , 只是它们的性能会更好 。 要么前后端分离 , 后端只需要返回JSON给前端 , 页面完全不需要后端管 。
说了这么多 , 我想说的是:“JSP还是有必要了解一下 , 不需要花很多时间 , 知道即可 , 这篇文章我就能带你认识JSP”
本文插图
什么是JSP? JSP全名为Java Server Pages , java服务器页面 。 JSP是一种基于文本的程序 , 其特点就是HTML和Java代码共同存在!JSP是为了简化Servlet的工作出现的替代品 , Servlet输出HTML非常困难 , JSP就是替代Servlet输出HTML的 。
在Tomcat博客中我提到过:Tomcat访问任何的资源都是在访问Servlet! , 当然了 , JSP也不例外!JSP本身就是一种Servlet 。 为什么我说JSP本身就是一种Servlet呢?其实JSP在第一次被访问的时候会被编译为HttpJspPage类(该类是HttpServlet的一个子类)
比如我随便找一个JSP , 编译后的JSP长这个样:
本文插图
编译过程是这样子的:浏览器第一次请求1.jsp时 , Tomcat会将1.jsp转化成1_jsp.java这么一个类 , 并将该文件编译成class文件 。 编译完毕后再运行class文件来响应浏览器的请求 。
以后访问1.jsp就不再重新编译jsp文件了 , 直接调用class文件来响应浏览器 。 当然了 , 如果Tomcat检测到JSP页面改动了的话 , 会重新编译的 。
既然JSP是一个Servlet , 那JSP页面中的HTML排版标签是怎么样被发送到浏览器的?我们来看下上面1_jsp.java的源码就知道了 。 原来就是用write()出去的罢了 。 说到底 , JSP就是封装了Servlet的java程序罢了 。
本文插图
有人可能也会问:JSP页面的代码服务器是怎么执行的?再看回1_jsp.java文件 , java代码就直接在类中的service()中 。
推荐阅读
- 捌方娱乐他不会再结婚了,已经对阿娇失去耐心和信心,赖弘国好友透露
- 娱乐中的趣闻奶量暴涨秒杀蔡文姬,排位89%不会输!,扁鹊最新出装铭文推荐
- 智道足球巴萨将重新评估球员未来,有望改错!西媒:沙尔克不会买断托迪博
- 全能体育柳号李景亮:不会上平台,西热力江真怕了?一龙5次KO刘二狗后躲起来
- 小爱说游戏再也不会有人喷你“无脑英雄”!,你真的会玩妲己吗?学会这几点
- 「西安」天气转晴 最近两天西安的最高气温不会突破30℃ 天气舒适
- 深度解读华为意义!即便美国停供芯片和系统,国产手机也不会崩
- #数学#小学生数学题目难倒985毕业家长,直言被题目绕晕,网友:不会做
- 『科学家』世界上真的有僵尸病毒,已经在巴西雨林找到,希望不会威胁到人类
- 『国足』国足6大全能战士!第一位能踢十个位置,国足有10个他不会缺席世界杯
