JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术

在JSP出现之前,为了实现动态网页的效果,服务器端利用 Servlet 的输出流向客户端发送HTML标签以及HTML页面中的内容,这样导致美工不方便给html修改样式,也导致servlet非常臃肿。

  为了弥补Servlet 的缺陷,SUN公司在Servlet 的基础上推出了JSP(Java Server Pages)技术作为解决方案。由动态(嵌入的Java代码与JSP动态标签)、静态(html)组成

jsp原理

web容器(Servlet引擎)接收到以.jsp为扩展名的URL的访问请求时,它将把该访问请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。
如果这个JSP页面是第一次被访问或者这个页面被改动过时,服务器会把JSP 编译成 .java文件,当然,这个.java 就是一个servlet类,然后再把 .java 文件编译成.class 文件。因为编译会耗费一定时间,所以页面在第一次被访问或改动后被访问时会花费较长的访问时间
创建该类对象,最后由Servlet 容器调用它的service() 方法
第二次请求同一JSP时,直接调用service() 方法。
jsp原理

Tomcat 把为JSP页面创建的Servlet源文件和class类文件放置在上图位置

JSP的脚本元素
  <%!   %>      -- 不用,做全局变量出现的,翻译成全局变量
<%=   %>      -- 用,代表输出内容,不能使用分号
<%    %>      -- 用,编写语句(循环 判断),成局部变量

<table border="1">
<%
for(int i =0 ;i<3; i++){
%>
<tr>
<%
for(int j =0 ;j<3; j++){
%>
<td>1</td>
<%
}
%>
</tr>
<%
}
%>
</table>
上面的代码是用jsp的标签元素写得3行3列的表格
jsp原理