jsp简介:
jsp全程为java server page,作用为代替servlet回传html页面
jsp头部的page指令:
(1)language:表示翻译jsp翻译后会是什么语言,目前只支持Java;
(2)content Type:表示jsp返回的数据类型,也是源码中response.setContentType()的参数值;
(3)import:导包;
(4)autoflash:设置out输出缓存区满了后是否自动刷新缓存区,默认为ture
(5)buffer:设置out缓冲区大小,默认8kb
(6)errorPage:设置jsp页面运行出错时,当前页面自动掉转的页面
(7)iserrorPage:设置当前页面是否是错误页面,默认是false;
(8)session:设置访问当前页面,是否会创建httpSession对象,默认是ture;
(9)extends:设置jsp翻译出来的java程序默认继承哪个类
jsp的常用脚本:
( 1)声明脚本格式是:<%! java代码%>
里面可以写属性,内部类,静态代码块
(2)表达式脚本:<%=表达式%>
里面可以输出各种形式的数值和表达式
表达式脚本的特点:
1.所有的表达式脚本都会翻译到_jspService()中。
2.表达式的脚本都会out.print()输出到页面上。
3.由于表达式脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以拿来使用。
4.表达式脚本中的表达式不能以分号结束。
(3)代码脚本:<% java语句 %>
代码脚本特点:
1.脚本翻译后都在_jspService()方法中;
2…由于代码脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以拿来使用。
3.可以将多个脚本代码组合使用;
4.脚本代码可以和表达式脚本组合嵌套使用;
jsp三种常用注释
(1)html注释:
<!--注释内容-->
(2)java注释:
//:单行注释;
/**
多行注释
*/
(3)jsp注释:
<%–注释内容–%>
jsp中的真正的注释
jsp的九大内置对象:
(1)request:请求对象
(2)response:响应对象
(3)pageContext:jsp的上下文对象
(4)session:会话对象
(5)application:ServletContext对象
(6)config:Servlet Config对象
(7)out:jsp的输出流
(8)page:指向当前jsp对象
(9)exception:异常对象
jsp的四大域对象:
(1)pageContext:当前jsp页面有效;
(2)request:一次请求内有效;
(3)session:一次会话范围内有效(会话是指打开浏览器访问服务器,知道关闭浏览器)
(4)application:整个web工程内都有效(只要web工程不停,数据就在。)
范围从小到大
jsp中out和response.getWriter输出的区别:
当jsp代码中有out和response.getWriter时,jsp页面的所有代码执行完后会做如下两个操作:
1.执行out.flash操作将out缓冲区的内容追加到response缓冲区
2.执行response.flash将response缓冲区的内容传递给客户端;
一般情况用out
out.print()可以打印任何类型的数据;
out.write()只能打印字符串;
尽量使用out.print();
jsp的常用标签:
(1)jsp静态包含:<%@ include file=“路径名”%>
尽量使用绝对路经,相对路径以斜杠开头表示webapp目录。
特点:
1.不会翻译被包含的jsp页面;
2.本质是把被包含的jsp页面的代码拷贝到包含的位置执行输出;
(2)jsp动态包含:<jsp: include file=“路径名”></jsp:include>
动态包含的作用和静态包含差不多;
特点:
1.动态包含会把包含的页面也翻译成Java代码;
2.动态包含调用如下代码去调用被包含的jsp页面执行输出;
JspRuntimeLibary.include(request,response,“包含页面路径”,out,false)
3。动态包含还可以传递参数;