JSP学习

什么是JSP

jsp全称是 java server pages。Java的服务器页面

jsp的主要作用是代替Servlet程序回传HTML页面的数据

因为Servlet程序回传HTML页面数据是一件非常繁琐的事情,开发成本极高。

jsp的本质

jsp的本质就是一个servlet程序

当我们第一次访问jsp页面的时候。tomcat服务器会帮我们把jsp页面翻译成为一个Java源文件。并且对它进行编译成.class的字节码文件。

<%@ page contentType="text/html;charset=UTF-8" language="java" %> // jsp的配置指令,可以修改jsp页面中一些重要的属性,或者行为。

  

language属性 表示jsp翻译后是什么语言文件。只支持java

contentType属性 表示jsp返回的数据数据类型是什么。也只源码中response.setContentType()参数的值

autoFlush属性 设置当out输出流缓冲区满了之后,是否自动刷新缓冲区。默认是true

buffer属性 设置out缓冲区大小。默认是8k

errorPage属性 设置当jsp页面运行时出错,自动跳转去的错误页面路径

isErrorPage属性 设置本页面是不是异常页面

session属性 设置访问当前jsp页面,是否会会创建HttpSession对象。默认是true

jsp中的常用脚本

声明脚本
<%! 脚本内容 %> 	// 声明式脚本
表达式脚本
<%= 表达式 %>

  

表达式脚本的作用是在jsp页面上输出数据

表达式脚本的特点,

  1. 所有式表达是脚本都会被翻译到_jspService()方法中

  2. 表达是脚本都被翻译为outprint输出到页面上

  3. 由于表达式脚本翻译的内容都在jspService方法中所以jspService方法中的对象都可以直接使用

代码脚本
<% 
	Java语句
%>

  

代码脚本的作用可以在jsp页面中编写自己需要的功能

代码脚本特点

  1. 代码脚本都会被翻译到_jspService()方法中

  2. 代码脚本翻译的内容都在jspService方法中所以jspService方法中的对象都可以直接使用

  3. 代码脚本还可以由多个代码脚本块组合完成一个java语句

 

jsp中的三种注释

  1. html注释

  2. java注释

  3. jsp注释 <%-- --%>

    jsp中的四个域对象

    PageContext 当前jsp页面范围有效

    Request 一次请求有效

    session 一个会话有效

    application 整个web工程有效(只要工程不停,数据都在)

    域对象是可以存储数据的对象,四个域对象功能一样,不同的是他们存取对象范围不同

    jsp中out输出和response.getWriter输出的区别

    response表示响应

    1. 执行out.flush()操作,会把out缓冲区的数据追加写入到response缓冲区的末尾

    2. 会执行response的刷新操作,将全部数据写给客户端

    由于jsp翻译后,底层源代码都是使用out输出,所以一般情况下都用out输出,避免打乱顺序

jsp常用标签

静态包含
<%@ include file="" %>

  

  1. 静态包含不会翻译被包含jsp页面的路径

  2. 静态包含其实是把被包含的jsp页面的代码拷贝到包含的位置执行输出

动态包含
<jsp:include page=""></jsp:include>

  

动态包含也可以像静态包含一样,把被包含内容执行输出到包含位置

特点:

  1. 动态包含会把jsp页面也翻译成java代码

  2. 动态包含底层代码使用调用代码执行输出

  3. 动态包含还可以传递参数

请求转发

<jsp:forward page=""></jsp:forward>

  

posted @ 2020-10-17 21:17  呦啊哈  阅读(59)  评论(0)    收藏  举报