JSP包含三种标签元素
1.声明标签(declaration tag):<% 声明 %>、<%!声明%>前者在JSP页成翻译生成.java文件时被置入jspservie()方法内。后者被置入jspservice()方法外。
2.脚本标签(scriplet tag):<% 内容%>脚本标签将被置入jspservie()方法内.
3.表达式标签(expresstion tag):<%= %>注意等于号要紧靠百分号,此标签方法结尾不能有分号,因为内部是作为参数传入out.println();方法当中的。此内容会填入response响应内容当中。
注释标签(comment tag)
1.html注释<!--内容 -->
2.java注释<%// 内容 %>
3.jsp注释<%-- 内容--%>
JSP九个隐含对象
1.request 对应servlet当中的httpservletrequest
2. response 对应servlet当中的httpservletreponse
3. out 对应servlet当中的printwriter
4.config 对应servlet当中的servletconfig
5. application 对应servlet当中的servletcontext
6.session 对应servlet当中的httpsession
说明:必需在page指令中指定session为true才能使用这个隐含对象,否则将会因为没有定义产生编译错误,这个值默认为true
<%@ page session="true" %>
7. page 对应到相应Servlet实例的this,因为是Object类型,所以需要转换为Servlet的实例,再当做Servlet来使用,可以调用servlet的所有方法。<%(servlet)page.getServletInfo()%>
8. pagecontext
9. expection
说明:必需在page指令中指定isErrorPage为true才能使用这个隐含对象,否则将会因为没有定义产生编译错误,这个值默认为false
<%@ page isErrorPage='true' %>
pageContext(page) èjavax.servlet.jsp.PageContext
说明:提供三方面的功能:
①存储了隐含变量的引用。
②提供在不同的取值范围(scopes)里设置(get和set)相应的属性(attributes)的方法。
Scopes整型数常量
static final int APPLICATION_SCOPE 表示 application scope
static final int SESSION_SCOPE 表示 session scope
static final int REQUEST_SCOPE 表示 request scope
static final int PAGE_SCOPE 表示 page scope
指定scope常量为参数的方法
void setAttribute(String name, Object object, int scope);
设置指定scope内的属性。
java.lang.Object getAttribute(String name, int scope);
返回指定scope内指定name的属性的值,没找到返回null。
void removeAttribute(String name, int scope);
删除指定scope中指定name的属性。
java.util.Enumeration getAttributeNamesIn Scope(int scope)
返回指定scope中所有的属性。
非常方便的scope相关搜索方法
Object findAttribute(java.lang.String name);
按先后顺序在 page→request→session (如果有效)→application中查找指定name的属性,并返回相应的值。
int getAttributesScope(String name);
取得指定name的属性所在的scope的值。
③提供传递请求(request)到其它应用中其它资源的方法。
void include(String relativeURL)
void forward(String relativeURL)