1.什么是session java
2.session对象数组
经常使用方法:浏览器
long getCreationTime():返回session建立时间。服务器
public String getId():返回session建立时JSP引擎为它设的惟一ID号。session
public Object setAttribute(String name,Object value):指定名称将对象绑定到次会话。app
public Object getAttribute(String name):返回与此会话中指定名称绑定在一块儿的对象,若是没有对象绑定在该名称下,则返回nulljsp
String[] getValueNames():返回一个包含此session中全部可用属性的数组。post
int getMaxInactiveInterval():返回两次请求间隔多长时间 此session被取消(单位秒)网站
3.Session的生命周期this
建立:
当客户端第一次访问某个JSP火这Servlet的时候,服务器会为当前会话建立一个SessionId,
每次客户端想服务器端发送请求时,都会将此SessionId携带携带过去,服务端会对此SessionId进行校验。
活动:
某次会话当中经过超连接打开的新页面属于同一次会话。
只有当前会话页面没有所有关闭,从新打开的浏览器窗口访问同一项目资源时属于同一次会话。
除非本次会话的全部页面都关闭后再从新访问某个JSP或者Servlet将会建立新的会话。
注意事项:原来的会话还存在,只是这个旧的SessionId仍然存在与服务端,只不过再也没有客户端会携带它交于服务端校验。
销毁:
4.application对象:
实现了用户间数据的共享,可存放全局变量。
开始于服务器的启动,终止于服务器的关闭。
在用户的先后连接或不一样用户之间的链接中,能够对application对象的同一属性进行操做。
在任何地方对application对象属性的操做,都将影响到其余用户对此的访问。
服务器的启动和关闭决定了application对象的生命。
application对象是ServletContext类的实例。
经常使用方法:
public void setAttribute(String name,Object value):使用指定名称将对象绑定。
public Object getAttribute(String name)返回此对话中的指定名称绑定在一块儿的对象,若是没有对象绑定在该名称下,则返回null.
Enumeration getAttrbuteNames()返回全部可用属性名的枚举
String getServerInfo():返回JSP(Servlet)引擎名和版本号。
5.page对象:
就是指向当前JSP页面自己,有点像类中的this指针。他是java.lang.Object类的实例。
经常使用方法:
class getClass():返回此Object的类。
int hashCode():返回此Object的hash码。
boolean equals(Object obj):判断此Object是否与指定的Object对象相等。
void copy(Object obj):把此Object拷贝到指定的Object对象中。
Object clone():克隆此Object对象。
String toString():把此Object对象转换成String类的对象。
void notify():唤醒一个等待的线程。
void notifyAll():唤醒全部等待的线程。
void wait(int timeout)使一个线程处于等待直到timeout结束或被唤醒。
void wait():使一个线程处于等待 直到被唤醒。
6.pageContext对象:
提供了对JSP页面内全部的对象及名字空间的访问。
能够访问到本页所在的session,也能够取本页面所在的application的某一属性值。
至关于页面中全部功能的集大成者。
本类名也叫pageContext.
经常使用方法
JspWriter getOut(): 返回当前客户端响应被使用的JspWriter流(out)。
HttpSession getSession():返回当前页中的HttpSession对象(session)
Object getPage(): 返回当前页的Object对象(page)
ServletRequest getRequest(): 返回当前页面的ServletRequest对象(request)
ServletResponse getResponse():返回当前页面的ServletRequest对象(response)
void setAttribute(String name,Object attribute):设置属性及属性值。
Object getAttribute(String name,int scope):在指定范围内取属性值。
int getAttributeScope(String name):返回某属性的做用范围。
void forward(String relativeUrlPath):使当前页面重导到另外一页面,
void include(String relativeUrlPath):在当前位置包含另外一文件。
7.Config对象:
config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所用到的参数(经过属性名和属性值构成)记忆服务器的有关信息(经过传递一个ServletContext对象),
经常使用方法:
ServletContext getServletContext():返回包含服务器相关信息的ServletContext对象。
String getInitParameter(String name): 返回初始化参数的值,
Enumeration getInitParameterNames():返回Servlet初始化所需 全部参数的枚举。
8.Exception对象:
使一个异常对象,当一个页面在运行过程当中发生了异常,就产生这个对象,
若是一个JSP页面要应用此对象,就必须把isErrorPage设为true,不然没法编译。
他其实是java.lang.Throwable的对象。
经常使用方法:
String getMessage():返回描述异常的消息。
String toString():返回关于异常的简短描述消息。
void pringStackTrace():显示异常和栈轨迹。
Throwable FillInStackTrace():重写异常的执行栈轨迹。
9.阶段小案例:用户登陆小例子
login.jsp
<h2>登陆界面</h2> <form action="dologin.jsp" method="post"> <label>用户名</label> <input type="text" name="name"><br> <label>密  码</label> <input type="password" name="password" vale=""><br> <input type="submit" value="登陆"> </form>
dologin.jsp
//中文乱码 request.setCharacterEncoding("utf-8"); String username=""; String password=""; username=request.getParameter("name"); password=request.getParameter("password"); if("admin".equals(username)&&"admin".equals(password)){ //传递用户名值 session.setAttribute("loginUsers",username); request.getRequestDispatcher("login_success.jsp").forward(request,response); }else { response.sendRedirect("login_failure.jsp"); }
login_success.jsp
<h2>登陆成功</h2><br> <% String ssname=""; //防止用户名为空 if(session.getAttribute("loginUsers")!=null){ ssname=session.getAttribute("loginUsers").toString(); } %> <a>欢迎会员<font color=red ><%= ssname %></font> 登陆</a>