都2020年了 还要学JSP吗?
Java3y 人气:0
## 前言
2020年了,还需要学JSP吗?我相信现在还是在大学的同学肯定会有这个疑问。
![](https://user-gold-cdn.xitu.io/2020/3/21/170fb47a05fdc23a?w=255&h=255&f=jpeg&s=10781)
其实我在18年的时候已经见过类似的问题了「JSP还应该学习吗」。我在18年发了几篇JSP的文章,已经有不少的开发者评论『这不是上个世纪的东西了吗』『梦回几年前』『这么老的的东西,怎么还有人学』
现在问题来了,JSP放在2020年,是真的老了吗?**对,是真的老了**
现在问题又来了,为什么在几年前已经被定义『老』的技术,到2020年了还是有热度,每年还是有人在问:『还需要学习JSP吗』。我认为理由也很简单:**JSP在之前用的是真的多**!
在我初学Java的时候,就经常听到:JSP和PHP是能够写**动态网页**的---《我的老师》。
当我们去找相关的学习资料时,发现到处都是JSP的身影,会给我一种感觉:**好像不懂JSP就压根没法继续往下学习一样**。
如果你是新手,如果你还没学习JSP,我建议还是可以**了解**一下,不需要深入去学习JSP的各种内容,但可以了解一下。至少别人说起JSP的时候,**你能知道什么是JSP,能看懂JSP的代码**。
额外说一句:**你去到公司,可能还能看到JSP的代码**。虽然JSP是『老东西』,但我们去到公司**可能**就是维护老的项目。JSP可能不用你自己去写,但至少能看得懂,对不对。
![](https://user-gold-cdn.xitu.io/2020/3/21/170fb47a069f86e1?w=255&h=255&f=jpeg&s=9326)
问题又来了,那JSP如果是『老东西』,那被什么替代了呢?**要么就是用常见的模板引擎**『freemarker』『Thymeleaf』『Velocity』,用法其实跟『JSP』差不太多,只是它们的性能会更好。**要么前后端分离**,后端只需要返回**JSON**给前端,页面完全不需要后端管。
说了这么多,我想说的是:**“JSP还是有必要了解一下,不需要花很多时间,知道即可,这篇文章我就能带你认识JSP**”
![](https://user-gold-cdn.xitu.io/2020/3/21/170fb47a0708de9d?w=2191&h=1080&f=jpeg&s=239876)
## 什么是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长这个样:
```java
package org.apache.jsp;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import java.util.Date;
public final class _1_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {
private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
private static java.util.List
加载全部内容