jsp
jsp本质上是一个servlet程序,用于代替servlet解析html回传的数据
其底层也是通过输出流,将html页面输出到servlet
jsp头部的page指令
<%@ page language="java" contentType="text/html;utf-8"%>
- language-------------表示jsp翻译后是什么语言,目前只支持java
- contentType----------表示jsp返回的数据类型
- pageEncoding---------表示当前jsp页面文件本身的字符集
- import---------------跟java源码一样,用于导包,导类
----------------------给out输出流使用--------------------- - autoFlush------------设置当out输出缓冲区满了之后,是否自动刷新缓冲区,默认是true
- buffer---------------设置out缓冲区的大小,默认是8kb
- errorPage------------设置当jsp页面出现错误,自动跳转到的错误页面路径
- isErrorPage----------设置当前jsp页面是否是错误页面,默认是false,设置为true可以获取错误信息
- session--------------设置访问当前jsp页面,是否会创建HttpSession对象。默认是true
- extends-------------设置jsp翻译出来的java类默认继承谁
jsp中的脚本
- 声明脚本
- 格式:<%! %>
- 可以在声明脚本中声明属性、内部类,静态代码块等
- 表达式脚本
- 格式:<% %>
- 例如:<%=12 %>、<%="字符串" %>
- 可以输出整形,浮点型,字符串,对象
- 特点:
- 表示式脚本会被翻译到_jspservice中
- 表达式脚本会被翻译为out.print()输出
- 表达式脚本不能以分号结尾
- 代码脚本
- 格式:<% java 语句%>
- 作用:可以再jsp中编写我们需要的功能
- 例如if语句、for循环
- 特点:
- 代码脚本都被完整的翻译到_jspservice方法中,所以_jspservice方法中的对象都可以在脚本代码中使用
- 一个完整的java语句可以由多个代码脚本组合完成
<% for(int i =0;i<6;i++){ %>
<% sout(i) %>
- 可以与表达式脚本组合使用,在jsp页面中输出数据
- 示例
jsp中的九大内置对象
- request----------------请求对象
- response---------------响应对象
- pageContext------------jso的上下文对象
- session----------------会话对象
- application------------servletContext对象
- config-----------------servletConfig对象
- out--------------------jsp输出流对象
- page-------------------指向当前jsp的对象
- exception--------------异常对象
其中的四个域对象:
PageContextImpl pageContext:当前jsp页面范围内有效
HttpServletRequest request:一次请求内有效
HttpSession session:一个会话范围内有效(打开浏览器到关闭浏览器)
ServletContext application:整个web工程内都有效(只要web工程不停止,数据都在)
这四个域对象都可以存取对象,不同的是对数据的操作范围不同
使用时的优先级为:
pageContext 》》 request》》session》》application