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程序默认继承哪个类
里面可以写属性,内部类,静态代码块
(2)表达式脚本:<%=表达式%>里面可以输出各种形式的数值和表达式
表达式脚本的特点:
1.所有的表达式脚本都会翻译到_jspService()中。
2.表达式的脚本都会out.print()输出到页面上。
3.由于表达式脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以拿来使用。
4.表达式脚本中的表达式不能以分号结束。
代码脚本特点:
1.脚本翻译后都在_jspService()方法中;
2…由于代码脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以拿来使用。
3.可以将多个脚本代码组合使用;
4.脚本代码可以和表达式脚本组合嵌套使用;
(2)java注释:
//:单行注释;
<%–注释内容–%>
jsp中的真正的注释
当jsp代码中有out和response.getWriter时,jsp页面的所有代码执行完后会做如下两个操作:
1.执行out.flash操作将out缓冲区的内容追加到response缓冲区
2.执行response.flash将response缓冲区的内容传递给客户端;
一般情况用out
out.print()可以打印任何类型的数据;
out.write()只能打印字符串;
尽量使用out.print();
尽量使用绝对路经,相对路径以斜杠开头表示webapp目录。
特点:1.不会翻译被包含的jsp页面;
2.本质是把被包含的jsp页面的代码拷贝到包含的位置执行输出;
动态包含的作用和静态包含差不多;
特点:1.动态包含会把包含的页面也翻译成Java代码;
2.动态包含调用如下代码去调用被包含的jsp页面执行输出;
JspRuntimeLibary.include(request,response,“包含页面路径”,out,false)
3。动态包含还可以传递参数;



