JSP页面组成:注释,模板,元素
注释:
HTML注释:<!- 注释内容 ->客户端可见
JSP注释:<% -- 注释内容-- %>容器忽略,转译后的java类不可见
Java注释:转译后的Servlet可见,客户端不可见
JSP元素:
1,脚本元素
除去表达式,语法要求每句后面有分号
<%=a%> == <%out.print(a);%>
<%! %>声明变量时全局的
<% %>声明变量是局部的
JSP隐藏对象
脚本元素中使用
JSP隐含对象,隐式对象,内置对象
不需要使用者声明创建,由容器维护和管理
全部为JSP保留字
2,指令元素
JSP 指令的语法为:<%@ 指令名称 属性1=“属性值1”属性2="属性值2" … 属性n="属性值n"%>
page指令:在 JSP中的任何地方、以任何顺序,一个页面可以包含任意数量的 page指令
除了import,任何的属性/值对只能出现一次
<%@page 属性1="属性值1" 属性2="属性值2" %>
JSP内置对象
输入输出:request,response,out
作用域通信:session,application,pageContext
Servlet:page,config,
错误对象:exception
注:session保存在一次会话中,一次会话包含多次请求,是一个浏览器与服务器的交互,关闭浏览器,会话结束
放在session作用域的值,跳转一直存在,使用重定向和转发都存在
application存放的值在整个服务器servlet上下文中,服务器停止的时候才会销毁
session和application中的数据都可以通过请求转发和重定向取到其属性值,request只能通过forward取到
在整个应用系统中,多数使用request,只有用户信息使用session,application基本不用
pageContext当前页的上下文,一般不会使用,页面自己可以传值
config一般只会在servlet使用
page:JSP页面本身
exception:针对错误网页,未捕捉的对象
include指令与include动作的区别
动作可以传参数,指令不能传参数
动作动态包含(编译后的java类不包含内容),指令静态包含(编译后的java类直接包含内容)