虽然现在前后端框架都非常多,但JSP和Servlet都还是基础,回过头来再学习一下。
JSP的基本原理
在回答这个问题之前,我们先想一下,为什么在有了Servlet之后又出现了JSP呢?其实Servlet最主要的缺点就是动态内容和静态内容融合在一起
。试想,你在写业务逻辑的时候,还要使用out.write()方法输出一大堆的html标签,开发效率可想而知。而JSP正是弥补了这样的不足,JSP可以在标准的HTML页面中嵌入Java代码,其静态的部分无须Java程序控制。下面就是一个最简单的JSP页面:
<%@ 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必须对应Servlet
第一次请求JSP页面可能会比较慢,因为要编译
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。