1、page指令:<%@ page 属性1="值1" 属性2="值2" ...%>
常用属性:language(指定jsp页面使用的脚本语言“java”)、import(通过该属性来引用文件)、contentType(指定页面解码方式"text/htmL,ISO-8859-1")

2、jsp格式:
执行代码:<% javacode %>
输出显示:<%=1111%>

3、jsp内置对象:
out:
println() //输出
clear() //清空缓冲区,在flush之后调用会抛出异常
clearBuffer() //清空缓冲区,在flush之后调用不会抛出异常
flush() //将缓冲区内容输出到客户端
int getBufferSize() //缓冲区字节数大小,没有数据为0
int getRemaining() //获取缓冲区剩余空间
boolean isAutoFlush()//缓冲区域满了是否自动清空
void close() //关闭输出流


request:
getParameter() //返回name指定的参数值
getParameterValues()//返回包含name的所有值数组,比如多选
setAttribute() //人为存储属性在request对象中
getAttribute() //返回之前设置在request对象中的属性值
getContentType() //获取请求体的MIME类型
getContentLength() //获取请求体长度
getRemoteAddr()//返回发送此请求的客户端ip地址
getRealPath() //返回虚拟路径的真实路径
getContextPath() //返回上下文路径
getProtocol() //返回请求协议用的类型及版本号
getServerName() //返回接受请求的服务器主机名
getServerPort() //返回接受请求的服务器端口号
getCharacterEncoding() //返回客户端请求用的编码
setCharacterEncoding() //设置表单请求传递数据的编码,解决传输数据乱码问题,但是对url传递数据无效
解决url传递中文乱码问题,要配置tomcat下的conf/server.xml
:在端口号标签末尾写入编码URIEncoding="utf-8"


reponse:
getCharacterEncoding() //返回响应客户端用的编码
setContentType() //设置返回客户端的MIME类型
PrinterWriter getWriter() //返回可以向客户端输出字符的一个对象(与out对象有差别,out对象默认的输出总是在getWriter对象之后,如果想让out输出在前,要调用out.flush()就可以了)
sendRedirect() //重定向


session:
getCreationTime() //创建时间,单位毫秒,long型
getId() //返回该ID
setAttribute() //设置信息
getAttribute()//获取信息
getValueNames() //返回一个包含此
invalidate() //销毁session
setMaxInactiveInterval();//设置session失效时间,单位秒
销毁session三种方法:
重启服务器
invalidate()
setMaxInactiveInterval();
项目根目录下配置web.xml的session-config失效时间


application:
setAttribute() //设置属性、值
getAttribute() //获取属性对应的值
Enumeration getAttributeNames()//获取所有属性的枚举(enu.hasMore..(),enu.nextxx())
getServerInfo()//返回jsp引擎名以及版本号


page:只在当前页面生效,跟object方法差不多
getClass()
hashCode()
equals()
copy()
clone()
toString()
notify()
notifyAll()
wait(timeout)
wait()


pageContext: 当前所有功能集合
JspWriter getOut()//返回当前客户端响应被使用的JspWriter(out)流
HttpSession getSession() //当前页面session对象
HttpRequest getRequest()//当前页面request对象
HttpResponse getResponse()//当前页面reponse对象
Object getPage()//当前页面page对象
vod setAttribute() //设置属性、值
object getAttribute() //获取属性对应的值
int getAttributeScope()//返回某属性作用范围
void forward() //跳转
void include()//包含某个jsp页面


config:Servlet初始化的时候,jsp向他传递信息用的,此对象包含Servlet初始化时需要的参数,以及服务器相关信息(通过传递ServletContext对象):
ServletContext getServletContext()返回ServletContext对象
getInitParameter()//返回初始化参数
Enumeration getInitParameterNames()//所有初始化参数枚举


execption:isErrorPage:true才能使用,errorPage=“error.jsp”设置异常给哪个页面使用
getMessage()//返回异常描述信息
toString() //返回关于异常简短描述信息
void printStackTrace()//异常与栈路径
Throwable FillInStackTrace()//重写异常的执行栈轨迹

4、请求转发与请求重定向:
4.1 请求重定向:客户端行为,response.sendRedirect(),本质上说请求了2次,前一次的请求对象不会保存,地址栏改变
4.2 请求转发:服务器行为,request.getRequestDispatcher().forward(request,response)试一次请求,转发后请求对象会保存,地址栏不会变


5、javabeans
5.1 javabean动作标签
5.1.1:与存取javaBean有关
<jsp:useBean>、<jsp:setProperty>、<jsp:setProperty>
5.1.2:jsp1.2就有的6个基本元素
<jsp:include>、<jsp:forward>、<jsp:param><jsp:plugin>、<jsp:params>、<jsp:fallback>
5.1.3:jsp2.0新增的与JSP DOCUMENT相关的6个元素
<jsp:root>、<jsp:declaration>、<jsp:scriptlet><jsp:expression>、<jsp:text>、<jsp:output>
5.1.4:jsp2.0新增的,用来动态生成xml元素标签值,3个
<jsp:attribute>、<jsp:body>、<jsp:element>
5.1.5:jsp2.0新增的,用在Tag File,2个元素
<jsp:invoke>、<jsp:dobody>


5.2 javabeans四个作用域范围:
page : //当前页生效
request ://request对象中
session : // session对象中
application ://全局


6 Cookie:
创建
Cookie newcookie = new Cookie(String key,Obj value)
存储
response.addCookie(newcookie)
读取
Cookie[] cookies = request.getCookies();
设置cookie有效期
void cookie.setMaxAge(int expire)
对cookie设置值
void setValue(String value)
获取cookie名称
String getName()
获取cookie值
String getValue()
获取Cookie有效时间,以秒为单位
int getMaxAge()

【注】:向cookie存中文报错,使用URLEncoder.encode编码解决,读取在解码,同时不要忘记设置setCharacterEncoding



7、jsp标签指令、动作
7.1指令:
7.1.1 inclide:
<%@ inclode file="xx.jsp" %>

7.2动作
7.2.1 include:
<jsp:include page="URL.jsp" flush="true|false">
page:页面路径
flush: 包含页面是否从缓冲区获取

7.2.2 forward:
<jsp:forward page="url.jsp"/>

7.2.3 param
<jsp:param name="参数名" value="属性值" />,常与forward以及其子标签一起用,同样用request.getParameter()接受:
<jsp:forward page="">
<jsp:param name="" value=""></jsp:param>
</jsp:forward>