基础语法
语法 | 含义 |
---|---|
<%%> | 代码片段 |
<%!%> | 被写入到JSP转换后的Servlet的类中,也就是全局 |
<%=%> | 里面写变量或者一个表达式 |
<%----%> | JSP注释,注释内容不会被发送至浏览器甚至不会被编译 |
<!----> | HTML注释,通过浏览器查看网页源代码时可以看见注释内容 |
指令标签
语法 | 含义 |
---|---|
<%@ page … %> | 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include … %> | 包含其他页面 |
<%@ taglib … %> | 引入标签库的定义,可以是自定义标签 |
JSP行为
JSP行为标签使用XML语法结构来控制servlet引擎。它能够动态插入一个文件,重用JavaBean组件,引导用户去另一个页面,为Java插件产生相关的HTML等等。
语法 | 含义 |
---|---|
jsp:include | 用于在当前页面中包含静态或动态资源 |
jsp:useBean | 寻找和初始化一个JavaBean组件 |
jsp:setProperty | 设置 JavaBean组件的值 |
jsp:getProperty | 将 JavaBean组件的值插入到 output中 |
jsp:forward | 从一个JSP文件向另一个文件传递一个包含用户请求的request对象 |
jsp:plugin | 用于在生成的HTML页面中包含Applet和JavaBean对象 |
jsp:element | 动态创建一个XML元素 |
jsp:attribute | 定义动态创建的XML元素的属性 |
jsp:body | 定义动态创建的XML元素的主体 |
jsp:text | 用于封装模板数据 |
JSP隐含对象
JSP支持九个自动定义的变量,江湖人称隐含对象。
对象 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | HttpSession类的实例 |
application | ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
pageContext | PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问 |
page | 类似于Java类中的this关键字 |
exception | exception 类的对象,代表发生错误的 JSP 页面中对应的异常对象 |
<%@ include file="" %>和 <jsp:include page=""></jsp:include>的区别
前者相当于将两个页面的代码拼接在一起,两个页面不能包含同名变量。
后者则是将两个页面合在一起,在执行过程中会去执行另一个页面,而另一个页面是在自己的pageContentText中执行的。
可以用来存东西的四个对象
pageContext:与页面有关,存的东西仅在当前页面有效
request:响应,存的东西仅在一次请求中有效
session:会话,存的东西在一次会话中有效,也就是打开浏览器到关闭浏览器
application:等同于ServlerContext,存的东西只在服务器关闭或者崩溃时才失效