虽然如今先后端框架都很是多,但JSP和Servlet都仍是基础,回过头来再学习一下。html
在回答这个问题以前,咱们先想一下,为何在有了Servlet以后又出现了JSP呢?其实Servlet最主要的缺点就是动态内容和静态内容融合在一块儿
。试想,你在写业务逻辑的时候,还要使用out.write()方法输出一大堆的html标签,开发效率可想而知。而JSP正是弥补了这样的不足,JSP能够在标准的HTML页面中嵌入Java代码,其静态的部分无须Java程序控制。下面就是一个最简单的JSP页面:java
<%@ page contentType="text/html;charset=utf-8" language="java" errorPage=""%> <html> <head> <title>第一个JSP</title> </head> <body> <%out.println(new java.util.Date());%> </body> </html>
从表面上看,JSP彷佛再也不是Java类了,但实际上每个JSP页面都对应着一个Servlet。编译的工做是由Web容器来处理的(例如Tomcat等)。其实也能够说,JSP是Servlet的一种简化。对Tomcat来讲,JSP页面生成的Servlet保存在work路径对应的Web应用下
。
JSP的工做原理以下图所示:后端
从图中咱们能够获得如下几个特色:框架
JSP必须运行在Web容器中学习
JSP必须对应Servletspa
第一次请求JSP页面可能会比较慢,由于要编译code