03013_动态页面技术-JSP

1、jsp的出现

  

2、jsp脚本和注释

  (1)jsp脚本

    ①<%java代码%> ----- 内部的java代码翻译到service方法的内部;

    ②<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() ;

    ③<%!java代码%> ---- 会被翻译成servlet的成员的内容。

 1 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
 2     pageEncoding="ISO-8859-1"%>
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 4 <html>
 5 <head>
 6 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 7 <title>Insert title here</title>
 8 </head>
 9 <body>
10     <!-- ① -->
11     <%
12         int i = 0;
13         System.out.println(i);
14     %>
15 
16     <!-- ② -->
17     <%=i%>
18 
19     <!-- ③ -->
20     <%!String str = "hello!";%>
21     <%=str%>
22 </body>
23 </html>

  (2)jsp注释:不同的注释可见范围是不同

    ①Html注释:<!--注释内容--> ----可见范围 jsp源码、翻译后的servlet、页面显示html源码;

    ②java注释://单行注释  /*多行注释*/ ---可见范围 jsp源码、翻译后的servlet ;

    ③jsp注释:<%--注释内容--%> ---可见范围 jsp源码可见 。

3、jsp运行原理-----jsp本质就是servlet

  (1)jsp在第一次被访问时会被Web容器翻译成servlet,再执行;

  (2)过程:第一次访问---->helloServlet.jsp---->helloServlet_jsp.java---->编译运行;

  (3)被翻译后的servlet在Tomcat的work目录中可以找到。

4、jsp的指令是指导jsp翻译和运行的命令,jsp包括三大指令:

  (1)page指令 --- 属性最多的指令(实际开发中page指令默认);

    ①属性最多的一个指令,根据不同的属性,指导整个页面特性;

    ②格式:<%@ page 属性名1= "属性值1" 属性名2= "属性值2" ...%> ;

    ③常用属性如下: 

language:jsp脚本中可以嵌入的语言种类 ;
pageEncoding:当前jsp文件的本身编码---内部可以包含contentType ;
contentType:response.setContentType(text/html;charset=UTF-8) ;
session:是否jsp在翻译时自动创建session ;
import:导入java的包 ;
errorPage:当当前页面出错后跳转到哪个页面 ;
isErrorPage:当前页面是一个处理错误的页面 。

  (2)include指令

    ①页面包含(静态包含)指令,可以将一个jsp页面包含到另一个jsp页面中;

    ②格式:<%@ include file="被包含的文件地址"%> 。

  (3)taglib指令

    ①在jsp页面中引入标签库(jstl标签库、struts2标签库);

    ②格式:<%@ taglib uri="标签库地址" prefix="前缀"%> 。

4、jsp九大内置/隐式对象(9个)

  (1)jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕,我们在jsp脚本中可以直接使用这9个对象;

  

  (2)out对象

    ①out的类型:JspWriter ;
    ②out作用就是想客户端输出内容----out.write() ;
    ③out缓冲区默认8kb,可以设置成0,代表关闭out缓冲区,内容直接写到respons缓冲器。

  (3)pageContext对象

    jsp页面的上下文对象,作用如下:

  

5、jsp标签(动作)

  (1)页面包含(动态包含):<jsp:include page="被包含的页面"/>;

  (2)请求转发:<jsp:forward page="要转发的资源" /> ;

  (3)静态包含与动态包含的区别?

  

原文地址:https://www.cnblogs.com/gzdlh/p/8213142.html