JSP

Source

JSP底层原理

在第一次发送请求时,会把jsp文件转义为java代码,并且会把java代码进一步编译为class文件,最后执行class文件。

jsp生成的java文件中的_jspService相当于Servlet当中的service方法;

作用

把页面上的静态内容(html代码),使用out.write方法进行打印,其中out对应着响应的字符输出流;而<% 代码 %>会原封不动的搬移到jsp转义生成的java代码中。所以jsp的本质还是servlet,这些都是由tomcat做的。

新的方式

jstl 标签 + EL 表达式

旧的生成动态内容的方式

  1. <% 代码 %>:称之为jsp脚本,其中的变量是方法内的局部变量;
  2. <%= 表达式 %>把某个变量或表达式输出到页面相当于out.print( 表达式 ),称之为jsp表达式
  • 使用jsp表达式获取作用域内容<%= request.getAttribute("name") %>
  • 使用el表达式获取${ name }
  1. <%! 代码 %>:jsp声明,其中的变量类的成员变量;
  2. 使代码不运行的注释<%-- 注释内容 --%>,会阻止java代码的运行,包括js标签、el表达式都可以使用;
  3. <%@ 指令名 %>
  • page:用来指明页面的内容类型和编码方式,isELIgnored="true|false"表示是否忽略EL表达式;
  • taglib:用来引入一个标签库;
  • include:用来执行一个页面的包含操作,一个jsp里包含另一个jsp;
<% include file="文件路径" %>